Airwallex logo
Airwallex logoAirwallex logo

Desktop/Mobile Website Browser

Copy for LLMView as Markdown

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 https://api-demo.airwallex.com/api/v1/pa/payment_intents/create \
2 -H 'Content-Type: application/json' \
3 -H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
4 -d '{
5 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
6 "amount": 20,
7 "currency": "SGD",
8 "merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6",
9 "return_url": "https://www.airwallex.com"
10 }'

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 https://api-demo.airwallex.com/api/v1/pa/payment_intents/{{PAYMENT_INTENT_ID}}/confirm \
    2 -H 'Content-Type: application/json' \
    3 -H 'Authorization: Bearer {{ACCESS_TOKEN}}' \
    4 -d '{
    5 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
    6 "payment_method": {
    7 "type": "sam_kiosk",
    8 "sam_kiosk": {
    9 "shopper_name": "name",
    10 "shopper_email": "email address",
    11 "shopper_phone": "phone number"
    12 }
    13 }
    14 }'

    Response:

    JSON
    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}
  2. 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.

  3. Query the PaymentIntent status

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

    GET /api/v1/pa/payment_intents/{id}

Was this page helpful?