设备条码支付
2020-02-11 06:09:00
admin
3
接口介绍
四码合一的条码支付接口, 本接口会根据条码自动选择支付方式并完成支付。
参数简介
公共参数
| 参数名 | 参数类型 | 参数介绍 | 是否必填 |
|---|---|---|---|
| command | String(32) | 接口名,固定为:open.api.device.barcode | 是 |
| app_id | String(32) | 应用ID | 是 |
| device_no | String(32) | 设备唯一标识 | 是 |
| version | String(16) | 调用的接口版本,固定为:1.0 | 是 |
| sign_type | String(32) | 签名类型, 固定为:MD5 | 否 |
| request_id | String(64) | 请求报文ID,唯一定位一次报文请求,由发起方生成,应答方原样返回,uuid生成,全局唯一 | 是 |
| request_time | String(32) | 请求发起时间,格式:yyyyMMddHHmmss,请求发起时间,应答方原样返回 | 是 |
| sign | String(32) | 签名,详见MD5签名 | 是 |
参数简介
| 参数名 | 参数类型 | 参数介绍 | 是否必填 |
|---|---|---|---|
| local_order_no | String(64) | 接入方的本地订单号,接入方请保证这个订单号的唯一性, 采宝不进行唯一性校验,如果订单号不唯一,会影响查询结果 | 是 |
| barcode | String(32) | 用户微信或支付宝的付款码 | 是 |
| amount | Long | 订单总额,以分为单位 | 是 |
| un_discount_amount | Long | 不参与优惠金额,以分为单位 | 否 |
| subject | String(128) | 订单描述,在渠道方订单详情中展示,小于128个字符 | 否 |
| remark | String(128) | 订单备注,小于128个字符 | 否 |
| goods_list | String(4096) | 商品列表 | 否 |
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(64) | 错误码 | |
| error_msg | result | String(16) | 错误码的详细说明 | |
| app_id | data | String(32) | 应用ID | |
| device_no | data | String(64) | 设备唯一标识 | |
| request_id | data | String(64) | 请求报文ID | |
| request_time | data | String(32) | 请求发起时间,格式:yyyyMMddHHmmss | |
| response_time | data | String(32) | 请求返回时间,格式:yyyyMMddHHmmss | |
| sign | sign | String | 签名值 | 具体参照: 接口验签规则 |
数据返回值
| 参数名 | 所属结构 | 返回值类型 | 返回值说明 | 特殊备注 |
|---|---|---|---|---|
| local_order_no | data | String(64) | 本地订单号 | |
| cb_order_no | data | String(64) | 采宝的订单号,最长64位 | |
| out_order_no | data | String(64) | 支付宝、微信等的订单号id,最长64位 | |
| order_status | data | String(64) | 订单状态 | 该状态用于判断收银是否成功,具体取值请参照:名词解释 |
| total_amount | data | long | 订单金额(分为单位) | |
| receive_amount | data | long | 收款金额(分为单位) | |
| payment_channel | data | String(64) | 支付渠道 | 具体取值请参照:名词解释 |
| subject | data | String(128) | 订单描述 | |
| remark | data | String(128) | 订单备注 | |
| discount_amount | data | long | 优惠金额(分为单位) | |
| payment_way | data | String(64) | 付款方式 | 具体取值参照:名词解释 |
| pay_time | data | String(32) | 支付时间,格式:yyyy-MM-dd HH:mm:ss | |
| print_order_no | data | String(64) | 打印订单号 |
返回值示例
{
"result": {
"success": false,
"error_code":"10",
"error_msg": "command参数为空"
}
"data":{
"app_id":"BOPU",
"device_no":"1234566",
"cb_order_no": "TCAP1809261638005776347450",
"discount_amount": 0,
"local_order_no": "OPENAPI201809261637391813348",
"order_status": "PAY_SUC",
"pay_time": "2018-09-26 16:38:33",
"pay_channel": "ALIPAY",
"payment_way": "BARCODE",
"receive_amount": 1,
"request_id": "15a12198-230c-4290-ba44-8d7064f06e70",
"request_time": "20180926163739",
"response_time": "20180926163836",
"total_amount": 1,
"print_order_no":"0000000345566"
},"sign":"NH/qBDrbyn3ZQYe535dO74sZuw7JeZo6ht8hWRyEASeshIc2KE11bxhG5Qd4QdvlodZYBRunaclEOMM19ZCUWmu5lFGprMR5KjcXSlZ7ErPTn82V5y8j7DuuAH/3UnxV/E6ZWlu788ooQ3xTncNNDs3WivSKwOgJsnDLZbVrFaxUzK+RnMr2p5myLY4Qo4D9AV9afPbJJTBszpAybcu0GBPeilBe4TZX/iLgSYb1SRryhnwlf94cgTREWa8u/0tBV8XJmzlAxmmCZHJtjDJqSJ8aAktdj2Y3QrzunQ3a4I07D+UaXU+csQAxJsCILQi8ye2ke4N+xQPvjdDo+cb8yw=="
}Js Demo
http://openapi.qiantupay.net/test/api/device/barcode.htm