Log inGet started
Airwallex logo
Home
Online Payments
Treasury
Transactional FX
Payouts
Issuing
Scale
Open Banking
Developer Tools
API Reference
Home
Online Payments
Overview
Starting with paymentsAirwallex platform overviewOnline payments modelPricing model
Payment Methods
OverviewGlobalEU & UKAPAC
APAC RegionalAustraliaChinaHong KongIndonesia
DANADOKU WalletGoPayIndonesian ATM TransferIndonesian Bank Transfer
Desktop/Mobile Website Browser
Indonesian Convenience StoresJenius PayLinkAjaOVO
JapanKoreaMalaysiaPhilippinesSingaporeThailandTaiwan
US & LATAM

Desktop/Mobile Website Browser

Accept Indonesian bank transfer payments on your website by redirecting shopper to payment instruction page. See checkout process below:

  1. The shopper chooses to check out with Bank Transfer
  2. The shopper selects preferred bank on the checkout page and proceed payment
  3. The shopper is redirected to a page where a Payment Code is generated and displayed, along with the payment instructions
  4. The shopper completes the payment via a bank transfer on internet banking or at an ATM
  5. The shopper is redirected back to the merchant’s page where the payment result is displayed

Step 1. Initialize a Payment Intent

Create a PaymentIntent object with a request_id, amount, currency and a merchant_order_id from your backend server.

Shell

Step 2. Get available payment methods

To be able to display Indonesian Bank Transfer as a payment option on your checkout page, you need to get available payment methods from Airwallex API.

When the PaymentIntent is created, send a GET request with parameters country_code, transaction_currency, transaction_mode to API endpoint /api/v1/pa/config/payment_method_types to query for a list of available payment method based on the information provided. The response will also contain the required fields and necessary resources of each payment method for you to display them on your page.

Request:

Response: Render payment methods in items to show all available payment methods to the shopper at checkout page.

Shell
Note for available payment methods:

Alternatively, you can maintain available payment methods and corresponding resources locally on your server if you do not want to use this API endpoint. However, we highly recommend you get available payment methods dynamically from this API to avoid any trouble when payment method information or resources get updated.

Step 3. Get available banks

Indonesian Bank Transfer requires bank_name when confirming the Payment Intent, you can call this API endpoint /api/v1/pa/config/banks with payment_method_type, country_code and lang to get available bank names based on the payment method selected.

Request:

Response:

Shell
Note for available banks:

Alternatively, you can maintain a list of available banks locally on your server for payment methods that require bank_name if you do not want to use this API endpoint. However, we highly recommend you get the banks dynamically from this API to avoid any trouble when bank information or availability gets updated.

Supported banks:

bank_nameDisplay Name
mandiriBank Mandiri
danamonBank Danamon
cimb_niagaCIMB Niaga
permataPermata Bank
maybankMayBank
briBank Rakyat Indonesia
alfaAlfa-Bank
indomaretIndomaret
bcaBank Central Asia
bniBank Negara Indonesia
artajasaArtajasa

Step 4. Redirect to Indonesian Bank Transfer payment page to complete payment

When a shopper selects to pay with Indonesian Bank Transfer on their desktop/mobile browser, call the following API endpoints to get the URL which you can use to redirect the shopper to payment code and instruction page to complete the payment.

  1. Obtain URL from Airwallex and redirect shopper to payment code and instruction page

Request:

Shell

Response: Render the value of url to redirect shoppers to payment code and instruction page.

Shell
  1. Wait for notification from Airwallex

Airwallex will notify you on the payment result asynchronously via the webhook API. Please refer to webhook documentation to set up your webhook accordingly. Although subscribing to different events is optional, it is recommended to at least subscribe to the payment_intent.succeeded which indicates that the shopper has successfully paid for the order via Indonesian Bank Transfer.

  1. Query the PaymentIntent status

You may also query the status of a payment anytime via the PaymentIntents API

Shell