Alipay+ DocsAlipay+ Docs

Accept payment

To integrate the Merchant-presented Mode Payment Entry Code Payment, the Acquiring Partner (ACQP) needs to complete the following steps.

Merchant registration

In certain countries or regions, for legal or compliance reasons, the merchant information that is related to this payment must be registered before a payment can be processed. The merchant registration process only needs to be performed once. For more information, see Registration.

Create an entry code

The Entry code is a static QR code which in fact is an encoded URL pointing to an WAP page. Users can enter an order amount on this WAP page. The following rules apply:

  • Ensure that the WAP pages can only be accessed by using the HTTPS protocol.
  • On the WAP page, the ACQP needs to provide fields to collect information such as payment amount.
  • Transfer the WAP page address (URL) ┬áinto a QR Code, which is to be printed and presented in Merchants' stores.

Note: The ACQP's WAP server must be able to identify Alipay+ supported digital wallets and retrieve other information through user-agent information in HTTPS requests.

Create a payment

A customer uses an Alipay+ supported digital wallet to scan the Entry Code and open an WAP page, and then enters the payment amount. The ACQP retrieves the payment order details form the Entry Code WAP page, and then sends a payment request to Alipay+ by using the pay interface. In response, Alipay+ returns paymentUrl to the ACQP.

The ACQP redirects the user to the page that links to paymentUrl. The user authorizes and completes the payment.

Processing logic

When you call the pay interface, pay attention to the following items:

  • To enable the merchant page to be opened in the supported wallet, the ACQP must provide the domain of the merchant page to the Alipay+ technical team for registration.
  • Check the user agent in the Entry Code WAP page request. Identify where the request comes from and decide whether to call the pay interface or route the order to other wallets. See Route the order for details.
  • Monitor the payment result notifications sent from Alipay+, or use the inquiryPayment interface to query payment results.
  • The ACQP can prepare a payment result page and configure the URL in the parameter paymentRedirectUrl, which must be an HTTPS URL. After the user confirms the payment, the user is redirected to this page, where you can present the payment result retrieved from the notifyPayment or inquiryPayment interface.

Sample

The ACQP sends a request to Alipay+.

copy
{
    "paymentExpiryTime": "2019-06-01T12:01:01+08:30",
    "paymentNotifyUrl": "http://xmock.inc.alipay.net/api/Ipay/globalSite/automtion/paymentNotify.htm",
    "paymentRequestId": "pay_1089760038715669_102775745075669",
    "paymentFactor": {
        "isInStorePayment": "true",
        "isCashierPayment": "true",
    "inStorePaymentScenario":"EntryCode"
    },
    "order": {
        "referenceOrderId": "102775745075669",
        "orderDescription": "Mi Band 3 Wrist Strap Metal Screwless Stainless Steel For Xiaomi Mi Band 3 ",
        "orderAmount": {
            "currency": "JPY",
            "value": "100"
        },
        "merchant": {
            "referenceMerchantId": "M00000000001",
            "merchantName": "cup Hu",
            "merchantMCC": "1405",
            "merchantAddress": {
                "region": "JP",
                "city": "xxx"
            },
            "store": {
                "referenceStoreId": "S00000000001",
                "storeName": "UGG-2",
                "storeMcc": "1405"
            }
        },
    "env":{
        "userAgent":"Mozilla/5.0 (Linux; Android 9; SM-G977N Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3770.143 Mobile Safari/537.36;kakaotalk 1908470"
    }
    },
    "settlementStrategy": {
        "settlementCurrency": "USD"
    },
    "paymentAmount": {
        "currency": "JPY",
        "value": "100"
    },
    "paymentMethod": {
        "paymentMethodType": "CONNECT_WALLET"
    }
}

Alipay+ returns a response to the ACQP.

copy
{
    "acquirerId": "2021228100000000",
    "result": {
        "resultCode": "PAYMENT_IN_PROCESS",
        "resultMessage": "The payment in process.",
        "resultStatus": "U"
   },
    "paymentId": "20190608114010800100188820200355883",
    "paymentAmount": {
        "value": "100",
        "currency": "JPY"
    },
  "paymentUrl": "https://render.alipay.com/p/w/ac-fe-adaptor/?ACCodeValue=281666040098X5mI31LFMzSfInzT2Ts2sO5o&loadingUrl=https%3a%2f%2frender.alipay.com%2fp%2fw%2fac-loading-page%2f"
}

More information

For more information about how to use the interface (such as the field description), see pay.

Handle payment result notifications

Alipay+ calls the notifyPayment interface to notify the ACQP about the payment result when payment reaches a final state of success or failure. After that, the ACQP needs to notify merchants of the result accordingly.

For how to receive and handle Alipay+ payment result notification, and the sample codes, see Receive payment notification.