Bank Transfer Payments Guide
Customer Profile API
Learn how to use the Payment API to receive bank transfers from your user.
Overview
Each customer profile will be assigned a unique virtual account number for bank transfer payments. We check the sender's name against the customer profile's name to ensure the payment is being made to the correct virtual account. This creates a secure and seamless experience for your users and makes it easy for your team to reconcile these transactions.
Learn more about virtual accounts β
Step 1 β Display bank transfer instructions
- To provide payee details for your user, initiate a request to create a virtual bank account to obtain bank transfer instructions and display it to your user.
- For SGD virtual account, it will be created instantly.
- For USD virtual account, it will take 1 day to be activated and StraitsX will send a callback notification to you via the callback URL indicated on the StraitsX Business Dashboard when the VA status is updated.
- This enables your user to add a payee in their bank app using the fields: bank name, recipient name and bank account number.
Step 2 β Add callback URL
On a successful completion of a deposit transaction, StraitsX will send a callback notification to you via the callback URL indicated on the StraitsX Business Dashboard.
Add the callback URL on the dashboard to receive a callback when the transaction has been completed.
Step 3a β Make a mock bank transfer (Sandbox)
- In the sandbox environment, you can initiate a mock bank transfer to test the creation of a bank transfer payment
- Input a name under
source_bank_account_holder_name
to test if the sender name is matched correctly to your user's name.
Step 3b β Make a bank transfer (Production)
Bank Account Verification
Bank accounts will be verified on the first deposit when the bank name matches with the customer profile name.
To make a bank transfer payment, your users can deposit funds via their bank app. Note that if a bank transfer payment is less than the fees charged, no amount will be credited to your account.
Add payee details example
For a full list of banks supported by StraitsX, click here.
Step 4 β Confirm deposit has been received
Securing your callback
When the payment status is updated, we will send a callback to the URL indicated on the StraitsX Business Dashboard. The callback can be verified using the HMAC-SHA256
algorithm.
Learn more about how to secure your callback β
Callback Response
amount=89.35&bank_account_no=0393123432&created_at=2022-03-09T11%3A56%3A17%2B08%3A00&end_to_end_ref=test+comment&fees=0.49&id=contract_7mowjipsez3ryhs9auko03eajihpbeop&idempotency_id=ETA2022030911561153700&merchant_ref=ref_0d1w4m0xepp40&status=completed&type=Direct+bank+transfer
Parameter Name | Description | Example Value |
---|---|---|
amount | Amount transferred | 89.35 |
bank_account_no | FAST bank account number | 0393123432 |
created_at | Time of creation | 2022-03-09T11%3A56%3A17%2B08%3A00 |
end_to_end_ref | User's Transaction Notes / Comments | test+comment |
fees | Fees incurred | 0.49 |
id | Contract ID | contract_7mowjipsez3ryhs9auko03eajihpbeop |
idempotency_id | Unique ref no to prevent double transaction | ETA2022030911561153700 |
merchant_ref | Unique ID indicated in Create a virtual bank account API | ref_0d1w4m0xepp40 |
status | Transaction Status: completed/pending | completed |
type | Type of transaction | Direct+bank+transfer |
You may use the
merchant_ref
parameter to match the incoming bank transfers to verify if you have received the correct amount.
Summary
Try it out!
Getting started with StraitsX APIs is easy. Our business development and integration teams will be with you every step of the way. If you have any questions or would like to connect with our team, please do so via Support!
Updated about 1 month ago
Learn more about how to send a payout to your user's bank account.