收银台架构

收款类关系图

收款类图

说明
  1. CashierSupport 收银台入口,调用时需要传递客户端类型,以及支付方式类型,来实现支付交互

  2. Payment 支付接口,声明支付方法与默认方法实现,包含h5支付、app支付、公众号支付、二维码支付、小程序支付、退款、同步回调、异步回调等等支付常用接口

  3. 支付的4个实现分别为:

    1. BankTransferPlugin 线下转账,具体操作为后台手动确认收款,对应的也没有自动退款功能,都需要财务手动操作
    2. WalletPlugin 余额支付,即充值后消费的部分,可以自动退款,基本和第三方支付无异
    3. WechatPlugin 微信支付,可以自动退款
    4. AlipayPlugin 支付宝支付,可以自动退款
    5. 需要扩展应该按照以上实例进行扩展
  4. 支付的扩展

    1. 微信支付抽象WechatAPI,这个类申明了几乎所有的微信接口,代码中也有具体的实现,位于WechatRequest,这块如果放过来图片会展不开,同理还有微信请求的各个数据模型也在对应的目录下方,例如付款方,支付类型,支付货币等等的封装

    2. 支付宝支付抽象出 AlipayApi,与微信支付同理,同时包含AliPayRequest所有支付宝请求封装,AliPayApiConfigKig-支付宝交互对象配置抽象

      这块代码都经过细节的设计,使得需要对接更多支付相关的接口,例如分账;或是对接更多的支付方式,例如Paypal 都可以快速开发

退款类关系图

退款类图

说明

售后逻辑基本与支付逻辑相同,根据支付的方式,同样调去支付方法中退款部分的实现即可

这里额外说明一点:这个流程中不可或缺的是支付时记录的PaymentLog对象,这个对象中记录了支付所产生的支付信息,第三方流水,支付方式等……在退款时,这些都是必要参数,才能实现系统流程等退款,或是与第三方交互的退款,如果对退款有二开需求,请务必仔细研究一下支付日志中的字段,以免出现纰漏,或者不知道从哪里下手,参考默认实现的支付宝、微信以及余额退款逻辑

results matching ""

    No results matching ""