### 异步通知结果
对于API产生的交易,至尊会根据原始API中传入的异步通知地址`notify_url`,通过POST请求的形式将`json`格式的支付结果作为参数通知到商户系统。
**注:内部使用查看该文档**:[https://www.kancloud.cn/zzkpay/tongbao\_wendang/1390927](https://www.kancloud.cn/zzkpay/tongbao_wendang/1390927)
### 异步通知参数
| 参数 | 参数名称 | 类型 | 必填| 描述 |
| --- | --- |--- | --- |--- |
| notify_time | 通知时间 | Integer | 是 | 时间戳 |
| notify_id | 通知校验ID | String(32) | 是 | 通知校验ID |
| notify_type | 通知类型| Integer | 是 | 通知的类型 |
| sourceCode | 渠道标识 | Integer | 是 | 至尊分配的唯一标识 |
| order_on | 至尊交易号 | String | 是 | 交易凭证号|
| out_order | 商户订单号 | String | 是 | 原支付请求的商户订单号 |
| out_biz_no | 商户业务号 | String | 否 | 商户业务ID,主要是退款通知中返回退款申请的流水号 |
| order_time | 交易时间 | Integer | 是 | 时间戳 |
| amount | 交易金额 | Integer | 是 | 类型的交易金额,以`分`为单位 |
| passback_params | 回传参数 | String(512) | no | 公共回传参数,如果请求时传递了该参数,则返回给商户时会在异步通知时将该参数原样返回。本参数必须进行UrlEncode之后才可以发送给至尊 |
| errcode | 状态码 | String | 是 | 状态码 统一`0`为成功 |
| errmsg | 状态说明 | String | 是 | 状态说明 |
| sign | 签名 | String | 是 | 请参考[新签名算法](https://www.kancloud.cn/zzkpay/zzkpay/1224541) |
#### notify_type 通知类型
| 状态码 | 说明 |
| --- | --- |
| 1 | 余额充值 |
| 2 | 余额消费 |
| 3 | 余额退款 |
| 4 | 余额充值撤销 |
| 5 | 通宝消费 |
| 6 | 通宝通宝退款 |
| 7 | 充电余额消费 |
### 服务器异步通知页面特性
* 必须保证服务器异步通知页面(notify_url)上无任何字符,如空格、HTML标签、开发系统自带抛出的异常提示信息等;
* **只有在至尊的交易管理中存在该笔交易,且发生了交易状态的改变,至尊才会通过该方式发起服务器通知;**
* 服务器间的交互,不像页面跳转同步通知可以在页面上显示出来,这种交互方式是不可见的;
* 第一次交易状态改变(即时到账中此时交易状态是交易完成)时,不仅会返回同步处理结果,而且服务器异步通知页面也会收到至尊发来的处理结果通知;
* **程序执行完后必须打印输出“success”(不包含引号)。如果商户反馈给至尊的字符不是success这7个字符,至尊服务器会不断重发通知,直到超过24小时22分钟。一般情况下,25小时以内完成8次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h);**
* 程序执行完成后,该页面不能执行页面跳转。如果执行页面跳转,至尊会收不到success字符,会被至尊服务器判定为该页面程序运行出现异常,而重发处理结果通知;
* cookies、session等在此页面会失效,即无法获取这些数据;
* 该方式的调试与运行必须在服务器上,即互联网上能访问;
* 该方式的作用主要防止订单丢失,即页面跳转同步通知没有处理订单更新,它则去处理;
* 当商户收到服务器异步通知并打印出`success`时,服务器异步通知参数`notify_id`才会失效。也就是说在至尊发送同一条异步通知时(包含商户并未成功打印出`success`导致支付宝重发数次通知),服务器异步通知参数`notify_id`是不变的。