1.聚合 :支付宝支付、微信支付、银联支付、余额支付(每个支付包含下列功能且---------)
(1)微信支付:
付款码支付、JSAPI支付、Native支付、APP支付、WAP(H5)支付、小程序支付、人脸支付
(2)支付宝支付:
APP支付、WAP支付、付款码支付、扫码支付
(3)银联支付:
APP支付、WAP支付、付款码支付、扫码支付
2.功能 :支付、支付查询、退款、退款查询、撤销、支付记录查询
3编码思路:例如支付,
(1)统一的支付入口:利用策略模式来调用不同的支付服务,这样更好的把不同类型的支付给分开 简化编码 和方法的通用性 以及 方法的扩展性与维护性。
通过payWay来区分请求的支付方式,然后再通过tradeType来区分是哪种支付类型。来完成相应支付的调用。
例如:
switch (basePayRequest.getPayWay()) { 判断是微信支付还是阿里支付还是银联支付还是余额支付
case 1:
switch (basePayRequest.getTradeType()) {
case 1:
return wxPayService.wxAppPay(basePayRequest);
(2)具体调用时的编码处理:
1.编写配置类 作为配置信息的处理
2.编写api类 作为调用外部接口的处理 例如:调用微信下单、微信查询等等 统一在这个类里封装
网友评论