微信公众号、小程序下单异步通知

1、修订记录

修订记录 日期 说明
1.0 2023.08.30 初版

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数据明文字符串)
参数 类型(长度) 必填 参数说明
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],精确到小数点后两位
tradeNo String(20) N 银盛支付交易流水号
tradeStatus String Y 交易目前所处的状态。成功状态的值: TRADE_SUCCESS;
枚举值:
WAIT_BUYER_PAY: 交易创建,等待买家付款
TRADE_CLOSED: 在指定时间段内未支付时关闭的交易;客户主动关闭订单
TRADE_SUCCESS:交易成功,且可对该交易做操作,如:多级分润、退款等
TRADE_PART_REFUND: 部分退款成功
TRADE_ALL_REFUND: 全部退款成功
TRADE_FAILD:交易失败
TRADE_UNDEPOSIT:交易成功,商户未入账,请联系客户经理处理
accountDate String(10) N 入账的时间,格式"yyyyMMdd" 20140724
payerFee Number N 付款方手续费。单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 1.00
payeeFee Number N 收款方手续费。单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。1.00
partnerFee Number N 该笔订单的合作方手续费。单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。1.00
fee Number N 手续费总和 单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。1.00
channelSendSn String(50) N 发往渠道流水号
paygateNo String(16) N 支付网关编号。9000010:银联-微信10010001:网联-微信
channelRecvSn String(50) N 渠道返回流水号
cardType String N 卡类型。credit:信用卡;debit:借记卡
extraCommonParam String(2000) N 公用回传参数 商户自定义数据域,原样返回
isDiscount String N 是否优惠 01:参加优惠,02:未参加优惠
totalDiscount double N 参考汇总优惠金额
wxpayCouponInfo String N 微信优惠信息
3.2.1 微信优惠信息(wxpayCouponInfo)
wxpayCouponGoodDetail String N 微信优惠商品信息
3.2.2 微信优惠商品信息(wxpayCouponGoodDetail)
preferentialAmount Number N 版本3.9及以支持 示例值:样例1.2
preferentialFee Number N 版本3.9及以支持 示例值:样例0.02
marketingRuleJson String N 版本3.9及以支持

3.2.1、微信营销(wxpayCouponInfo)

参数 类型(长度) 必填 参数说明
feeType String N 标价币种,默认人民币CNY
totalFee Double Y 标价金额,订单总金额,单位为元 例:12.00
cashFeeType String N 现金支付币种,默认CNY
cashFee Double Y 现金支付金额 :订单现金支付金额(即客户实际付款金额),单位元, 例: 1.01
settlementTotalFee Double N 应结订单金额:当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额。单位元
couponFee Double N 代金券金额<=订单金额,订单金额-代金券金额=现金支付金额,单位元
ext String(32) N 附录字段
promotionDetail String Y 单品优惠活动,详细信息如下json
参考:3.2.1.1. 单品优惠活动信息(promotionDetail)

3.2.1.1、单品优惠活动信息(promotionDetail)

参数 类型(长度) 必填 参数说明
promotionId String(64) Y 券ID券或者立减优惠ID
name String(32) N 优惠名称
scope String(32) N 优惠范围 GLOBAL- 全场代金券;SINGLE- 单品优惠
type String(32) N 优惠类型COUPON- 代金券,需要走结算资金的充值型代金券,(境外商户券币种与支付币种一致)DISCOUNT- 优惠券,不走结算资金的免充值型优惠券,(境外商户券币种与标价币种一致
amount Double Y 用户享受优惠的金额(优惠券面额=微信出资金额+商家出资金额+其他出资方金额 ),单位:元, 例:5.00
activityId String(32) N 活动ID,在微信商户后台配置的批次 ID
wxpayContribute String(32) N 微信出资 特指由微信支付商户平台创建的优惠,出资金额 等于本项优惠总金额,单位为元, 例:0.00
merchantContribute String(32) N 商户出资 特指商户自己创建的优惠,出资金额等于本项优惠总金额,单位为元, 例:0.00
otherContribute String(32) N 其他出资 其他出资方出资金额,单位为元, 例:5.00

3.2.2、微信营销列表(wxpayCouponGoodDetail)

参数 类型(长度) 必填 参数说明
goodsId String(32) Y 商户商品编码,由半角的大小写字母、数字、中划线、下划线中的种或几种组成
goodsRemark String(256) N 营销单品备注
discountAmount double Y 商品优惠金额 单品的总优惠金额,单位为元 例:1.00
quantity int Y 用户购买的数量
price double Y 单位为:元。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔 100 元的订单使用了商场发的纸质优惠券 100-50,则活动商品的单价应为原单价-50) 例:5288.00
promotionId String(32) Y 券或者立减优惠id 关联 promotionDetail.promotion_id

4、接入方返回值定义

接入方返回参数为String,不返回和非success都为失败,如果接入方处理失败,可以返回处理失败原因,以供查找问题
返回值 说明
success 成功

results matching ""

    No results matching ""