文档
测试

pay(结算)

POST
http://localhost:9090/api/v1/order/pay

接口描述

根据用户输入的值,判断其类型,并进行相应的支付结算操作。注:如果本次调用后返回了小票结算已完成的标记,则应调用cart接口

请求参数

参数名
类型
描述
必填
token
string
身份验证
必填
operate
string
支付方式(具体描述可参考文档后面<说明示例>部分的内容)
必填
code
string
支付凭证(具体描述可参考文档后面<说明示例>部分的内容)
必填
amount
string
支付金额(具体描述可参考文档后面<说明示例>部分的内容)
必填
password
string
支付密码(具体描述可参考文档后面<说明示例>部分的内容)(仅用于会员支付需要密码的情况)
必填

响应参数

参数名
类型
描述
必填
code
string
状态码(0:成功/9:超时/其它:其它错误)
必填
message
string
错误信息(仅在发生错误时有意义)
必填
data
json
json对象
必填
finished
string
经过本次调用,当前小票是否已经完成结算(0/1)
必填
wait_amt
string
当前小票应付金额(2位小数)
必填
prom_amt
string
优惠总额(2位小数)
必填
paid_amt
string
已付总额(2位小数)
必填
dibs_amt
string
当前小票尚欠金额/找零金额(2位小数)
必填
curr_amt
string
表示输入框的金额
必填
total_qty
string
商品总件数(整型)
必填
order_id
string
订单号
必填
list
set
已成功的支付方式及支付金额集合
必填
row
string
行号(从0开始)
必填
pay_name
string
支付方式名称
必填
pay_amt
string
支付金额(2位小数)(与pay_name对应的原币金额)
必填
pay_src
string
支付凭证(会员卡号/银行卡号/优惠券编号...)
必填
pay_order
string
支付订单号(支付平台订单号)
必填
pay_balance
string
账户余额,不为空表示会员卡或者储值卡余额
必填
item
set
商品信息列表
必填
row
string
行号(从0开始)
必填
code
string
商品条码
必填
name
string
商品名称
必填
unit
string
单位
必填
price
string
售价(显示在界面上的价格)(4位小数)
必填
org_price
string
原价(划线价)(4位小数)
必填
qty
string
数量/重量(3位小数)
必填
promote_amt
string
优惠金额(2位小数)
必填
amt
string
金额(2位小数)
必填
sales_no
string
导购员编码
必填
sales_name
string
导购员姓名
必填
pay_ways
set
支付方式列表,需要显示在结算窗口
必填
pay_no
string
支付方式编码
必填
pay_name
string
支付方式名称
必填
is_vip
string
是否会员支付,当是会员支付时,点击需要跳转到会员查询列表
必填
vip_pay_mode
string
会员_储值卡扣款认证方式(1[默认]:必须刷卡才能扣款/2:允许输入手机号码扣款)
必填
vip_pay_pwd
string
会员_储值卡扣款是否需要密码(0[默认]:不需要/1:需要)
必填
is_customize
string
是否自定义支付方式(0:否/1:是)
必填
quick_key
string
快捷键(只对win版有效)
必填
is_online
string
会员服务是否在线(0/否 1是),is_vip=1是有效,会员服务离线时,点击会员支付需要强提醒断网不允许支付
必填
company_name
string
商户名称
必填
brh_no
string
门店编码
必填
brh_name
string
门店名称
必填
mac_no
string
pos机编码
必填
oper_no
string
收银员编码
必填
oper_name
string
收银员名称
必填
sale_time
datetime
销售时间
必填
pay_remote_order
string
移动商户号
必填
open_cash_box
string
是否开钱箱(0:否/1:是)
必填

说明 / 示例

### 入口参数 [operate/code/amount/password] operate: 支付方式 code: 支付凭证 amount: 支付金额 password: 支付密码 > `[operate=100]: 初始化结算(打开结算窗口)` `*用于在打开结算窗口时,取得应付金额、尚欠金额等数据` `code: 无意义` `amount: 无意义` `password: 无意义` > `[operate=200]: 取消结算(关闭结算窗口)` `*用于在关闭结算窗口时取消结算操作,清除所有已经录入的支付数据` `code: 无意义` `amount: 无意义` `password: 无意义` > `[operate=300]: 删除支付记录` `*用于对已存在的某条支付记录进行删除操作` `code: 支付记录行号(pay.[data.list.row])` `amount: 无意义` `password: 无意义` > `[operate=2]: 移动支付` `*用于发起移动支付` `code: 付款码` `amount: 支付金额,可取值(0表示支付剩余全部欠款;有效金额表示按该金额支付;无效金额则返回错误)` `password: 无意义` `注: [.../order/input]返回值[operate=2]的场景,即对应此处[operate=2]的调用` > `[operate=2.5]: 移动支付子流程 - 查询支付结果` `*支付流程超时后,收银员在没有查看顾客手机上的支付结果的情况下,可以先通过系统查询该笔支付是否成功。如果查询的结果为支付成功,则系统自动完成该次支付的后续数据处理(返回值跟[operate=2]的结果一样);否则返回线上支付平台给出的提示信息、或者在达到超时时间后返回超时` `code: 无意义` `amount: 无意义` `password: 无意义` > `[operate=2.6]: 移动支付子流程 - 手动确认` `*支付流程超时后,收银员需要检查顾客手机上是否支付成功,如果顾客手机显示成功,则同时会有一个确认码,收银员需要在POS操作界面上手动选择[支付成功],然后输入这个确认码` `code: 确认码` `amount: 无意义` `password: 无意义` > `[operate=2.7]: 移动支付子流程 - 取消支付` `*支付流程超时后,收银员需要检查顾客手机上是否支付成功,如果顾客手机也没有成功,则收银员需要在POS操作界面上手动选择[支付失败]` `code: 无意义` `amount: 无意义` `password: 无意义` > `[operate=4]: 会员储值支付` `*用于发起会员储值支付` `code: 会员信息(会员码/实体卡密文/明文卡号/手机号)` `amount: 支付金额,可取值(0表示支付剩余全部欠款;有效金额表示按该金额支付;无效金额则返回错误)` `password: 支付密码(会员支付不需要密码时该值无意义)` `注: [.../order/input]返回值[operate=4]的场景,即对应此处[operate=4]的调用` > `[operate=5]: 现金支付` `*用于发起现金支付` `code: 无意义` `amount: 支付金额` `password: 无意义` `注: [.../order/input]返回值[operate=5]的场景,即对应此处[operate=5]的调用` > `[operate=99]: 用于curr_amt=0时,传入99` `*用于存在会员支付时确认,会员支付时,尚欠可能直接为0,不需要输入,结算初始化后尚欠金额为0时发起支付` `*尚欠金额经过抹零后为0,此时需要收银员选择其他方式支付或者直接确认,当直接确认时,会被抹零,此时需要传入99` `此时由于不需要输入调用[.../order/input],operate固定为99` > `[operate=其它有效值]: 自定义支付方式` `*用于发起其它自定义支付(银行卡,自定义卡券等)` `code: 支付凭证(银行卡的卡号,电子券的券码等)` `amount: 支付金额` `password: 无意义`