针对扫码点餐类型的订单,同一个桌码生成的订单,大家都是可以看得见的,所以可以由其中的任意一位来完成付款买单/结账。
所以如果在座的如果某人有可用的优惠券,或者是有餐馆的vip,那么建议让他来买单,即可享受折扣价。
具体接口为:
参数说明
orderId
该参数为用餐桌token获取的当前未支付的订单记录的id;
餐桌的未结算的订单,同一个桌码下扫码用户共享,均可以看见;
该参数一般为6-8位长度的数字,注意不要和订单号(一般为16位以上)注意区分,不要混淆;
calculate
该参数位 boolean 类型,传入 true 为预买单,只是计算当前买单用户所属会员 + 可使用优惠券及使用优惠券后的折扣 + 系统设置的满减规则后实际需要支付的金额;
获取到实际支付金额以后,您就可以通过不传该参数、或者是传入 false ,来完成最终的买单/结账;
couponId
本次买单使用的优惠券id,可传入多张优惠券(如果后台菜品设置来允许使用多张优惠券的情况下),多张优惠券的id,用英文的逗号分隔开;
token
本次买单用户的token,注意,这个token 不再是餐桌的token了
如何结合在线支付
上述接口,默认是从当前用户的可用余额中扣除费用,那么,如果可用余额不足的情况下,如何来实现在线支付和买单动作在一步内完成呢?
① 计算需要在线支付的金额
通过上述接口,传入 calculate=true 获取到本次需要买单的实际金额;
通过查看用户余额的接口,读取到当前可用余额;
根据两者来判断本次需要通过在线支付多少金额;
② 发起在线支付
通过接口文档中的在线支付接口,传入指定金额参数发起在线支付;
支付接口的 nextAction 参数,请传:
{
"type": 9,
"orderId": 1234,
"couponId": 9908
}
具体请参阅:
《nextAction 参数使用详解》