Skip to content

    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

    WeChatPay customer experience overview

    Payengine Details - WeChat Pay

    General

    NameDetails
    Productwechat-pay
    ChannelsECOM
    CurrenciesEUR, USD
    CountriesCrossborder 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 FlowAsynchronous
    RecurringNo
    ChargebacksNo

    Supported Features & Services

    NameDetails
    DebitYes
    PreauthorizationNo
    CancelationNo
    CaptureNo
    RefundsYes
    NotificationsYes (webhook and email)
    Settlement ReportingYes - Unified Settlement Reporting

    Integration Types

    NameDetails
    APIYes
    WidgetYes
    BridgeNo
    Shop PluginNo

    Integration via API - WeChat Pay

    Technical Flow

    WeChatPay IntegrationviaAPI technicalflow

    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:

    The following events have to be subscribed for in order to receive the WeChat notifications, depending on the preferred source of notification.

    SourceEvent
    APInotificationState = UPDATED
    Merchant Centerevent 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.

    ParameterMandatory/Optional (M/O)DescriptionExample
    payment.accountHolderOThe name of the bank account holder.John Doe
    payment.countryCodeOThe country code.DE
    meta.preferredLanguageOThe preferred language.en
    localeOA 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.successUrlMRedirect URL for successful paymenthttp://my.shop.com/success
    payment.failureUrlMRedirect URL for unsuccessful paymenthttp://my.shop.com/fail
    payment.cancelUrlMRedirect URL when payment is canceledhttp://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).