下单时获取所有可用优惠券列表
调用创建订单接口,通过传预下单参数,系统将会给你返回本次模拟下单以后的数据:
- 本次下单可选用优惠券列表
- 每张优惠券都返回了该优惠券可以抵用的商品ID,便于前端进行更加灵活的业务处理;
- 本次下单需要支付的金额情况
calculate: true
接口返回的 couponUserList
字段,即为本次下单用户可以选择使用的优惠券,下单的时候将选择的记录ID,传给 couponId
参数即可(可多选,多个id用英文逗号分隔)
系统如何判断是否可用
如果对系统返回的可用优惠券列表数据有疑问(或者没有返回可用的优惠券列表),请根据下面的步骤进行排查,确保你的优惠券是符合使用条件的:
优惠券状态
系统会查找下单用户名下可用的优惠券,已经过期或者已使用的优惠券无法再次使用
商品是否允许使用优惠券
后台发布/编辑商品的时候,设置可使用优惠券张数为0张的商品,将无法使用优惠券。
如果订单中的商品,全部是此类商品,那么本订单将无法使用优惠券。
使用对象
如果优惠券设置了使用对象,比如
- 只能限定在某几个商品类目下使用;
- 只能限定在某几个具体的商品下使用;
那么,只有订单中含有符合的类目或者商品的时候,才可以使用这张优惠券
使用门槛
如果你设置了优惠券的使用门槛(比如满500元可用),那么系统会根据本次订单的有效商品金额来计算,是否满足你设置的优惠券使用门槛。
- 假如订单中含有商品,设置了不允许使用优惠券(也就是后台发布/编辑商品的时候,设置可使用优惠券张数为0张),该商品的金额将不计入本次订单的总计有效商品金额;
- 如果优惠券没有设置使用对象(也就是说没有限制类目或者商品),那么这些商品的金额将计入本次订单的总计有效商品金额;
- 如果优惠券设置了使用对象(限制只能使用在具体类目或者具体商品),那么只有这部分商品的金额才会计入本次订单的总计有效商品金额;
抵扣金额
按照优惠券设置的2种计算方式分别进行计算:
- 固定金额:按照优惠券面值固定金额进行抵扣,一次性用完不找零(假如订单5元,用10元的优惠券,优惠券也将全部用完);
- 按百分比:系统按照上述计算的有效商品金额✖️优惠券抵扣百分比,计算出本次抵扣的金额,然后按照上面固定金额一样的逻辑进行抵扣
抵扣逻辑
- 按照传入的 `
couponId
` 数组的先后顺序进行抵扣; - 每张优惠券,分别按照下单的商品的先后顺序进行抵扣;
- 传入的优惠券不管是否全部抵扣完毕,系统将全部设置为已使用状态,所以需要用户自行选择最优的优惠券进行使用;