Airwallex logo
Airwallex logo

Desktop/Mobile Website Browser

Accept GoPay payments on your website by redirecting shopper to GoPay webpage. See checkout process below:

  1. The shopper chooses to pay with GoPay
  2. The shopper is redirected to GoPay page where order details are displayed
  3. The shopper enters their PIN to confirm the order
  4. Payment succeeds and the shopper is redirected back to the merchant’s page which displays the payment result

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
1curl -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": 500,
8 "currency": "IDR",
9 "merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6"
10 "return_url": "https://www.airwallex.com"
11 }'

Step 2. Redirect to GoPay to complete payment

When a shopper selects to pay with GoPay on their desktop/mobile browser, call the following API endpoints to get a URL, which you can use to redirect the shopper to GoPay to complete payment.

  1. Obtain URL from Airwallex and redirect shopper to GoPay

Request:

Shell
1curl -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": "go_pay",
9 "go_pay": {
10 "shopper_name": "xxxxxx",
11 }
12 }
13 }'

Response:

Shell
1{
2 "next_action": {
3 "type": "redirect",
4 "method": "GET",
5 "url": "https://r2.girogate.de/doku/T1138/I?tx=915230970&rs=k8fRV7OWb4DPKA4d1I5gTHb5s54OnFcz&cs=b6516a35d1f3a24dfb46a2be8565cb3e525decf28d8f7bb0369fadff7025027f"
6 }
7}
  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 GoPay.

  1. Query the PaymentIntent status

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

Shell
1GET /payment_intents/{id}
Was this page helpful?