简要描述:
订单异步回调接口
1.验证回调sign不参与签名
2.接收到推送之后,请返回字符串ok,否则视为不成功,将会按照时间阶梯延迟5|10|15|20|25分钟继续进行通知回调,最多回调5次。
签名算法(php demo):
/**
* 验证回调
* @param $post 请求参数
* @return bool
*/
public function verify($post)
{
$sign = $POST@['sign'] ?? '';
unset($POST@['sign']);
//卡密和物流信息 回调不签名
if (isset($POST@['card_list'])) {
unset($POST@['card_list']);
}
if (isset($POST@['express_list'])) {
unset($POST@['express_list']);
}
ksort($post); //排序post参数
try {
$newsign = sha1($POST@['time'] . json_encode($post, 256) . $this->config['pay_password']);//签名
} catch (\Throwable $e) {
}
return !empty($newsign) && $newsign == $sign;
}请求参数:
| Body 参数 | 类型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| external_orderno | string | 是 | 外部订单号 | D091952628597776580608 |
| ordersn | string | 是 | 本地订单号 | API091952628603547942912 |
| status | string | 是 | 订单状态 | 状态:2=正在处理,3=已完成,4=取消交易,5=已退款 |
| has_back_money | string | 是 | 退款金额 | 0.00 |
| total_price | string | 是 | 下单金额 | 3.05 |
| recharge_hints | string | 是 | 订单处理返回信息 | 订单处理完成,期待您的下次光临 |
| time | string | 是 | 13位时间戳(毫秒) | 1695072521534 |
| sign | string | 是 | 签名(参考上方签名算法) | 5b66465f78ed58a1da991ac3f2f0aa4c04696330 |
返回响应:
ok
返回说明:
对方返回ok即为通知成功