当前位置: 首页 > Web前端 > HTML

优惠券流程

时间:2023-03-29 13:04:43 HTML

小程序优惠券流程优惠券流程大致如下:优惠券发放形式优惠券一般以收据形式发放,也可以根据用户状态自动发放优惠券。自动发放的优惠券适用于部分活动,例如:用户登录返回活动时自动发放优惠券。手动领取优惠券,用户点击领取即可。优惠券的形式通常有很多种,而且优惠券的数量不限,例如:满折券,同类型的满折券可以领取多张,满50折5折,满折10折100,除了全额优惠券外,还有优惠券,可以重复领取,一种类型可以获得多张优惠券。优惠券使用用户使用优惠券时会有限制。例如:同一类型的优惠券只能使用一张。如果用户当前拥有全额折扣券x2和折扣券x3,那么该用户将使用一种类型,只能使用一种。一般情况下,用户在使用优惠券时,都会有一个初选优惠券的选择。用户无需手动选择使用哪一个。获取或使用优惠券时,后台会自动分配当前条件下的最优优惠券。优惠券匹配。二是用户可以手动选择自己想要使用的那个。当用户选择优惠券时,只要优惠券的选择发生变化,当前计算的金额也会随之变化。这样动态实时计算优惠券和金额,让用户知道当前优惠券优惠了多少,最后实际需要支付的金额是多少。优惠券使用场景1、商品选择2、商品详情3、订单支付页面4、购物车页面5、...优惠券在这么多场景中都会重复出现,所以优惠券其实可以封装成一个组件,并导入组件在相应的页面上。所有的选择逻辑、匹配逻辑、弹窗显示的信息都在组件中操作。组件中的操作完成后,会将最终选中的数据返回给页??面,页面可以通过返回的数据进行展示。使用优惠券并选择付款优惠券后,将自动计算金额。那么计算金额的接口参数应该包括商品id、商品数量、couponid。通过这些参数请求金额计算接口。参数结构如下:letparams={goodsArr=[{goodsId:100,quantity:1},//商品id的数量{goodsId:101,quantity:1}],discount=[32001,32001]//优惠券id集合的值,不同类型的优惠券id放在这里}请求计算金额接口后,后台返回数据如下:{code:200data:{disMoney:1.5,//discountamounttotalPrice:20,//总金额actualPrice:18.5,//实际金额isDis:1//是否使用优惠券}message:"SUCCESS"}这个金额就是实际需要支付的金额。如果要支付,根据计算金额返回的数据,请求支付接口的金额数据。在支付的时候,其实涉及到一个支付回滚的问题。如果用户选择了一张优惠券,在支付的时候取消了,那优惠券会去哪里呢?如果用户取消支付,订单将进入待支付页面。优惠券仍与商品绑定,处于选中状态。如果支付成功,优惠券将为-1。如果取消付款,优惠券将被添加回来。如果支付失败,如果从购物车走支付流程,如果用户支付成功,购物车需要删除对应的商品;如果用户在支付过程中取消支付,购物车也应该删除对应的商品,因为该商品会进入待支付流程;总结一下就是:用户在购物车中发起的支付,只要发起支付,购物车中对应的商品就应该被删除。不同类型的优惠券实际上有一个类别ID。同一类型的优惠券只能有一张。其实就是通过类别id来判断的。如果有3张折扣券,则用户选择其中一张。其他两个必须取消选择,同样的逻辑适用于其他优惠券。