支付结果通知
支付完成后,系统会向商户的 notify_url 发送异步通知,商户需验证签名并处理业务逻辑。
通知类型
| 类型 | 说明 |
|---|---|
| 异步通知 (notify_url) | 服务器主动推送,需返回 success |
| 同步跳转 (return_url) | 用户浏览器跳转,仅作展示用途 |
通知参数
请求方式:GET
| 字段名 | 变量名 | 说明 |
|---|---|---|
| 商户ID | pid | 商户ID |
| 系统订单号 | trade_no | 系统订单号 |
| 商户订单号 | out_trade_no | 商户系统订单号 |
| 支付方式 | type | 支付方式 |
| 商品名称 | name | 商品名称 |
| 商品金额 | money | 商品金额 |
| 支付状态 | trade_status | TRADE_SUCCESS 为成功 |
| 签名 | sign | 签名字符串 |
| 签名类型 | sign_type | RSA2 或 MD5 |
重要
1、必须验证签名,确保通知来自本平台
2、必须验证 trade_status 为 TRADE_SUCCESS
3、验证通过后请返回 success(纯文本),否则系统会重复通知
4、同一订单可能收到多次通知,请做好幂等处理
处理示例
// PHP 示例 $pid = $_GET['pid']; $trade_no = $_GET['trade_no']; $out_trade_no = $_GET['out_trade_no']; $trade_status = $_GET['trade_status']; $sign = $_GET['sign']; // 1. 验证签名 if (!verifySign($_GET, $key)) { exit('sign error'); } // 2. 验证支付状态 if ($trade_status !== 'TRADE_SUCCESS') { exit('status error'); } // 3. 处理业务逻辑(发货、开通服务等) // ... // 4. 返回成功 echo 'success';