Payout Capability
Note: Before using the Transfer to Bank API, use this API to retrieve the supported payout methods and which parameters need to be passed for each payout method.
API URL
- UAT: https://uat.test2pay.com/sgs/api/transfer/getFundoutAbilityList
- Production: https://api.payby.com/sgs/api/transfer/getFundoutAbilityList
Request
Http Header
Attributes
Content-Language String
- Language in which the response message will be used.
- Currently, only English is supported.
- Example value:
en
- Maximum length:
10
Content-Type String Required
- Media type of the request body.
- Required for operations with a request body.
- Format:
application/<format>
(e.g.,application/json
) - Example value:
application/json
sign String Required
- Request signature using private-key cryptography.
- Ensures the payment gateway can verify the request origin.
Partner-Id String Required
- Merchant ID of your account.
- Example value:
200001200101
- Maximum length:
12
Http Body
- requestTime Timestamp(3) Required
- The timestamp when the order request is initiated.
- If the request time differs from the current system time by more than 15 minutes, the request will be rejected.
- This helps prevent duplicate or outdated order submissions due to timeouts.
- Example value:
1581493898000
Request Sample
// Http Header
{
"Content-Language": "en",
"Content-Type": "application/json",
"Partner-Id": "200000018128",
"sign": "S5Wr6x9Po1SX3nm4kRJyTueUMbnmsPGMlMjc3PcoyNyP0G5BuRAwauYjTJLeto6Bu1+893zCGmj201mjrvcXP4v/uMzQxRav5PBMp9VuQ+3dOFGclQAwr8cFAKuBDHhGAAkw1iVpdC8ZZLGl/jRUv3PCiZh6VyOLnrK7ZIevB/TetQSzCmN1xDIQo8mpDYz7YY/jSzYBnD17ePvkr4qQOWNUh7FF2nd29lo9KOQl5tJVoqT/D+PVSlZeuGr+wxBYCAyGqbVXXSAGcwF1egF6ISLJ29jpHcX/LACXxF/uf5cdzbudwPB2X0wtRw9WnowY3RUq34sidoF4DIShXVFHAg=="
}
// Http Body
{
"requestTime": 1585142880000
}
Response
Http Header
Content-Language String(10) Optional
- The language of the content.
- Example value:
en
- Description:
en
= English
sign String Required
- PayBy signs each response using its private key.
- Merchants verify the signature using PayBy’s public key to ensure the response is authentic and not tampered with.
- Example value: See the response sample below for a reference.
Partner-Id String(12) Required
- The unique identifier of the merchant.
- Example value: See the response sample below for a reference.
Http Body
head
Attributes
applyStatus Enum Required
- The result of the request. Possible values:
SUCCESS
: Application successful.FAIL
: Application failed. Check thecode
andmsg
for the exact reason.ERROR
: Application error. Signature verification failed. Ensure the private key used for the signature and the public key uploaded on the PayBy portal are a valid key pair.
- The result of the request. Possible values:
code String Required
- Response code.
- Example value:
0
- Maximum length:
10
msg String
- Description of the response code.
- Maximum length:
200
traceCode String
- Internal code for locating the error.
body
Notice
Body is returned only when applystatus
= success
, and code
= 0
.
If applystatus
= error
or failed
; or applystatus
= success
, code
!=0
, that indicates an error. Please check the error against the error code table in the last section of this page and try again.
fundoutAbilityList List
Attributes of each item in the list
countryCode String Required
- The code of the country where the bank of the beneficiary account belongs.
- Example value:
UAE
,SG
,US
fundoutCurrencyCode String
- Currency of the funds received by the beneficiary account in this payout.
- Example value:
AED
,USD
networkCode String Required
- Code of the transfer network used in this payout.
- Example value:
LOCAL
,SWIFT
name String Required
- Name of the transfer network used in this payout.
- Example value:
LOCAL
,SWIFT
beneficiaryType String Required
- Type of code used to identify the beneficiary account or the bank to which the account belongs.
- Example value:
IBAN
,BBAN
Response Sample
// Http Header
{
"sign": "Yv+C2lOQmfERdm5GF9b2V4Y98HmX/6CFyconeOW36AoPqcb7InRcP9E5GnvJLfMoCScuNP4FBdJ5tJpL0A7yPHUMfxARi05jFRSMG97JJazDbWTbRkNM1ZupmTubhUvxvRCgvJp1k0c5yrHph+F+++W5eYho92xnkNgd62BS27i0iDRGzGSmsaPpK7MFcdlvnbbnmDZZJ0LH6RhYiJLYKl+znllQx3jNfCRjV28o22FZ35Q43mZTsS4uAZWbZ/KfaqWoV3sN62Cjj8DSg3mD6GCGWSVbxLq58DUxAq+6GwJ7Gj0Dc9nMXP3gnFW7dodQ9AjL2iHnH6Zh1Pw2D5/ung=="
"partner-id": "200000429066"
}
// Http Body
{
"head":{
"applyStatus":"SUCCESS",
"code":"0",
"msg":"SUCCESS",
"traceCode":"0837"
},
"body":{
"fundoutAbilityList":[
{
"beneficiaryType":"IBAN",
"name":"Local",
"networkCode":"LOCAL",
"countryCode":"UAE",
"fundoutCurrencyCode":"AED"
},
{
"beneficiaryType":"IBAN",
"name":"Local",
"networkCode":"LOCAL",
"countryCode":"UAE",
"fundoutCurrencyCode":"USD"
},
{
"beneficiaryType":"BBAN",
"name":"SWIFT",
"networkCode":"SWIFT",
"countryCode":"HK",
"fundoutCurrencyCode":"USD"
},
{
"beneficiaryType":"BBAN",
"name":"SWIFT",
"networkCode":"SWIFT",
"countryCode":"SG",
"fundoutCurrencyCode":"USD"
},
{
"beneficiaryType":"BBAN",
"name":"SWIFT",
"networkCode":"SWIFT",
"countryCode":"US",
"fundoutCurrencyCode":"USD"
}
]
}
}
Response Codes
Code | Message | Cause | Workaround |
---|---|---|---|
0 | SUCCESS | Success | — |
400 | INVALID_PARAMETER | Invalid request parameters | Adjust request parameters |
400 | REQUESTTIME_TOO_EARLY | Request time is too far in the past | Adjust request time |
400 | REQUESTTIME_TOO_LATER | Request time is too far in the future | Adjust request time |
402 | RATE_LIMIT_REJECT | Too many requests | Reduce request frequency |
403 | UNAUTHORIZED | API not authorized | Contact PayBy |
404 | SERVICE_NOT_AVAILABLE | API service unavailable | Contact PayBy |
500 | SYSTEM_ERROR | System error | Contact PayBy and retry later |
504 | SERVICE_TIMEOUT | Service timeout | Retry later |
601 | RISK_FAIL | Risk control validation failed | Adjust business logic |