背景: 零售行业宜家家居本来就有实体购物卡,并且在商店内也可以使用购物卡支付购物,且支持加微信/支付宝的组合支付。进行数字化转型,我们开发了dtc渠道的电商平台,现在想支持电商平台使用购物卡,所以孵化出了电子钱包的项目。
技术实现方案:
由于dtc渠道支持了虚拟订单,例如以运费券的形式实现的包邮卡项目,在线上渠道支持购买预约的线下商店里的收费活动(event booking)项目。
所以本次实现复用了虚拟订单的架构,将需要被绑定的卡 虚拟化为一个虚拟商品,待充值的金额为商品的价值。先去ipay系统消耗掉卡里的余额,再创建虚拟订单到线上渠道,最终实现在整个绑卡逻辑。线下实体店里的购物卡的余额被充值到dtc渠道的钱包里,最终实现在线上/线下渠道都可以使用钱包余额进行支付。
由于ipay系统 历史悠久,且第一次对接,我们的service 与ipay直接还引入了第三方 ums service,
一旦依赖系统出现问题,我们从架构上设计了 补偿job,可以批量查询状态异常的虚拟订单,可以后台处理一些系统异常引入的问题。
limit:
和其他电商平台一样,都只支持充值所有金额到钱包里,不允许充值部分金额到钱包里。
扩展:
后期会支持在线上渠道直接销售 电子购物卡。
降级和预案:
一旦系统出现问题,我们应该考虑钱包支付不再展示。