Desktop/Mobile Website Browser
Accept iDEAL payments on your website by redirecting the shopper to iDEAL payment page. See the checkout process below:
- The shopper chooses to pay with iDEAL on the checkout page
- The shopper is redirected to the payment page
- The shopper completes the payment
- The shopper is redirected to the return URL you designated
Step 1. Initialize a Payment Intent
Create a Payment Intent with the Create a Payment Intent API API.
POST /api/v1/pa/payment_intents/create
Step 2. Get available banks (optional)
This step is only required if the shopper has a known preferred bank. If the shopper is a new customer or if you do not record their preferred bank, please skip to Step 3 below.
If your shopper has a preferred bank, such as one stored in their user account, you can optionally specify it. This allows the shopper to be redirected directly to their bank’s page, bypassing the iDEAL-hosted bank selection screen.
Get a list of banks supported by iDEAL with the Get Available Bank API API.
GET /api/v1/pa/config/banks?payment_method_type=ideal
You will get a response similar to the following.
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 |
---|---|
abn_amro | ABN AMRO Bank |
asn | ASN Bank |
bunq | Bunq |
ing | ING |
knab | Knab |
n26 | N26 |
nationale_nederlanden | Nationale-Nederlanden |
rabobank | Rabobank |
regiobank | RegioBank |
revolut | Revolut |
triodos | Triodos Bank |
sns | SNS Bank |
van_lanschot_kempen | Van Lanschot Kempen |
yoursafe | Yoursafe |
Step 3. Redirect to iDEAL to complete payment
When a shopper selects to pay with iDEAL on your desktop / mobile browser, call the Confirm a Payment Intent API API to get a redirect URL.
POST /api/v1/pa/payment_intents/{id}/confirm
You will get a response similar to the following.
You should redirect the shopper to the iDEAL page with the next_action.url
returned in the confirm Payment Intent response. Shoppers will be able to continue to complete the payment on that page. If bank_name is not provided, the shopper will be redirected to an iDEAL-hosted page to select their preferred bank. If it is provided, the shopper will be redirected to a checkout page hosted by their preferred bank.
Step 4. Query the payment result status
To get the payment result, we suggest you poll the status of the Payment Intent via the Retrieve a Payment Intent API API. You may start polling the Payment Intent status after the shopper is redirected back to your website, i.e., the return_url
passed when creating the Payment Intent.
GET /api/v1/pa/payment_intents/{id}
In addition, Airwallex will notify you of the payment result asynchronously via the webhooks. Please refer to the webhook documentation to set up your webhook accordingly. Although subscribing to webhook events is optional, it is recommended to subscribe to the payment_intent.succeeded
webhook which indicates that the shopper has paid the order.