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 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.