responseRetrievalAlipay+ → MPP
The responseRetrieval API is used by Alipay+ to send the information that is required in a retrieval request to the Mobile Payment Provider (MPP), as a reply to the MPP's initiateRetrieval request. Alipay+ must send the response by using the responseRetrieval API within 20 days after the MPP's retrieval request.
Structure
A message consists of a header and body. The following sections are focused on the body structure. For the header structure, see:
Note:
1. Set the data type of each parameter (except array) as String. This means that you must use double quotation marks (" ") to enclose the parameter value. Examples:
- If the data type of a parameter is Integer and its value is 20, set it as "20".
- If the data type of a parameter is Boolean and its value is true, set it as "true".
2. For optional parameters that are not required in your case, you can take one of the following actions:
- Exclude the parameters from the request body.
- Set the parameter values as null (without the double quotation marks).
Do NOT leave the optional parameters empty by setting their values as ""; otherwise, an error might occur.
Request parameters
disputeRequestId String REQUIRED
The unique ID that is assigned by the MPP to identify a retrieval request.
More information:
- This field is an API idempotency field.For requests that are initiated with the same disputeRequestId, the MPP needs to return the same result.
- Maximum length: 64 characters
responseCode String REQUIRED
The code that reflects whether the Acquiring Partner (ACQP) has enough information and/or documents required by the MPP in the retrieval request. Valid values are:
0001
: The ACQP has all the information and/or documents required by the MPP in the retrieval request.0002
: The ACQP has part of the information and/or documents required by the MPP in the retrieval request.0003
: The ACQP has none of the information and/or documents required by the MPP in the retrieval request.
transactionReceipt TransactionReceipt
All transaction receipts of the payment.
This parameter is specified by Alipay+ if responseCode is 0001
and requestInformationType in the initiateRetrieval API is specified as TRANSACTION_RECEIPT
. However, If the value of otherDocumentation contains TRANSACTION_RECEIPT
, this parameter can be empty.
proofOfDelivery ProofOfDelivery
The document that is used to prove that the purchased product or service has been delivered as agreed, which contains information such as the delivery tracking number and the shipping information.
This parameter is specified by Alipay+ if responseCode is 0001
and requestInformationType in the initiateRetrieval API is specified by the MPP as PROOF_OF_DELIVERY
. However, if the value of otherDocumentation contains PROOF_OF_DELIVERY
, this parameter can be empty.
merchantInformation Merchant
The merchant information.
This parameter is specified by Alipay+ if responseCode is 0001
and requestInformationType in the initiateRetrieval API is specified by the MPP as MERCHANT_INFORMATION
. However, If the value of otherDocumentation contains MERCHANT_INFORMATION
, this parameter can be empty.
endUserInformation Buyer
The information of the end-user, also called the buyer.
This parameter is specified by Alipay+ if responseCode is 0001
and requestInformationType in the initiateRetrieval API is specified by the MPP as END_USER_INFORMATION
. However, if the value of otherDocumentation contains END_USER_INFORMATION
, this parameter can be empty.
otherDocumentation Array<Attachment>
The list of any other documents that are required.
This parameter is specified by Alipay+ if responseCode is 0001
and requestInformationType in the initiateRetrieval API is specified by the MPP as OTHER_INFORMATION
.
Response parameters
result Result REQUIRED
The result of the business processing, including the result status, result code, and the result message.
Request
Response
More information
How to return the result
For different business processing results at your side, return the result (specified on the result parameter) by following the instructions below.
- If the request is received successfully, set the value of result.resultStatus to
S
and the value of result.resultCode toSUCCESS
. - If the request fails to be received, set the value of result.resultStatus to
F
and specify the value of result.resultCode according to the failure reason.
For more information about how to define your result codes, see the Result codes section below.
Result/Error codes
Code | Value | Message |
---|---|---|
SUCCESS | S | Success |
ACCESS_DENIED | F | Access is denied. |
EXCEEDS_RETRIEVAL_RESPONSE_TIME_LIMIT | F | The request exceeds retrieval response time limits. |
INVALID_CLIENT | F | The client is invalid. |
INVALID_SIGNATURE | F | The signature is invalid. |
KEY_NOT_FOUND | F | The key is not found. |
MEDIA_TYPE_NOT_ACCEPTABLE | F | The server does not implement the media type that is acceptable to the client. |
METHOD_NOT_SUPPORTED | F | The server does not implement the requested HTTPS method. |
NO_INTERFACE_DEF | F | API is not defined. |
ORDER_NOT_EXIST | F | The order does not exist. |
PARAM_ILLEGAL | F | Illegal parameters. For example, non-numeric input, invalid date. |
PROCESS_FAIL | F | A general business failure occurred. Do not retry. |
REQUEST_TRAFFIC_EXCEED_LIMIT | U | The request traffic exceeds the limit. |
UNKNOWN_EXCEPTION | U | An API call failed, which is caused by unknown reasons. |