Airwallex logo
Airwallex logo

Desktop/Mobile Website Browser

Accept Singapore Kiosk Payments on your website by redirecting shopper to payment instruction page. See checkout process below:

  1. The shopper chooses to check out with Singapore Kiosk Payments
  2. The shopper is redirected to the payment information page where a Transaction ID and PIN Code are generated
  3. The shopper takes the Transaction ID and PIN Code to any SAM Kiosk Machine or AXS Kiosk Machine to make the payment
  4. The Kiosk machine issues a receipt
  5. The payment is confirmed and the status is updated as paid

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

Step 2. Redirect to Singapore Kiosk Payments instruction page to complete payment

When a shopper selects to pay with Singapore Kiosk Payment on their desktop/mobile browser, call the following API endpoints to get the URL in next_action to redirect the shopper to Singapore Kiosk payment page to complete the payment.

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

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 {
9 "type": "sam_kiosk", // Available valus: sam_kiosk, axs_kiosk
10 "sam_kiosk": {
11 "shopper_name": "name",
12 "shopper_email": "email address",
13 "shopper_phone": "phone number"
14 }
15 }
16 }'

Response:

Shell
1{
2 "id": "int_hksttx5fzg1rvhz9j60",
3 "request_id": "0162ed92-fec7-4967-9324-c8a5df1ee299",
4 "amount": 200,
5 "currency": "SGD",
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:00:16+0000",
14 "updated_at": "2021-08-26T08:00:26+0000",
15 "next_action": {
16 "type": "redirect",
17 "method": "GET",
18 "url": "https://www.onlinepayment.com.my/MOLPay/return_cash_sam.php",
19 }
20}
  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 Singapore Kiosk Payments.

  1. Query the PaymentIntent status

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

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