正扫支付(C扫B)异步通知

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数据明文字符串)
参数 类型(长度) 必填 参数说明
notifyType String Y 通知类型 固定值directpay.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-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
tradeNo String(20) N 银盛支付交易流水号
tradeStatus String Y 交易目前所处的状态。成功状态的值:00;
枚举值:
00: 交易成功
01: 支付成功
02: 支付成功,人工入账
10: 待支付
11: 处理中,已向渠道发起
13: 全部已支付(担保交易使用)等待发货
14: 未确认收货(等待付款方确认)
50: 业务超时
80: 部分退款
81: 全部退款
93: 订单撤销
96: 交易失败
97: 客户关闭
98: 支付失败
99: 到时关闭
accountDate String(10) N 入账的时间,格式"yyyyMMdd" 20140724
openid String(128) N 子商户appid下用户唯一标识
payerFee Number N 该笔订单的付款方手续费(支付用户),单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
payeeFee Number N 该笔订单的收款方手续费(收款商户),单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
partnerFee Number N 该笔订单的合作方手续费(服务商户),单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
sumFee Number N 该笔订单的手续费总和(汇总),单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
couponInfo String N 银联二维码优惠信息,coupon_info优惠信息活动对象为多个时,coupon_info中就有多方优惠信息spnsrId出资方,值为1时银联出资,值为2时付款方出资,值为3时商户出资offstAmt优惠金额 例 [{"spnsrId": "1", "offstAmt": 1},{"spnsrId": "2", "offstAmt": 2}]
参考:3.2.1. 银联优惠信息(couponInfo)
settlementAmount Number N 结算金额 单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
channelSendSn String(50) N 发往渠道流水号
paygateNo String(16) N 支付网关编号
channelRecvSn String(50) N 渠道返回流水号
buyerUserId String N 支付宝用户Uid
buyerLogonId String N 支付宝账户
payerBankAccountNo String N 银联云闪付款方账号
extraCommonParam String N 公用回传参数 商户自定义数据域,原样返回 例 123456789
alipayTrxRespCouponInfo String N 支付宝优惠信息,版本号3.5及以上支持
参考:3.2.2 支付宝优惠信息(alipayTrxRespCouponInfo)
aliMerchantAmount String N 支付宝商家优惠金额,版本号3.5及以上支持,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
aliPlatformDisAmount String N 支付宝平台优惠金额,版本号3.5及以上支持,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
aliGoodsDetails String N 支付宝营销单品信息,版本号3.5及以上支持 List的JSON字符串
参考:3.2.3.支付宝营销信息(aliGoodsDetails)
preferentialAmount Number N 营销优惠金额 版本3.9及以支持 单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
preferentialFee Number N 营销优惠手续费 版本3.9及以支持 单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
marketingRuleJson String N 营销规则信息 版本3.9及以支持
参考:3.2.6 营销规则信息(marketingRuleJson)
cardType String N 卡类型 credit:信用卡 debit:借记卡
isDiscount String N 是否优惠 01:参加优惠,02:未参加优惠
totalDiscount String N 优惠金额汇总,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
merDiscountFee String N 商户贴息手续费,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
currency String N 币种
wxpayCouponInfo String N 微信优惠信息
3.2.4 微信优惠信息(wxpayCouponInfo)
wxpayCouponGoodDetail String N 微信优惠商品信息
3.2.5 微信优惠商品信息(wxpayCouponGoodDetail)
paySuccessTime String N 支付成功时间
tradeSource String N 交易来源
srcMercId String N 发起方商户号

3.2.1、银联优惠券信息(couponInfo)

参数 类型(长度) 必填 参数说明
amount Double Y 清算金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
origAmount Double Y 订单金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
cupQrCouponDetail Array N 优惠信息-二维码,成功的二维码类交易交易必填,活动维度的优惠展示
参考:3.2.1.1 优惠信息(CupQrCouponDetail)
issAddnData Object N 付款方附加数据,交易成功返回,商品维度的优惠展示,
参考:3.2.1.2 付款方附加数据(IssAddnData)
cupAcpCouponInfo Object N 优惠信息全渠道,成功的全渠道类交易(如:Wap,手机控件 等)必填,活动维度的优惠展示
参考:3.2.1.3. 优惠信息全渠道(CupAcpCouponInfo)

3.2.1.1、优惠信息(CupQrCouponDetail)

参数 类型(长度) 必填 参数说明
spnsrId Double Y 出资方,1:银联出资,2:付款方(比如银行)出资,3:商户出资offstAmt
offstAmt Double N 出资金额 ,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度

3.2.1.2、付款方附加数据(IssAddnData)

参数 类型(长度) 必填 参数说明
dctDetail Array Y 交易成功,且请求参数中的收款方附加信息域中的单品命中优惠。商品维度展示优惠信息。
参考:3.2.1.2.1 商品优惠信息(DctDetail)

3.2.1.2.1、商品优惠信息(DctDetail)

