Desktop/Mobile Website Browser
Accept Philipines online banking payments on your website by redirecting shopper to bank pages. See checkout experience as below:
- The shopper chooses to pay with online banking
- The shopper selects their preferred bank on checkout page
- The shopper is redirected to selected bank
- The shopper logs in to online banking and review the order
- The shopper authorizes the payment
- The shopper is redirected to payment confirmation page
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.
Shell1curl -X POST \2 https://api.airwallex.com/api/v1/pa/payment_intents/create \3 -H 'Content-Type: application/json' \4 -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhNDc...' \5 -d '{6 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",7 "amount": 20,8 "currency": "PHP",9 "merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6"10 "return_url": "https://www.airwallex.com"11 }'
Step 2. Get available banks
Philipines Online Banking 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:
1/api/v1/pa/config/banks?payment_method_type=online_banking&country_code=TH&lang=zh
Response:
1{2 "has_more": false,3 "items": [4 {5 "name": "bpi", // Bank name to be passed to our API6 "display_name": "BPI", // For front-end to display7 "recources": {8 "logo_url": "" // .svg9 }10 }11 ]12}
Note:
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_name | Display name |
|---|---|
bpi | BPI |
Step 3. Redirect to selected bank to complete payment
When a shopper selects to pay with FPX Online Banking on their desktop/mobile browser, call the following API endpoints to get the URL in next_action to redirect the shopper to FPX payment page to complete the payment.
- Obtain URL from Airwallex and redirect shopper to Philipines Online Banking Request:
Shell1curl -X POST \2 https://api.airwallex.com/api/v1/pa/payment_intents/{id}/confirm \3 -H 'Content-Type: application/json' \4 -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhNDc...' \5 -d '{6 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",7 "payment_method": {8 "type": "online_banking",9 "online_banking": {10 "country_code": "PH",11 "bank_name": "bpi",12 }13 }14 }'
Response:
1{2 "id": "int_hkstnp6nhg1rvlqn7bb",3 "request_id": "65f37438-202e-4d3e-99c4-70eb71d16c7b",4 "amount": "20",5 "currency": "PHP",6 "merchant_order_id": "af38b82a-451c-4405-bee6-d4715bd50908",7 "descriptor": "vip8888",8 "status": "REQUIRES_CUSTOMER_ACTION",9 "captured_amount": 0,10 "latest_payment_attempt": {11 ...12 },13 "created_at": "2021-08-26T08:04:03+0000",14 "updated_at": "2021-08-26T08:06:23+0000",15 "next_action": {16 "type": "redirect",17 "method": "GET",18 "url": "https://alipayplus.com/page/checkout/...",19 }20}
- 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 Philipines Online Banking.
- Query the PaymentIntent status
You may also query the status of a payment anytime via the PaymentIntents API
1GET /payment_intents/{id}