Respond to payment inquiry
calls the inquiryPayment API to inquire about the payment result of the Mobile Payment Partner (MPP) when Alipay+ does not receive the final payment result (success or failure) from the pay API.
Processing logic
When responding to the inquiryPayment request from Alipay+, you need to pay attention to the rules below.
- You need to return two kinds of results. The parameter result is the result of the API call and the parameter paymentResult is the result of the payment.
- If the payment order does not exist, return a result.resultStatus of
Fand result.resultCode ofORDER_NOT_EXIST. - If the payment order exists, return a result.resultStatus of
S, a result.resultCode ofSUCCESS, and a paymentResult according to your payment processing result.
- If the payment succeeds, return a paymentResult.resultStatus of
S, a paymentResult.resultCode ofSUCCESS. - If the payment is being processed, return a paymentResult.resultStatus of
U, a paymentResult.resultCode ofPAYMENT_IN_PROCESS. - If the payment fails, return a paymentResult.resultStatus of
Fand an error code that is corresponding to a specific reason.
- Recommended: If the payment is declined for risk reasons, return a paymentResult.resultCode of
RISK_REJECT. - Recommended: If the user's payment methods that are linked to the MPP are unavailable, return a paymentResult.resultCode of
UNAVAILABLE_PAYMENT_METHOD. - Recommended: If the user verification fails, return a paymentResult.resultCode of
USER_PAYMENT_VERIFICATION_FAILED. - Recommended: If the user's KYC fails, return a paymentResult.resultCode of
USER_KYC_NOT_QUALIFIED. - Recommended: If the merchant verification fails, return a paymentResult.resultCode of
MERCHANT_NOT_REGISTERED.
- If the payment is cancelled, return a paymentResult.resultStatus of
Fand a paymentResult.resultCode ofORDER_IS_CLOSED.
- When no response from the MPP is received, Alipay+ retries the inquiry request at incremental time intervals until receiving the final payment result status of
SorF, or until the payment expires.
Sample
The following sample shows the request and response of the inquiryPayment API.
Request from Alipay+ to the MPP
Alipay+ sends the payment inquiry request.
copy
{
"acquirerId": "1022188000000000001",
"pspId": "1022172000000000001",
"paymentRequestId": "20200101234567890132"
}Response from the MPP to Alipay+
The MPP returns a response that indicates a successful payment result.
copy
{
"result": {
"resultCode":"SUCCESS",
"resultStatus":"S",
"resultMessage":"Success"
},
"paymentResult": {
"resultCode":"SUCCESS",
"resultStatus":"S",
"resultMessage":"Success"
},
"paymentId":"2020010123456789013****",
"paymentTime": "2020-01-01T12:01:01+08:30",
"paymentAmount":{
"value":"100",
"currency":"JPY"
},
"payToAmount":{
"value":"1000",
"currency":"KRW"
},
"customerId":"1234567"
}Related links
For more information about how to use the inquiryPayment API (such as the field description), see inquiryPayment.