参数 类型(长度) 必填 参数说明
id String Y 参与优惠的商品编号
dctId String Y 优惠活动的编号
dctQuantity Integer Y 商品优惠数量,本商品数量为 10,其中 2 件参示例:本商品数量为 10,其中 2 件参
dctPrice Double Y 商品优惠金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
addnInfo String N 附加信息,内容自定义

3.2.1.3、 优惠信息全渠道(CupAcpCouponInfo)

参数 类型(长度) 必填 参数说明
discountAmt Double Y 总的优惠金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
mchtDiscountAmt Double N 商户出资金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
activityId String N 活动编号,票券编号、活动编号等,格式自定义
activityNm String N 活动简称,优惠活动简称,可用于展示、打单等
addnPrintInfo String N 活动打印信息,内容自定义

3.2.2、支付宝优惠信息(alipayTrxRespCouponInfo)

参数 类型(长度) 必填 参数说明
totalAmount Double Y 单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
receiptAmount Double Y 商家在交易中实际收到的款项,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
buyerPayAmount Double N 用户在交易中支付的金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
invoiceAmount Double N 用户在交易中支付的可开具发票的金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
pointAmount Double N 使用集分宝付款的金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
fundBillList Array Y 支付金额信息
参考:3.2.2.1. 支付金额信息(AlipayTradeFundBill)
discountGoodsDetail Array N 本次交易支付所使用的单品券优惠的商品优惠信息
参考:3.2.2.2. 商品优惠信息(DiscountGoodsDetail)
voucherDetailList Array N 本交易支付时使用的所有优惠券信息
参考:3.2.2.3. 优惠券信息(VoucherDetail)
gmtPayment String Y 交易支付时间

3.2.2.1、支付金额信息(AlipayTradeFundBill)

参数 类型(长度) 必填 参数说明
fundChannelStr String Y 交易使用的资金渠道
bankCode String N CEB
amount Double Y 单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
realAmount Double N 用户在交易中支付的可开具发票的金额 11.21,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
fundTypeStr String N 渠道所使用的资金类型,目前只在资金渠 道 (fund_channel) 是 银 行 卡 渠 道(BANKCARD)的情况下才返回该信息。DEBIT_CARD:借记卡CREDIT_CARD:信用卡MIXED_CARD:借贷合一卡

3.2.2.2、商品优惠信息(DiscountGoodsDetail)

参数 类型(长度) 必填 参数说明
goodId String(32) Y 商品的编号
discountAmount Double Y 单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
voucherId String(32) Y 卷id

3.2.2.3、优惠券信息(VoucherDetail)

参数 类型(长度) 必填 参数说明
id String Y 券 id
name String Y 券名称
typeStr String Y 券类型,当前有三种类型: ALIPAY_FIX_VOUCHER - 全场代金券 ;ALIPAY_DISCOUNT_VOUCH ER- 折扣券;ALIPAY_ITEM_VOUCHER-单品优惠注:不排除将来新增其他类型 的可能,商家接入时注意兼容性避免硬编码
amount Double Y 优惠券面额,它应该会等于商家出资加上其他出资方出资,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
merchantContribute Double N 商家出资, 特指发起交易的商家出资金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
otherContribute Double N 其他出资方出资金额, 可能是支付宝, 可能是品牌商, 或者其他方, 也可能是他们的一起出资,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
memo String N 优惠券备注信息, 学生专用优惠
templateId String N 卷模板id
otherContributeDetail Array N 优惠券的其他出资方明细
参考:3.2.2.3.1. 优惠券的其他出资方明细(ContributeDetail)
purchaseBuyerContribute Double N 用户实际付款的金额, 如果使用的这张券是用户购买的, 则该字段代表用户在购买这张券时用户实际付款的金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
purchaseMerchantContribute Double N 商户优惠的金额, 如果使用的这张券是用户购买的, 则该字段代表用户在购买这张券时商户优惠的金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
purchaseAntContribute Double N 平台优惠的金额, 如果使用的这张券是用户购买的, 则该字段代表用户在购买这张券时平台优惠的金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度

3.2.2.3.1、 优惠券的其他出资方明细(ContributeDetail)

参数 类型(长度) 必填 参数说明
contributeType String Y 出资方类型, 如品牌商出资、支付宝平台出资等
contributeAmount Double Y 券名称, 出资方金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度

3.2.3、支付宝营销信息(aliGoodsDetails)

参数 类型(长度) 必填 参数说明
goodsId String(32) Y 商品编号
alipayGoodsId String(32) N 支付宝定义的统一商品编号
goodsName String(256) N 营销单品名称
quantity String(10) N 营销单品数量 不超过10位的正整数
price String(12) Y 营销单品单价,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
goodsCategory String(24) N 营销单品类目
categoriesTree String(128) N 营销单品类目树
body String(1000) N 营销单品描述
showUrl String(400) N 营销单品展示地址

3.2.4、微信优惠信息(wxpayCouponInfo)

