反扫码支付异步通知
1、修订记录
修订记录 | 日期 | 说明 |
---|---|---|
1.0 | 2023.08.18 | 初版 |
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数据明文字符串)参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
mercId | String | Y | 商户号 |
orderId | String | Y | 订单号 |
amount | Number | Y | 交易金额(单位:元) |
currencyCode | String | Y | 币种 |
tradeSn | String | Y | 交易流水号 |
payerInfo | String | N | 付款方信息 |
settlementAmt | Number | Y | 结算金额 |
payAmt | Number | Y | 买家付款金额 |
payTime | String | Y | 交易支付时间 |
channelSendSn | String | Y | 发往渠道流水 |
channelRecvSn | String | Y | 渠道返回流水 |
buyerLogonId | String | N | 支付宝账号(支付宝交易时返回) |
remark | String | N | 备注 |
srcFee | Number | N | 发起方手续费 |
payeeFee | Number | N | 收款方手续费 |
payerFee | Number | N | 付款方手续费 |
payMode | String | N | 支付方式 |
accountDate | String | N | 会计日期(yyyyMMdd) |
dctGoodsInfo | String | N | 单品优惠信息 |
couponInfo | String | N | 银联优惠信息 |
alipayTrxRespCouponInfo | String | N | 支付宝优惠信息 |
wxpayCouponInfo | String | N | 微信优惠信息 |
srcUserCode | String | N | 发起方用户号 |
busiCode | String | N | 业务代码 00510046-聚合二维码业务代码; 00510047-聚合二维码D0业务代码; 00510028-立牌业务代码; 00510029-立牌D0业务代码; 00510032-线上订单快捷D0; 00510044-NFC订单D0业务代码; 00510023-扫码快付-d0; 00510047-聚合订单码D0业务代码; 00510046-聚合订单码T1业务代码; 00510150-合单支付交易业务代码; 00510060-数字人民币交易业务代码; 00510080-反扫D0业务代码 |
totalDiscountAmt | Number | N | 总优惠金额(元) 备注:总优惠金额 = 支付宝优惠金额+微信优惠金额+银联优惠金额+营销系统优惠金额+自主营销优惠金额 |
yscouponInfo | String | N | 包含营销系统的所有营销信息 |
openId | String | N | 微信交易的用户信息 |
userId | String | N | 支付宝、银联云闪付交易的用户信息 |
payerBankaccountType | String | N | 付款方卡类型。 credit:信用卡 debit:借记卡 |
note | String | N | 订单说明 |
3.2.1、失败时通知
参数 | 类型(长度) | 必填 | 参数说明 |
---|---|---|---|
signType | String | Y | 签名类型,请求时的签名类型RSA/SM |
sign | String | Y | 签名字符串,Base64编码 |
notifyType | String | Y | 通知类型 默认 failpay.status.sync |
notifyTime | String(19) | Y | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" 2014-07-24 03:07:50 |
orderId | String(32) | Y | 商户系统生成的订单号 示例值:6843192280647118 |
totalAmount | Number | N | 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 100 |
tradeNo | String(20) | N | 银盛交易流水号 |
tradeStatus | String | Y | 交易目前所处的状态。 成功状态的值:TRADE_SUCCESS 枚举值: WAIT_BUYER_PA:交易创建,等待买家付款 TRADE_CLOSED:在指定时间段内未支付时关闭的交易;客户主动关闭订单 TRADE_SUCCESS :交易成功,且可对该交易做操作,如:多级分润、退款等 TRADE_PART_REFUND:部分退款成功 TRADE_ALL_REFUND :全部退款成功 TRADE_FAILD:交易失败 TRADE_UNDEPOSIT:交易成功,商户未入账,请联系客户经理处理 |
resultNote | String | N | 交易结果描述,当交易失败时,保存错误描述 |
4、接入方返回值定义
接入方返回参数为String,不返回和非success都为失败,如果接入方处理失败,可以返回处理失败原因,以供查找问题返回值 | 说明 |
---|---|
success | 成功 |