Regular Payout

Overview

Payouts can be made to a payout recipient created. Different recipient types and countries will have different data requirements for a payout recipient to be valid. Similar to payments, a webhook callback will be triggered to your system to indicate the transaction status when it's updated.

Sequence Diagram

Payout Recipients

In order to create a payout, you first need to add a recipient by calling our create payout recipient endpoint. Depending on the recipient country and disbursement method, the required fields for the payout recipient are different - for bank transfer recipient, bankAccountNo and bankShortCode are required; for PayNow recipient, proxyType and proxyValue are required.

Processing Payouts

Once a recipient is added, you can create a payout request via our create regular payout endpoint to the selected recipient. A contract (i.e. transaction) will be created in pending status and returned in the response. Upon processing the payout, StraitsX will send a callback notification to you via the callback URL indicated on the StraitsX Business Dashboard. Learn more about callback configuration.

Note: At the moment, regular payout in USD is not supported.

ℹ️

Sandbox Testing

To test your integration, you could initiate a withdrawal in sandbox and mock its status. Callback will also be sent in the sandbox environment.

Webhooks

Webhook callbacks use HTTP POST request with the event in string format and expects 200 OK in the response. Each failed webhook callback is retried up to 20 times with a 5-minute interval. If you need to retrigger callback for a single contract or a list of contracts, you can do so via our callback event endpoints.

For payouts, a sample webhook callback looks like the following:

account_no=12345678&amount=40.5&arrival=12+Mar+2024+-++9%3A30+AM&bank_abbrev=SCB&created_at=2024-03-12T01%3A30%3A48.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
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