参数 类型(长度) 必填 参数说明
feeType String Y 标价币种,默认人民币CNY
totalFee Double Y 标价金额,订单总金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
cashFeeType String Y 现金支付币种,默认CNY
cashFee Double Y 现金支付金额 :订单现金支付金额(即客户实际付款金额),单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
settlementTotalFee Double N 应结订单金额:当订单使用了免充值型优惠券后返回该参数,应结订单金额=订单金额-免充值优惠券金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
couponFee Double N 代金券金额:代金券”金额<=订单金额,订单金额-“代金券”金额=现金支付金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
categoriesTree String(128) N 营销单品类目树
ext String(32) Y 附录字段
promotionDetail String(256) N 单品优惠活动,详细信息如下json
参考:3.2.4.1. 单品优惠活动信息(promotionDetail)

3.2.4.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 用户享受优惠的金额(优惠券面额=微信出资金额+商家出资金额+其他出资方金额 ),单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
activityId String(32) N 活动ID,在微信商户后台配置的批次 ID
wxpayContribute String(32) N 微信出资 特指由微信支付商户平台创建的优惠,出资金额 等于本项优惠总金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
merchantContribute String(32) N 商户出资 特指商户自己创建的优惠,出资金额等于本项优惠总金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
otherContribute String(32) N 其他出资 其他出资方出资金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度

3.2.5、微信优惠商品信息(wxpayCouponGoodDetail)

参数 类型(长度) 必填 参数说明
id String(64) Y 记录编号,唯一标识
tradesn String(30) Y 银盛交易流水
seq Integer(4) Y 银盛交易流水序列号
createtime String Y 记录创建时间
wxpayGoodsId String(32) N 渠道单品标识
goodsName String(256) N 营销单品名称
goodsId String(32) Y 营销单品标识
goodsRemark String(256) N 营销单品备注
quantity number N 营销单品数量
price number N 营销单品价格,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
type String(32) N 记录类型, WXRESP:微信单品营销渠道响应ALIRESP:支付宝单品营销渠道响应;UNION_PAY_RESP:银联单品营销渠道响应;
discountAmount number Y 抵扣金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度;
goodsDetailJson String(3000) N 单品营销参数JSON字符串
参考:3.2.5.1 单品营销参数(goodsDetailJson)

3.2.5.1、单品营销参数(goodsDetailJson)

一、type为“ALIRESP”时响应参数goodsDetailJson说明

参数 类型(长度) 必填 参数说明
goodId String(32) Y 商品的编号
discountAmount Double Y 抵扣金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
voucherId String(32) Y 劵id

二、type为“WXRESP”时响应参数goodsDetailJson说明

参数 类型(长度) 必填 参数说明
goodId String(32) Y 商品的编号
goodsRemark Double Y 商品备注,goods_remark 为备注字段,按照配置原样返回,字段内容在微信后台配置券时进行设置。
discountAmount Double Y 商品优惠金额,单品的总优惠金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
quantity int Y 优惠类型,用户购买的数量
price Double Y 商品价格,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔 100 元的订单使用了商场发的纸质优惠券 100-50,则活动商品的单价应为原单价-50)

三、type为“UNION_PAY_RESP”时响应参数goodsDetailJson说明

参数 类型(长度) 必填 参数说明
id String Y 参与优惠的商品编号
dctId Double Y 优惠活动的编号
dctQuantity int Y 商品优惠数量,本商品数量为 10,其中 2 件参示例:本商品数量为 10,其中 2 件参
dctPrice Double Y 商品优惠金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度。示例:商品单价10元,共 5件,其中2件参与优惠,每件优惠 3元,则本字段值为 6.00
addnInfo String N 附加信息,内容自定义

3.2.6、营销规则信息(marketingRuleJson)

参数 类型(长度) 必填 参数说明
settledt String N 清算日期,格式:yyyyMMDD
transtype String N 交易类型
amount Double N 交易金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
joinflag String N 营销活动参与标识 (00 参与,01 不参与)
discountamount Double N 优惠后交易金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
ruleid String N 营销规则编号
ruletype String N 营销规则类型 ,活动规则类型 01 交易金优惠、02 手续费优惠、03 机构手续费 、 05 双免
logno String N 流水号
numPool Integer N 活动总笔数
preferentialamount Double N 交易金优惠额度,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
preferentialfee Double N 手续费优惠额度,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
printMap String N 活动相关信息
surpluspreferamount Double N 剩余优惠金额,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
surplusprefernum Integer N 剩余优惠笔数
huaBeiStageRes Object N 分期营销响应参数
参考:3.2.6.1 分期营销响应参数(MarketingHuaBeiStageRes)

3.2.6.1、分期营销响应参数(MarketingHuaBeiStageRes)

参数 类型(长度) 必填 参数说明
fee Double N 分期优惠手续费,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度
investor String N 出资方(Y-银盛,M-商户)
investmentType String N 充值类型,1-预充值,2-免充值
fqType String N 分期类型,01:信用卡分期,00:花呗分期
stageNum Double N 分期分期数
mercFee Double N 商户贴息手续费,单位为RMB-Fen。取值范围为[1,1000000000],整数。Stirng(1,10)指10位长度

4、接入方返回值定义

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

results matching ""

    No results matching ""