v1

latestOpenAPI 3.1.02026-07-2411601020.7 KB

Create a first party bank transfer payout

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

post/{customer_profile_id}/withdrawals

Path parameters

customer_profile_idstring required

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

Headers

X-XFERS-APP-API-KEYstring required

You can retrieve this from your Dashboard Developer Tools.<br><br><strong>Note:</strong> The X-XFERS-APP-API-KEY is a mandatory header for all authentication methods, including standard API key usage and HTTP Request Signing mode.

X-PUBLIC-KEY-IDstring

The Key ID, can be retrieved from your StraitsX Dashboard.<br><br><strong>Note:</strong> This header attribute is required when HTTP Request Signing is enabled for your account.

X-TIMESTAMPstring

Current Unix epoch time in seconds. Must be within ±300 seconds of server time.<br><br><strong>Note:</strong> This header attribute is required when HTTP Request Signing is enabled for your account.

X-NONCEstring

A unique UUID string per request, used for replay protection. Must not be reused within the timestamp window.<br>Regex: /\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/i<br><br><strong>Note:</strong> This header attribute is required when HTTP Request Signing is enabled for your account.

X-SIGNATUREstring

Base64-encoded digital signature of the canonical request string.<br><br><strong>Note:</strong> This header attribute is required when HTTP Request Signing is enabled for your account.

Request body

bank_account_idstring required

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

wallet_source'xusd' | 'xsgd' | 'sgd' | 'usd'

Accepts xsgd, xusd, sgd or usd

amountnumber float required

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

idempotency_idstring required

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

descriptionstring

Description of this transaction (contract) according to merchant.<br /><br />The following character sets are the only acceptable ones:<br />- Lowercase letters: a-z<br />- Uppercase letters: A-Z<br />- Numerals: **0-9 **<br />- Special characters: / - ? : ( ) . , ' +<br />- Space character

external_referencestring

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

charge_optionstring

<strong>Charge Option (SHA or OUR)</strong><br> Only applicable for withdrawals via SWIFT.<br><br> <strong>SHA (Shared Charges):</strong> You pay our fees; the beneficiary pays the agent/intermediary bank charges.<br> <strong>OUR (All Charges Paid by Sender):</strong> You cover all fees, including agent/intermediary bank charges, so the beneficiary receives the full amount.<br><br> <strong>Note:</strong> Please check with your commercial team to confirm the agreed pricing for both SHA and OUR before deciding which option to use.

purpose_codestring

Regex: /^[A-Za-z0-9]{1,6}$/<br><br><strong>Note:</strong> 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.

callback_urlstring

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

disbursement_methodstring

Accepts swift or meps or bank_transfer<br><br> <strong>Note:</strong><ul><li>bank_transfer: Supported only for SGD payouts via the FAST network. This is the default value for SGD.</li><li>meps: Available for SGD only.</li><li>swift: Available for both SGD and USD. This is the default value for USD.</li></ul>

Response

200

OR

Example response

{
  "withdrawal_request": {
    "id": "contract_1b6b81cf53ed42e4b55af63b775b3cd0",
    "type": "Withdrawal on behalf",
    "idempotency_id": "testdsdgtrfffgfggsgxsfsd",
    "amount": "100.0",
    "fees": "1.0",
    "status": "pending",
    "account_no": "08987877868",
    "bank_abbrev": "DBS",
    "currency": "xsgd",
    "express": "FAST",
    "payout_invoice_id": "testdsdgtrfffgfggsgxsfsd",
    "wallet_name": "Digital Goods",
    "created_at": "2024-03-04T09:31:35.509Z",
    "external_reference": "sample_ref"
  },
  "available_balance": 1469825.03,
  "ledger_balance": 1469825.03
}