WeChat Pay
Overview - WeChat Pay
As the most popular instant messaging app in China with over 1.08 billion monthly active user accouts as of the third quarter of 2018, WeChat builds a unique social community for its users across the globe. On top of that WeChat built their own payment sollution called WeChat Pay.
WeChat Pay is a wallet solution where customers can place their cards or bank accounts in their WeChat account and initiate payments with their mobile app. With the app the user can either scan a QR-code referencing the order or the app will be automatically opened in case the user shops with the mobile device.
Similar to Alipay there is a very high consumer trust due to the strong brand awareness and WeChat Pay is also a must-have payment method for any businesses that want to reach out to Chinese shoppers.
Customer Experience - WeChat Pay
Payengine Details - WeChat Pay
General
Name | Details |
---|---|
Product | wechat-pay |
Channels | ECOM |
Currencies | EUR, USD |
Countries | Crossborder outside of China. Supported merchant locations: AT, BE, DE, DK, FI, FR, ES, GB, GR, HU, IE, IT, IS, LI, LU, MT, NL, NO, PT, SE |
Technical Flow | Asynchronous |
Recurring | No |
Chargebacks | No |
Supported Features & Services
Name | Details |
---|---|
Debit | Yes |
Preauthorization | No |
Cancelation | No |
Capture | No |
Refunds | Yes |
Notifications | Yes (webhook and email) |
Settlement Reporting | Yes - Unified Settlement Reporting |
Integration Types
Name | Details |
---|---|
API | Yes |
Widget | Yes |
Bridge | No |
Shop Plugin | No |
Integration via API - WeChat Pay
Technical Flow
Webhook notifications
A merchant should register for the Payengine webhook notifications in order to receive the final status update. A GET on the order or DEBIT transaction would also work, but it is not ensured that the final status will be available immediately after the redirect and a merchant might have to query the GET multiple times. Therefore it is strongly recommended that the asynchronous notifications from the Payengine are used insetad.
The notifications could be subscribed:
- via the payengine API (link to API documentation)
- via the Payengine Merchant Center (link to Merchant Center notifications documentation)
The following events have to be subscribed for in order to receive the WeChat notifications, depending on the preferred source of notification.
Source | Event |
---|---|
API | notificationState = UPDATED |
Merchant Center | event type = order update success event type = order update failure
|
Specifications - WeChat Pay
WeChat input parameters
The following input parameters are required for initiating an WeChat payment via direct API integration.
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
payment.accountHolder | O | The name of the bank account holder. | John Doe |
payment.countryCode | O | The country code. | DE |
meta.preferredLanguage | O | The preferred language. | en |
locale | O | A language tag consisting of a two-letter language code combined with a two-letter country code according to [RFC 1766](https://en.wikipedia.org/wiki/IETF_language_tag). Default is en-US. | Accepted values:
en-US (English, default) zh-CN ( Simplified Chinese) zh-TW (Traditional Chinese) |
payment.successUrl | M | Redirect URL for successful payment | http://my.shop.com/success |
payment.failureUrl | M | Redirect URL for unsuccessful payment | http://my.shop.com/fail |
payment.cancelUrl | M | Redirect URL when payment is canceled | http://my.shop.com/cancel |
Samples
Debit transaction
POST /orders/debit
WeChat Pay Debit Request
{ "product" : "wechat-pay", "terms": 1468590412476, "privacy": 1468590412476,
WeChat Pay Debit Response
{ "createdAt": 1557302988909, "modifiedAt": 1557302988929, "merchantId": "merchant_a0kkl9letk",
Refund transaction
POST /orders//transactions//refund
WeChat Pay Refund Request
{ "initialAmount": 2380, "currency": "EUR", "basket": [
WeChat Pay Refund Response
{ "createdAt": 1555313878801, "modifiedAt": 1555313878807, "type": "REFUND",
Settlements
All settlement information will be provided in the Unified Settlement Report. The format and mappings can be found in the corresponding documentation (see Unified Settlement Report).