Airwallex logo

WeChat Official Account

Accept WeChat Pay on your WeChat Official Account page.

Note: You need to redirect the shopper to the URL provided by Airwallex from the Wechat in-app browser.

Wechat - official account

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

Step 2. Accepting payments

When a customer selects WeChat Pay in WeChat browser, you may call the following API endpoints to get the redirect URL from the response.

  • Get the redirect url

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": "wechatpay",
      "wechatpay": {
        "flow": "jsapi"
      }
    },
    "return_url": "http://return.url"
  }'

Response: Upon confirmation, you will get next_action in response.

{
  "next_action": {
    "type": "redirect",
    "method": "GET",
    "url": "https://checkout.airwallex.com/payment?data=xxx"
  }
}
  • Handle the redirect

You will need to redirect the customer to the URL provided in the response. The shopper then enters his/her WeChat Pay PIN to confirm the payment. Once the payment is fulfilled, the shopper will be redirected to the return_url provided from your confirm request.

  • Wait for notification

Airwallex will notify you of the payment result asynchronously via webhook. Please refer to webhook documentation to configure your webhook accordingly. Although subscribing to different events is optional, it is recommended to subscribe to the payment_intent.succeeded which indicates that the customer has successfully paid for an order via WeChat Pay.

  • Query the PaymentIntent status (Optional)

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

GET /payment_intents/{id}