接口介绍
【接口升级改造说明】尊敬的合作伙伴: 接微信通知,为了严格落实《中国人民银行关于进一步加强支付结算管理防范电信网络新型违法犯罪有关事项的通知》(“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.api.qrcode | 是 |
app | String(32) | 接入商标识 | 是 |
operator_id | String(32) | 收银员的id,用于标识收款账户 | 是 |
version | String(16) | 调用的接口版本,固定为:2.0 | 是 |
sign_type | String(32) | 签名类型 MD5、RSA,默认MD5 | 否 |
request_id | String(64) | 请求报文ID,唯一定位一次报文请求,由发起方生成,应答方原样返回,uuid生成,全局唯一 | 是 |
request_time | String(32) | 请求发起时间,格式:yyyyMMddHHmmss,请求发起时间,应答方原样返回 | 是 |
sign | String(32) | 签名,详见MD5签名、RSA256签名 | 是 |
参数简介
参数名 | 参数类型 | 参数介绍 | 是否必填 |
---|---|---|---|
local_order_no | String(64) | 接入方的本地订单号,接入方请保证这个订单号的唯一性, 采宝不进行唯一性校验,如果订单号不唯一,不能进行支付 | 是 |
channel | String(64) | 支付渠道 ALIPAY:支付宝, WECHAT:微信 | 是 |
amount | Long | 订单总额,以分为单位 | 是 |
un_discount_amount | Long | 不参与优惠金额,以分为单位 | 否 |
subject | String(128) | 订单描述,在渠道方订单详情中展示,小于128个字符 | 否 |
remark | String(128) | 订单备注,小于128个字符 | 否 |
goods_list | String(4096) | 商品列表 | 否 |
notify_url | String(256) | 支付成功之后的回调地址,具体请参照:支付完成之后的通知 | 否 |
alipay_body | String(4096) | 针对支付宝官方渠道, 该字段会放到支付宝相应接口的body中 | 否 |
wx_hospital_scene | String(64) | 微信医疗场景 | 否 |
device_create_ip | String(32) | 发起支付服务器或终端IP地址 | 否 |
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 | 标识这次请求是否成功 | 请不要用这个值来判断收银是否成功,订单的结果以返回的order_status为准。 |
error_code | result | String | 错误码 | |
error_msg | result | String | 错误码的详细说明 | |
request_id | data | String(64) | 请求报文ID | |
request_time | data | String(32) | 请求发起时间,格式:yyyyMMddHHmmss | |
response_time | data | String(32) | 请求返回时间,格式:yyyyMMddHHmmss | |
sign | sign | String | 签名值 | 具体参照: 接口验签规则 |
数据返回值
参数名 | 所属结构 | 返回值类型 | 返回值说明 | 特殊备注 |
---|---|---|---|---|
qr_code | data | String(256) | 二维码的内容,用于生成二维码并展示 | |
local_order_no | data | String(64) | 本地订单号 | |
cb_order_no | data | String(64) | 采宝的订单号,最长64位 | |
total_amount | data | Long | 收款总额,分为单位 | |
payment_channel | data | String(64) | 支付渠道 | 具体取值请参照:名词解释 |
subject | data | String(128) | 订单主题 | |
remark | data | String(128) | 订单备注 | |
payment_way | data | String(64) | 付款方式 | 具体取值参照:名词解释 |
返回值示例
{
"data": {
"cb_order_no": "TCAP1809261654174415372337",
"local_order_no": "OPENAPI201809261654086048726",
"payment_channel": "ALIPAY",
"payment_way": "SCAN",
"qr_code": "https://qr.alipay.com/bax03284mjcftkaz4q5v2023",
"request_id": "92cccd52-c7c5-4d3a-9b56-379ad2899f93",
"request_time": "20180926165408",
"response_time": "20180926165417",
"total_amount": 1
},
"result": {
"success": true
},
"sign": "dbg4ehYNOCXH4IcoJFJyL/sI/7ZstGD33BCp4xGPa9a/F8QTbtvjHcM4MLuqmCt6gHK0riHI85UWAH+ON7fV9ML6lRO8HsVGT/U+pK1FS1pJ7u7mLBWtD0awZM0p0pI4bgyVKG1lTduIdnqb0MwDfp/EM+JmIxZXUuo6JMkO1AcWdiNF7HGpFsKuhz83mf7Z2AgQjUaRUJIii2jFlue3YGV9L40nRDL9C+fpMhmhq9k46CMgmxGmDtEA75u71SBrOZbJRS7ENjCpyPYrXtT4U0FCAkwiRIaJDm0kPKe81kRK2KCPiImgfjiXUzw7vt5IeYuPPqv0zlsPXgHIpWdiBw=="
}