Make a payment
After the account binding process is completed, the merchant can initiate an auto debit payment to Alipay+ with the obtained access token. Alipay+ then initiates a payment to the MPP. To make a payment to Alipay+, the MPP needs to take the following steps:
Step 1: Handle a payment request
Alipay+ calls the pay API to initiate a payment to the MPP.
Processing logic
When handling the pay API request, take the following things into consideration:
- Handle the request properly, especially the following parameters:
- paymentExpiryTime: If the payment order is not completed before the time that is specified for this parameter, Alipay+ closes the order.
- paymentMethodId: The value of this parameter is set to the value of the access token that is provided by the MPP in Step 5. Provide the access token of the Bind the user account topic.
- Ensure the following parameters are configured properly in the response:
- result.resultCode: The following table shows how to set the value of the result.resultCode parameter under different conditions.
Condition | Value of result.resultCode | Required or not |
The payment timed out. |
| Required |
The payment amount exceeds the limit of a single transaction. |
| |
The accumulated payment amount exceeds the user payment limit. |
| |
The number of payments exceeds the limit. |
| |
The access token is invalid. |
| |
The scope of the access token is incorrect. |
| |
The access token is expired. |
| |
The user's account balance is not enough. |
| |
The user does not exist. |
| |
The user status is abnormal. |
| |
The payment is declined because the user's KYC verification failed. |
| |
The payment is declined due to risk control. |
| Recommended |
The payment failed because the user has no available payment method. |
| |
The payment is declined because the user's identity verification failed. |
| |
The payment is declined because the merchant verification failed. |
|
Sample
Alipay+ sends a request to the MPP.
{
"order":{
"referenceOrderId":"OrderID_0100000101",
"orderDescription":"SHOES",
"orderAmount":{
"value":"100",
"currency":"JPY"
},
"merchant":{
"referenceMerchantId":"M00000000001",
"merchantMCC":"5411",
"merchantName":"UGG",
"merchantAddress":{
"region":"JP",
"city":"xxx"
}
}
},
"acquirerId": "1020000000000000001",
"pspId":"1020000000000000001",
"paymentRequestId":"2010000000000000000000000007771",
"paymentAmount":{
"value":"100",
"currency":"JPY"
},
"paymentMethod":{
"paymentMethodType": "CONNECT_WALLET",
"paymentMethodId": "2810000000000000000000000000JWDQ"
},
"payToAmount":{
"value":"1000",
"currency":"KRW"
},
"paymentQuote":{
"quoteId":"1234567",
"quoteCurrencyPair":"JPY/KRW",
"quotePrice":"10.0000"
},
"paymentFactor": {
"isAgreementPayment":"true"
}
}
The MPP returns the payment result to Alipay+.
{
"result": {
"resultCode":"SUCCESS",
"resultStatus":"S",
"resultMessage":"success"
},
"paymentId":"201000000000000000000000004444",
"paymentTime": "2020-01-01T12:01:01+08:30",
"customerId":"2160000000000001"
}
More information
For more information about how to handle the pay API request and send the response, see pay.
Step 2: Return the payment result
After the payment is processed, the MPP needs to inform both the user and Alipay+ of the payment result by taking the following actions:
- Display the Transaction Detail Page to the user in the MPP app. For how to design the transaction detail page, see Transaction Detail Page.
- Return the payment result to Alipay+ in the request of notifyPayment API or the response of the inquiryPayment API. For more information, see Return payment results.
Further actions
During the process of making a payment, due to special business needs, you can further take the following actions:
- Perform payment evaluation: If merchants need to verify the available funds in the MPP account before initiating a payment, Alipay+ calls the pay API to send a payment evaluation to you. In this case, you need to handle the request and return the response correctly. For more information, see Perform payment evaluation.
- Conduct risk control: When certain risks are detected in payment transactions, merchants initiate risk challenges to verify the user's identity. In this case, you need to handle requests to enable merchants to verify the user's identity. For more information, see Conduct risk control.