Skip to content

物流单据上传

接口信息

POST /payment/{apiKey}/tracking/upload
  • 路径参数apiKey(商户 API Key)

请求参数

参数名类型必填参与签名说明
merchantIdString商户号
trackingListArray物流单据列表
signString签名

trackingList 数组元素

字段类型必填说明
orderIdString条件必填系统交易单号(与 relationId 至少传一个)
relationIdString条件必填商家关联 ID(与 orderId 至少传一个)
trackingNoString物流单号
trackingChannelString物流渠道(如:顺丰速运、DHL、FedEx)
trackUrlString物流追踪链接

响应参数

字段类型说明
data.successCountInteger成功上传数量
data.failedCountInteger失败数量
data.failedOrdersArray失败的订单号列表
data.signString返回结果签名(用于验证返回数据真实性)

返回签名验证

响应中的 data.sign 可用于校验返回数据未被篡改:

  1. 提取 data 对象中所有字段值(排除 sign 字段本身)
  2. 按字段名首字母升序排序
  3. 依次拼接所有字段值
  4. 末尾追加商户 SecretId
  5. SHA-256 加密后与 data.sign 对比

请求示例

json
{
  "merchantId": "MERCHANT_001",
  "trackingList": [
    {
      "orderId": "TRD_20231201_001",
      "trackingNo": "SF1234567890",
      "trackingChannel": "SF Express",
      "trackUrl": "https://www.sf-express.com/tracking/SF1234567890"
    },
    {
      "relationId": "SHOP_ORDER_12345",
      "trackingNo": "DHL9876543210",
      "trackingChannel": "DHL"
    }
  ],
  "sign": "calculated_signature_here"
}

响应示例

json
{
  "rtn_code": "0000",
  "rtn_msg": "Upload successful",
  "success": true,
  "data": {
    "successCount": 2,
    "failedCount": 0,
    "failedOrders": [],
    "sign": "5097d223b249d4512a6103ce06568f2ddbfff8716c14c8465be1e543b842dc4e"
  }
}

Codrimpay