Bank Accounts Guide

Customer Profile API

📗

Learn how to add and verify a bank account for a customer profile. Bank accounts can be added, updated and deleted.

Overview

4830

Click to enlarge

curl --location --request GET 'https://sandbox.xfers.io/api/v3/banks' \
--header 'X-XFERS-APP-API-KEY: t4wsjxpwtk6o9tz20j4baj4ifwibin100py1vrvfsqh'
curl --location --request GET 'https://www.xfers.io/api/v3/banks' \
--header 'X-XFERS-APP-API-KEY: {{APP_API_KEY}}'
  • To provide options for your user to add a bank account, initiate a request to get a list of supported banks
  • This enables your user to select their bank name which would be required when adding a bank account.

Learn more about SG banks supported by StraitsX →

curl --location --request POST 'https://sandbox.xfers.io/api/v3/customer_profile/customer_profile_08d5ffe5-8a02-4dc2-aabb-9057b8ab3c65/bank_accounts' \
--header 'X-XFERS-APP-API-KEY: t4wsjxpwtk6o9tz20j4baj4ifwibin100py1vrvfsqh' \
--form 'account_no="0142186714"' \
--form 'bank="DBS"' \
--form 'account_holder_name="John Ng"'
curl --location --request POST 'https://sandbox.xfers.io/api/v3/sandbox/customer_profile/customer_profile_08d5ffe5-8a02-4dc2-aabb-9057b8ab3c65/bank_accounts' \
--header 'X-XFERS-APP-API-KEY: t4wsjxpwtk6o9tz20j4baj4ifwibin100py1vrvfsqh' \
--form 'account_no="9879879871"' \
--form 'bank="DBS"' \
--form 'account_holder_name="John Ng"'
curl --location --request POST 'https://www.xfers.io/api/v3/customer_profile/{{CP_ID}}/bank_accounts' \
--header 'Accept: application/json' \
--header 'X-XFERS-APP-API-KEY: {{APP_API_KEY}}' \
--form 'account_no="{{BANK_ACCT_NO}}"' \
--form 'bank="{{BANK_ABBV}}"' \
--form 'account_holder_name="{{USER_FULL_NAME}}"'
  • To make a bank transfer payment, your users will need to add their bank account first.
  • This enables us to match the account number of the incoming transaction with the one provided by them.
  • Once the source of payment is identified, we will process their payment automatically.

Step 3 — Verify a user's bank account

A user's bank account is verified differently depending on the API environment and the customer profile's region.

RegionEnvironmentBank Account Verification Method
SingaporeProduction1. User makes a payment to the VA to verify their bank account.
2. Name matches between user's customer profile name and bank account's name.
IndonesiaProductionWhen adding a bank account for a user, the name matches between user's customer profile name and bank account's name
AnySandboxCall Create a mock bank account verification API

curl --location --request PUT 'https://sandbox.xfers.io/api/v3/sandbox/customer_profile/customer_profile_08d5ffe5-8a02-4dc2-aabb-9057b8ab3c65/bank_accounts/?verification_status=verified' \
--header 'X-XFERS-APP-API-KEY: t4wsjxpwtk6o9tz20j4baj4ifwibin100py1vrvfsqh'
  • In the sandbox environment, you can update your bank account verification status via initiating a mock bank account verification.
  • This will move the verification_status of your bank account from pending to verified/rejected.

Step 3b — Verify a user's bank account (Production)

Singapore

To make a bank transfer payout, your users will need to have a verified bank account first. They may verify their bank account via the automated verification method.

Direct your user to provide their bank account and make a successful bank transfer from that account. This will result in the bank account being automatically verified.

SGD Bank Transfer Instructions Example
350

Bank transfer instructions UI example (Last Updated: 19 May 22)

Indonesia

To make a bank transfer payout, your users will need to have a verified bank account first. They may verify their bank account via the automated verification method.

Direct your user to provide their bank account in their name. This will result in the bank account being automatically verified.

IDR Bank Transfer Instructions Example
566

Bank transfer instructions UI example (Last Updated: 20 Jun 22)

Summary

The flowchart below displays how a user bank account can be added and verified.

4368

Click to enlarge


And that's it! You're all ready to use the Payment API and Payout API to accept payments and send payouts to your users.

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!