合单支付-微信公众号、小程序下单异步通知
1、修订记录
| 修订记录 |
日期 |
说明 |
| 1.0 |
2023.08.29 |
初版 |
2、业务说明
2.1、接口说明
银盛支付对商户的请求数据处理完成后,会将处理的结果数据通过服务器主动通知的方式通知给商户网站。这些处理结果数据就是服务器异步通知参数。
注意:
1、接入方接受异步通知结果后,返回success表示该次异步通知成功,银盛将会按成功处理该次异步通知。
2、接入方接收到异步通知后,同步返回非success,银盛认为该次异步通知失败了,银盛将会再通知5次,间隔频率分别为1分钟、5分钟、10分钟、30分钟、60分钟共5次通知。凡是其中一次返回success银盛将会终止通知。
3、同样的通知可能会多次发送给接入方(例如调用接入方超时,接入方返回失败等)。
2.2、接入方接受异步通知接口的要求:
1、接受方式:POST
2、接受主体类型:application/json
3、需要对通知的数据进行验签,验签使用公钥验签,详见demo
4、必须要有一个返回值 该值为String类型。
5、接入方必须能够正确处理重复的通知,以避免函数重入造成的数据混乱。
3、异步通知报文结构
3.1、公共请求参数
| 参数 |
类型(长度) |
必填 |
参数说明 |
| timeStamp |
String |
Y |
发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" |
| src |
String |
Y |
异步通知来源,固定"pregate" |
| reqId |
String |
Y |
请求流水号 |
| charset |
String(10) |
Y |
编码格式 固定为UTF-8 |
| sign |
String |
Y |
签名,需要银盛公钥验签,详见demo |
| bizContent |
String |
Y |
业务响应数据 json字符串 |
3.2、业务请求参数
(bizContent加密前的json数据明文字符串)
| 参数 |
类型(长度) |
必填 |
参数说明 |
| state |
String |
Y |
交易状态 00: 交易成功、10: 待支付、11: 支付中(已向渠道跳转)、12: 部分支付、13: 全部已支付(担保交易使用)等待发货、14: 未确认收货(等待付款方确认)、70: 自动关闭处理中、80: 部分退款、81: 全部退款、97: 客户主动关闭、99: 到时关闭 |
| businessState |
String |
Y |
业务状态 00:交易成功、10:初始状态、11:业务待处理、12:业务处理中、50:业务处理超时、99:交易失败 |
| mercId |
String |
Y |
商户号 |
| orderId |
String |
Y |
订单号 |
| srcUserCode |
String |
Y |
发起方用户号 |
| srcAccountId |
String |
Y |
发起方账户号 |
| busiCode |
String |
Y |
业务代码 |
| msgCode |
String |
Y |
报文编码 |
| amount |
String |
Y |
交易金额(单位:元) |
| currency |
String |
Y |
币种 |
| tradeSn |
String |
Y |
交易流水号 |
| tranType |
String |
Y |
交易类型 |
| shopDate |
String |
Y |
商户日期,格式:YYYYMMDD |
| paidAmount |
Number |
Y |
真实已支付金额 |
| orderNote |
String |
Y |
订单备注 |
| tranDate |
String |
Y |
交易日期 |
| expireTime |
String |
Y |
未支付失效时间(若商户没发起,则直接填写2099-12-31) |
| orgNo |
String |
Y |
机构号 |
| paySuccessTime |
String |
Y |
支付成功时间 |
| areaInfo |
String |
Y |
地区信息 |
| dayCut |
String |
Y |
日切,格式:YYYYMMDD |
| totalDiscount |
String |
Y |
总优惠金额 |
| payAmt |
String |
Y |
买家实付金额 |
| accountType |
String |
Y |
收款方账户类型 |
| payerInfo |
String |
Y |
付款方信息 |
| payTime |
String |
Y |
交易支付时间 |
| accountDate |
String |
Y |
会计日期(yyyyMMdd) |
| isDiscount |
String |
Y |
是否参加优惠(01:参加优惠,02:未参加优惠) |
| channelSendSn |
String |
Y |
发往渠道流水 |
| channelRecvSn |
String |
Y |
渠道返回流水 |
| buyerLogonId |
String |
Y |
支付宝账号(支付宝交易时返回) |
| payMode |
String |
Y |
支付方式 |
| couponInfo |
String |
Y |
银联优惠信息 |
| alipayTrxRespCouponInfo |
String |
Y |
支付宝优惠信息 |
| wxpayCouponInfo |
String |
Y |
微信优惠信息 |
| marketingRuleInfo |
String |
Y |
营销系统返回规则,JSON字符串 |
4、接入方返回值定义
接入方返回参数为String,不返回和非success都为失败,如果接入方处理失败,可以返回处理失败原因,以供查找问题