2.6付款码/刷卡支付
说明
用于门店扫客人的付款码进行支付结账,支持微信支付、支付宝支付
请求地址
http://api.dc78.cn/Api/cash_code_pay
请求方式
POST
请求参数
参数 | 参数名称 | 必填 | 描述 | 范例 |
table | 桌台 | 否 | 桌台号 | 2288 |
bzid | 结算业务单号 | 否 | 建议提供,请确保本门店内唯一 | 201805180018 |
amt | 结账金额 | 是 | 208.80 | |
auth_code | 付款码 | 是 | 扫描手机上的付款码获得 | |
no_discount_amt | 不打折金额 | 否 | 用于支付宝,核销满减券时计算正确的可抵金额 | |
支付URL例: http://wx.dc78.cn/Api/cash_code_pay?amt=0.01&auth_code=131227381317035947&bzid=112377234&msid=226&nonce=517610993&signtype=sha1&table=108& timestamp=20151206221618&msg_sign=FB09653C3E908D1DC652E5517BD1314936D7AA75 |
json格式,用于支付宝支持单品券
bill=[{
"gdsid": "53392",
"qty": "11",
"amt": "33",
"name": "农夫山泉",
"desc": "瓶/001",
"price": "3",
"rebate": 100
},
{
"gdsid": "53371",
"qty": "11",
"amt": "55",
"name": "雪碧",
"desc": "罐/001",
"price": "5",
}
]
返回
{
"status": "1","type": "wx",
"trid": "1001880236201512061938410952",
"payid": "72463",
"pay_amount": "0.01",
"buyer_id":"van***@21cn.com"
"server_time": "2015-12-06 22:13:28"
}
参数 | 参数名称 | 必填 | 描述 | 范例 |
type | 类型 | 同前面输入的type参数 | ||
trid | 微信支付/支付宝交易流水号 | |||
payid | 平台交易流水号 | |||
pay_amount | 实际支付金额 | 在有支付优惠的情况下,会与提交的金额不等 | ||
buyer_id | 支付宝账号 | 仅支付宝支付会有 |
此协议的返回有两种情况:一是扫码后无需密码直接完成交易,则协议马上返回。二是需要用户输入密码,则平台会等待15秒钟并判断用户是否已完成交易,如果15秒内还是未完成,则返回错误,请根据state的内容分别进行后续处理。
支付未成功返回:
{"status":"0","type":"wx","trid":"","state":"WAIT","payid":"72408","server_time":"2015-12-06 20:44:15"}
参数 | 参数名称 | 必填 | 描述 | 范例 |
payid | 平台支付流水号 | |||
state | 支付状态 | 有可能为WAIT,RETRY,ERROR | ||
请判断state内容,如果为WAIT表示用户正在输入密码,请调用协议2.7继续查询支付状态。 如果state为RETRY为服务器未能返回结果,也请继续调用2.7继续查询支付状态。 建议5秒一次重试,直到返回成功或失败,或是30秒超时后结束。 若出现多次重试无法返回成功,请使用协议2.10撤销交易,再重新刷码交易 |
场景说明
请求方式
INI
请求参数
[action] | 描述 |
action=cash_code_pay | |
[get] | 描述 |
table:桌台 | |
bzid:结算业务单 | |
amt:结账金额 | |
auth_code:付款码,扫描手机上的付款码获得 |
返回
[result]
status=1
type=wx
trid=1001880236201512061938410952
payid=72463
pay_amount=0.01
buyer_id=van***@21cn.com
server_time=2015-12-06 22:13:28
[result] | 描述 |
status=1 | |
type=wx | |
trid=1001880236201512061938410952 | |
payid=72463 | |
buyer_id=van***@21cn.com | |
server_time=2015-12-06 22:13:28 | |
pay_amount=0.01 |