接口介绍
【接口升级改造说明】尊敬的合作伙伴: 接微信通知,为了严格落实《中国人民银行关于进一步加强支付结算管理防范电信网络新型违法犯罪有关事项的通知》(“85号文”)和相关监管要求,更好地保护消费者合法权益,完善支付风险防控体系,微信将升级“APP支付”和“NATIVE支付”的风险防控措施。 我司将配合微信风险防控,对接口进行升级。请各合作伙伴在2019年9月15日前按照以下指引完成升级改造,改造方式如下: 【将原有调用“扫码支付”接口统一调整为“H5支付接口”】 1)扫码支付接口(command:open.api.qrcode) :http://wiki.caibaopay.com/jie-kou-lie-biao/sao-ma-zhi-fu.html 2)H5支付接口(command:open.api.h5):http://wiki.caibaopay.com/jie-kou-lie-biao/h5zhi-fu.html 逾期未能按照上述指引完成升级改造的,商户将无法再使用扫码支付接口完成微信订单的支付扫码支付接口, 本接口会返回一个二维码的内容(是一个url),消费者通过支付宝、微信(部分收款渠道)直接打开这个url可以进行付款。
特别注意: 微信官方、网商银行微信 生成的这个url,必须通过微信扫一扫打开才能进行付款
支持收款通道:微信官方、支付宝官方、网商银行。
参数简介
参数名 | 参数类型 | 参数介绍 | 是否必填 | 是否参与签名 |
---|---|---|---|---|
command | String(32) | 接口名,用于标识调用哪个接口,扫码支付:open.pay.scan | 是 | 否 |
operator_id | String(32) | 收银员的id,用于标识收款账户 | 是 | 是 |
app | String(32) | 接入商标识 | 是 | 是 |
version | Double | 接口版本号,默认值1.0,当前值只能为1.0和1.1会影响返回值,详情请见返回值部分 | 是 | 否 |
sign | String(32) | 签名,详见请求签名规则 | 是 | 否 |
local_order_no | String(64) | 接入方的本地订单号,接入方请保证这个订单号的唯一性, 采宝不进行唯一性校验,如果订单号不唯一,不能进行支付 | 是 | 是 |
channel | Integer | 支付渠道1:支付宝,2:微信 | 是 | 是 |
amount | Long | 订单总额,以分为单位 | 是 | 是 |
un_discount_amount | Long | 不参与优惠金额,以分为单位 | 否 | 是 |
timestamp | Long | 时间戳,值为当前时间距离19700101的毫秒数 | 是 | 是 |
subject | String(20) | 订单描述,小于20个汉字 | 否 | 是 |
goods_list | String(4096) | 商品列表 | 否 | 是 |
notify_url | String(256) | 支付成功之后的回调地址,具体请参照:支付完成之后的通知 | 否 | 否 |
device_create_ip | String(32) | 发起支付服务器或终端IP地址 | 否 | 是 |
wx_hospital_scene | String(64) | 微信医疗场景 | 否 | 否 |
goods_list 介绍
goods_list是商品列表信息, 传入此值后会自动统计商品的销量等信息,并且会被放入订单中。 格式为json格式, 举例如下:
[
{
"goods_id":"", ## 商品id,可空
"goods_num":"", ## 商品编号,这个值用于传入到微信、支付宝等, 用于支持单品券的核销,可空
"goods_name":"", ## 商品名称,可空
"sell_amount":"", ## 卖出数量,不可为空
"goods_price":"", ## 商品单价,不可为空
"goods_sku_id":"" ## 卖出的sku的id,可空
},
{
"goods_id":"", ## 商品id,可空
"goods_num":"", ## 商品编号,这个值用于传入到微信、支付宝等, 用于支持单品券的核销,可空
"goods_name":"", ## 商品名称,可空
"sell_amount":"", ## 卖出数量,不可为空
"goods_price":"", ## 商品单价,不可为空
"goods_sku_id":"" ## 卖出的sku的id,可空
},
{
"goods_id":"", ## 商品id,可空
"goods_num":"", ## 商品编号,这个值用于传入到微信、支付宝等, 用于支持单品券的核销,可空
"goods_name":"", ## 商品名称,可空
"sell_amount":"", ## 卖出数量,不可为空
"goods_price":"", ## 商品单价,不可为空
"goods_sku_id":"" ## 卖出的sku的id,可空
}
......
]
返回值说明
参数名 | 所属结构 | 返回值类型 | 返回值说明 | 特殊备注 |
---|---|---|---|---|
success | result | boolean | 标识这次请求是否成功 | 请不要用这个值来判断收银是否成功。 |
errorCode | result | String | 错误码 | |
errorMsg | result | String | 错误码的详细说明 | |
qrCode | data | String | 二维码的内容,用于生成二维码并展示 | 参与签名 |
localOrderNo | data | String | 本地订单号 | 参与签名 |
cbOrderNo | data | String(64) | 采宝的订单号,最长64位 | 参与签名 |
totalAmount | data | Long | 收款总额,分为单位 | 参与签名 |
paymentChannel | data | int | 支付渠道 | 参与签名,具体取值请参照:名词解释 |
sign | data | String | 签名值 | 具体参照: 接口返回值的安全校验规则 |
timestamp | data | String | 时间戳 | 参与签名 |
subject | data | String | 订单主题 | 只有version大于等于1.1时才会返回 |
paymentWay | data | String | 付款方式 | 只有version大于等于1.1时才会返回,具体取值参照:名词解释 |
返回值示例
{
"result": {
"success": false,
"errorCode":"10",
"errorMsg": "command参数为空"
}
"data":{
"qrCode":"" ##二维码的内容,参与签名
"localOrderNo":"",##本地订单号,参与签名
"cbOrderNo":"",##采宝的订单号,参与签名
"totalAmount":"",##订单金额,参与签名
"paymentChannel":""##支付渠道,1支付宝,2微信,3百度钱包,4翼支付,参与签名
,"sign":"" ## 签名值
,"timestamp":"" ## 时间戳,参与签名
##===========以下字段只有version大于等于1.1时才会返回========
,"subject":"" ##订单主题
,"paymentWay":""## 付款方式
}
}