Airwallex logo

Mobile Website Browser

Accept DANA on your mobile website by redirecting shoppers to DANA Cashier. See checkout experience as below

  1. The shopper chooses to pay with DANA and proceed payment with mobile browser
  2. The shopper login to DANA account in browser and completes the payment
  3. Payment succeeds and the shopper is redirected back to the page you designated

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.

https://pci-api.airwallex.com/api/v1/pa/payment_intents/create \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer your_bearer_token \
  -d '{
    "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
    "amount": 300,
    "currency": "IDR",
    "merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6"
  }'

Step 2. Redirect to DANA Cashier to complete payment

When a shopper selects to pay with DANA on their mobile browser, call the following API endpoints to get a e-wallet cashier URL, which you can redirect the shopper to DANA cashier to complete payment.

  1. Obtain URL from Airwallex and redirect shopper to DANA cashier

Request:

https://pci-api.airwallex.com/api/v1/pa/payment_intents/{id}/confirm \
  -H 'Content-Type: application/json' \
  -H 'client-secret: Ss3thJHPE6TyI4r-8BJFlqNz1mA7DblVuN0c8GOthnchp7Sf-_JuQnuX3sqzv7_0EiTMOs2kcGopFrMoFC0w7IzPCErJ1a0P7sFnpwB6uz-H2h_6rDhhSd2tKJF-l2myVOXQV4Zou3s_OsX6thLiUKI=" \
  -d '{
    "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
    "payment_method":
    {
      "type": "dana",
      "dana": {
        "flow": "mweb",
               "os_type": "android"
      }
    }
  }'

Response:

"next_action": {
        "type": "redirect",
        "method": "GET",
        "url": "https://globalmapi.alipay.com/gateway.do..."
    }
  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 DANA.

  1. Query the PaymentIntent status

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

GET /payment_intents/{id}