Create a first party bank transfer payout

[Available in Production/Sandbox environment] Send funds back to your user's verified bank account

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
📘

When the status of the payout is updated, a callback will be sent to the URL you configured in your business dashboard. Learn more about how to configure your callback

Sample Callback Payload for Bank Transfer Payouts
{
  "account_no": "12345678",
  "amount": 40.5,
  "arrival": "12 Mar 2024 -  9:30 AM",
  "bank_abbrev": "SCB",
  "created_at": "2024-03-12T01:30:48.420Z",
  "currency": "xsgd",
  "express": "FAST",
  "failure_reason": "",
  "fees": 0.5,
  "id": "contract_1205f142caa14d1f9e5deabfb64ec1df",
  "idempotency_id": "Test_CR001_6",
  "payout_invoice_id": "Test_CR001_6",
  "status": "completed",
  "type": "Withdrawal on behalf",
  "wallet_name": "Digital Goods"
}
{
  "account_no": "12345678",
  "amount": 50.0,
  "arrival": "11 Mar 2024 -  5:57 PM",
  "bank_abbrev": "DBS",
  "bank_account_holder_name": "Jane Doe",
  "beneficiary_address": "ABC Crescent, Singapore, Singapore, SG, 123456",
  "created_at": "2024-03-11T09:57:42.487Z",
  "currency": "usdc",
  "description": "",
  "express": "FAST",
  "failure_reason": "",
  "fees": 0.5,
  "id": "contract_123ddc11043d4b35926385c857915b4d",
  "idempotency_id": "Test_CR001_6",
  "payout_invoice_id": "Test_CR001_6",
  "status": "completed",
  "swift_bic": "DBSSSGSGXXX",
  "type": "Withdrawal on behalf",
  "wallet_name": "Digital Goods"
}
ParameterDescriptionSample ValueRemarks
account_noRecipient's bank account number12345678
amountAmount transferred40.5
arrivalTime of confirmation12+Mar+2024+-++9%3A30+AM
bank_abbrevRecipient's bank abbreviationSCB
bank_account_holder_nameRecipient's nameJane+DoeOnly applicable for USD payout
beneficiary_addressRecipient's addressABC+Crescent%2C+Singapore%2C+Singapore%2C+SG%2C+123456Only applicable for USD payout
created_atDatetime of creation2024-03-12T01%3A30%3A48.420Z
currencyCurrency of transaction: xsgd/usdcxsgd
descriptionTransaction descriptionOnly applicable for USD payout
expressLegacy fieldFAST
failure_reasonReason for transaction failure
feesTransaction fee0.5
idTransaction idcontract_1205f142caa14d1f9e5deabfb64ec1df
idempotency_idUnique idempotency id provided when triggering the payoutTest_CR001_6
payout_invoice_idSame as idempotency_idTest_CR001_6
statusTransaction status: completed/pending/cancelledcompleted
swift_bicSWIFT of the recipient's bankDBSSSGSGXXXOnly applicable for USD payout
typeType of transactionWithdrawal+on+behalf
wallet_nameWallet nameDigital+Goods

Path Params
string
required
Defaults to customer_profile_08d5ffe5-8a02-4dc2-aabb-9057b8ab3c65

Customer Profile ID is retrieved from the response id of Create Customer Profile API
Regex: /^\s*.{1,191}\s*$/

Body Params
string
required

Bank Account ID is retrieved from the response of Get a list of customer profile bank accounts API

string
enum

Accepts xsgd, xusd, sgd or usd

Allowed:
float
required

Transaction amount (Positive up to 2 d.p.). For SGD withdrawals, the maximum amount is 200k which is the FAST network limit.
Regex: /^([0-9]*[.])?[0-9]+$/

string
required

Unique reference number provided by you to prevent double transaction, this cannot be repeated.
Regex: /^\s*.{1,191}\s*$/

string

Description of this transaction (contract) according to merchant.

The following character sets are the only acceptable ones:
- Lowercase letters: a-z
- Uppercase letters: A-Z
- Numerals: 0-9
- Special characters: / - ? : ( ) . , ' +
- Space character

string

External transaction reference which will be seen by the recipient.
Regex: /^\s*.{1,150}\s*$/

string
Defaults to SHA

Charge Option (SHA or OUR)
Only applicable for withdrawals via SWIFT.

SHA (Shared Charges): You pay our fees; the beneficiary pays the agent/intermediary bank charges.
OUR (All Charges Paid by Sender): You cover all fees, including agent/intermediary bank charges, so the beneficiary receives the full amount.

Note: Please check with your commercial team to confirm the agreed pricing for both SHA and OUR before deciding which option to use.

string

Regex: /^[A-Za-z0-9]{1,6}$/

Note: Applicable to SGD payouts (via FAST network) and payments to UAE. Defaults to OTHR if omitted. Full list of supported purpose codes can be found here.

string

Regex: %r{^(https?://)?(([0-9]{1,3}(\.[0-9]{1,3}){3,5})|(([-\p{L}_0-9]{1,256}\.)+[-\p{L}_]{2,6}))(:[0-9]+)?([/?].*)?$}i

string

Accepts swift or meps or bank_transfer

Note:

  • bank_transfer: Supported only for SGD payouts via the FAST network. This is the default value for SGD.
  • meps: Available for SGD only.
  • swift: Available for both SGD and USD. This is the default value for USD.

Headers
string
required

You can retrieve this from your Dashboard Developer Tools.

Note: The X-XFERS-APP-API-KEY is a mandatory header for all authentication methods, including standard API key usage and HTTP Request Signing mode.

string

The Key ID, can be retrieved from your StraitsX Dashboard.

Note: This header attribute is required when HTTP Request Signing is enabled for your account.

string

Current Unix epoch time in seconds. Must be within ±300 seconds of server time.

Note: This header attribute is required when HTTP Request Signing is enabled for your account.

string

A unique UUID string per request, used for replay protection. Must not be reused within the timestamp window.
Regex: /\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/i

Note: This header attribute is required when HTTP Request Signing is enabled for your account.

string

Base64-encoded digital signature of the canonical request string.

Note: This header attribute is required when HTTP Request Signing is enabled for your account.

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json