针对扫码点餐类型的订单,同一个桌码生成的订单,大家都是可以看得见的,所以可以由其中的任意一位来完成付款买单/结账。

所以如果在座的如果某人有可用的优惠券,或者是有餐馆的vip,那么建议让他来买单,即可享受折扣价。

具体接口为:

《前端api接口文档》

image.png

参数说明

orderId

该参数为用餐桌token获取的当前未支付的订单记录的id;
餐桌的未结算的订单,同一个桌码下扫码用户共享,均可以看见;
该参数一般为6-8位长度的数字,注意不要和订单号(一般为16位以上)注意区分,不要混淆;

calculate

该参数位 boolean 类型,传入 true 为预买单,只是计算当前买单用户所属会员 + 可使用优惠券及使用优惠券后的折扣 + 系统设置的满减规则后实际需要支付的金额;
获取到实际支付金额以后,您就可以通过不传该参数、或者是传入 false ,来完成最终的买单/结账;

couponId

本次买单使用的优惠券id,可传入多张优惠券(如果后台菜品设置来允许使用多张优惠券的情况下),多张优惠券的id,用英文的逗号分隔开;

token

本次买单用户的token,注意,这个token 不再是餐桌的token了

如何结合在线支付

上述接口,默认是从当前用户的可用余额中扣除费用,那么,如果可用余额不足的情况下,如何来实现在线支付和买单动作在一步内完成呢?

① 计算需要在线支付的金额

通过上述接口,传入 calculate=true 获取到本次需要买单的实际金额;
通过查看用户余额的接口,读取到当前可用余额;
根据两者来判断本次需要通过在线支付多少金额;

② 发起在线支付

通过接口文档中的在线支付接口,传入指定金额参数发起在线支付;
支付接口的 nextAction 参数,请传:

  1. {
  2. "type": 9,
  3. "orderId": 1234,
  4. "couponId": 9908
  5. }

具体请参阅:
nextAction 参数使用详解