Report Logistics Information
If you pay attention to the logistics information of the transaction, you can configure the logistics reporting URL, and SHOPLINE will carry out the delivery operation at the merchant, and after filling in the necessary information, it will actively initiate an HTTP call to your logistics reporting URL. The following figure illustrates the payment app How the Logistics reporting process with SHOPLINE works:
- The merchant handles the shipment.
- SHOPLINE sends a logistics information reporting request to the payment app.
- The payment app returns SHOPLINE to process the response result.
Request logistics reporting interface
When logistics reporting is required, SHOPLINE will request the Logistics reporting Url provided by you through Http-Post;
Example request header
Corresponds to Http Request Header
pay-api-version: 1.0.0
pay-api-idempotency-key: TESTKEYKEYKEY
pay-api-signature: SIGNSIGNSIGN
pay-api-timestamp: 1665632758606000
Field | Is it required? | Description |
---|---|---|
pay-api-version | Yes | The API VERSION you filled in when configuring the payment app extension |
pay-api-idempotency-key | Yes | idempotent key |
pay-api-signature | Yes | Signature value |
pay-api-timestamp | Yes | Timestamp when the request was initiated |
Example request body
Corresponds to Http Request Body
{
"channelOrderTransactionId": "test_d0e822d9fd27",
"trackingList": [
{
"trackingNo": "test_91dd2e1a7af1",
"site": "test_46bec7ce1c23",
"handler": "test_4d545f9d9966",
"trackingStatus": "test_5275b24a93aa",
"carrier": "test_1ed2b4acffcc"
}
]
}
Field | Type | Required? | Description |
---|---|---|---|
channelOrderTransactionId | string | Yes | Channel ID of the payment order |
trackingList | Array | Yes | |
trackingList[0].trackingNo | string | Yes | shipment number |
trackingList[0].site | string | Yes | Logistics website |
trackingList[0].handler | string | No | Handler to adds the logistic information |
trackingList[0].trackingStatus | string | Yes | Logistics status |
trackingList[0].carrier | string | Yes | Logistic carrier |
Response header example
SHOPLINE must receive the expected result before it considers the call successful. If the expected result is not returned, SHOPLINE will re-initiate the request with the same parameters after a certain period of time until it finally gets the expected response or reaches the maximum number of retries.
For different logistics states of the same logistics order number, SHOPLINE may report logistics information multiple times, and the payment app should handle these requests correctly;
Corresponds to Http Response Header
pay-api-signature: SIGNSIGNSIGN
Field | Required? | Description |
---|---|---|
pay-api-signature | Yes | Signature Value |
Response body example
Corresponds to Http Responese Body
{
"returnCode": "test_ca4e7c8fe42b",
"returnMessage": "test_c76c81cec909",
"returnMessageId": "test_139a03d91582"
}
Field | Type | Required? | Description |
---|---|---|---|
returnCode | string | Yes | interface status code SUCCESS: successful request |
returnMessage | string | No | Failure reasons |
returnMessageId | string | No | Channel response identifier UUID, such as traceId |
Error loading component.