Skip to main content

Payout Capability

Before using the Transfer to bank API, please 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

    • The language in which the response message will be used, currently only English is supported.
    • Example value: en
    • Maximum length: 10
  • Content-Type String Required

    • The media type. Required for operations with a request body. The value is application/<format>, where format is json.
    • Example value: application/json
  • sign String Required

    Requests should be signed using private-key cryptography. This allows the payment gateway to verify that an incoming request is really from your application.

  • Partner-Id String Required

    • The merchant id of your account.
    • Example value: 200001200101
    • Maximum length: 12

Http Body

requestTime Timestamp Required

  • Required: Mandatory
  • Type: Timestamp(3)
  • Example: 1581493898000
  • Description: 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.

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 (Content-Language)

    • Required: Optional
    • Type: String(10)
    • Example: en
    • Description: en = English
  • Signature (Sign)

    • Required: Mandatory
    • Type: String
    • Example: See the response sample below for a reference.
    • Description: 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.
  • Merchant ID (Partner-Id)

    • Required: Mandatory
    • Type: String(12)
    • Example: See the response sample below for a reference.
    • Description: The unique identifier of the merchant.

Http Body


head

Attributes
  • applyStatus Enum Required

    The result of the request. The possible values are:

    • SUCCESS - Application successful.
    • FAIL - Application failed. Check the code and msg for exact reason.
    • ERROR - Application error. The signature verification failed. Please check whether the private key used for the signature and the public key uploaded on the PayBy portal are one key pair.
  • code String Required

    • Response Codes.
    • Maximum length: 10
    • Example value: 0
  • msg String

    • Description of this 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, etc.
  • fundoutCurrencyCode String

    • In this payout, the currency of the funds received by the beneficiary account.
    • Example value: AED, USD
  • networkCode String Required

    • The code of which transfer network is used in this payout.
    • Example value: LOCAL, SWIFT
  • name String Required

    • The name of which transfer network is used in this payout.
    • Example value: LOCAL, SWIFT
  • beneficiaryType String Required

    • In this payout method, the type of code that is used to identify the beneficiary account or the bank to which the beneficiary 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

CodeMessageCauseSolution
0SUCCESSSuccess
400INVALID_PARAMETERInvalid request parametersAdjust request parameters
400REQUESTTIME_TOO_EARLYRequest time is too far in the pastAdjust request time
400REQUESTTIME_TOO_LATERRequest time is too far in the futureAdjust request time
402RATE_LIMIT_REJECTToo many requestsReduce request frequency
403UNAUTHORIZEDAPI not authorizedContact PayBy
404SERVICE_NOT_AVAILABLEAPI service unavailableContact PayBy
500SYSTEM_ERRORSystem errorContact PayBy and retry later
504SERVICE_TIMEOUTService timeoutRetry later
601RISK_FAILRisk control validation failedAdjust business logic