Airwallex logo
Airwallex logo

Mobile App - WeChat Pay

To enable App WeChat payment, additional offline review process is required, please contact your account manager for detailed information.

Accept WeChat Pay on your mobile app on your shopper’s Android or iOS phone. You will need to integrate with the WeChat Pay mobile SDK.

Wechat - mobile app

Step 1. Initialize a Payment Intent

Create a Payment Intent with the Create a Payment Intent API API.

POST /api/v1/pa/payment_intents/create

JSON
1{
2 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
3 "amount": 100,
4 "currency": "CNY",
5 "merchant_order_id": "85d7b0e0-7235-11ea-862e-9f6aa1adfca6",
6 "return_url": "your_app_scheme://api/paymentId=xxx&status=xxx"
7}

Step 2. Obtain the data to be passed to the WeChat Pay SDK

When a shopper selects to pay with WeChat Pay, call the Confirm a Payment Intent API API to get the data which will be passed to WeChat Pay SDK to invoke the WeChat Pay app.

POST /api/v1/pa/payment_intents/{id}/confirm

JSON
1{
2 "request_id": "ed11e38a-7234-11ea-aa94-7fd44ffd1b89",
3 "payment_method": {
4 "type": "wechatpay",
5 "wechatpay": {
6 "flow": "mobile_app"
7 }
8 }
9}

You will get a response similar to the following.

JSON
1{
2 // other fields omitted ...
3 "next_action": {
4 "type": "call_sdk",
5 "data": {
6 "appId": "wxce926ea78004260e",
7 "timeStamp": "1585293957",
8 "nonceStr": "GMRIbt9xxgPhNfRlhLnijtXaYbIX8yuA",
9 "prepayId": "wx07175429162447bc24fd2df6d4303c0000",
10 "partnerId": "subMerchantId",
11 "package": "Sign=WXPay",
12 "sign": "qK9sPC5sjcsxfxpRDhpUpJqLcI1tI9eirUzEpseqVITdVHbSwAs5g78rMOPkhQVtfbh8THa3pxhUyEGP5XE7UB2gcUecMdwm2aiWoypsHJuPZAVnmGzPm4kMgj5n61XRiZcTlFAyovaztgno3T5cIDTfr0t3HQEVxo1n6vFVp4O4XLpRJ6KSLckEFSaHN27GdSh91chaZL7SpEY1KlrvykyO0Wt6/HPU+RZNIIKH3S1bRwoV5ZrQZmwELDj7TLKK0mK32z8SA6guLp2geqz45KziUWzIqA51ZM7YUZP5TPRxBu1XqTqZe5RzRIAn9SDhA7DbqDk0pgoiK5g=="
13 }
14 }
15}

Step 3. Redirect the shopper to WeChat Pay to complete the payment

Pass what you get in the previous step to the WeChat Pay mobile SDK by following the WeChat Pay official integration guide . After the shopper completes the payment, WeChat will redirect the shopper to your app and do a callback.

Step 4. Query the payment result status

To get the payment result, we suggest you poll the status of the Payment Intent via the Retrieve a Payment Intent API API. You may start polling the Payment Intent status after the shopper is redirected back to your mobile app, i.e., the return_url passed when creating the Payment Intent.

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

In addition, Airwallex will notify you of the payment result asynchronously via the webhooks. Please refer to the webhook documentation to set up your webhook accordingly. Although subscribing to webhook events is optional, it is recommended to subscribe to the payment_intent.succeeded webhook which indicates that the shopper has paid the order.

Was this page helpful?