Airwallex logo
Airwallex logoAirwallex logo

Desktop/Mobile Website Browser

Copy for LLMView as Markdown

Accept OVO payments on your website by redirecting shopper to OVO payment page. See checkout process below:

  1. The shopper chooses to pay with OVO at merchant checkout page
  2. The shopper enters the phone number linked to their OVO wallet
  3. A push notification is sent to shopper’s OVO app and the shopper is prompted to continue the payment via OVO mobile app
  4. The shopper confirms the payment in OVO app
  5. The payment page in browser automatically refreshes after payment is confirmed

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

Step 2. Redirect to OVO payment page to complete payment

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

Note:

The Payment Intent must have at least one product, with name, quantity and price.

  1. Obtain URL from Airwallex and redirect shopper to OVO payment 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": "ovo",
    8 "ovo": {
    9 "shopper_name": "xxxxxx",
    10 "shopper_email": "[email protected]"
    11 }
    12 }
    13 }'

    Response:

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

  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?