【支付系统】接入多家支付之策略模式

11 篇文章 ¥159.90 ¥299.90

        在常见的商城类平台,一般会接入微信,支付宝等支付方式.同时为了避免支付通道出现问题导致无法支付的情况,也会介入一些其他支付公司的通道.在程序里我们该如何分辨,和调用不同公司的支付通道呢?

        1. 首先用户在页面上下单,会给服务器传递多个必要的参数, 支付方式(微信,支付宝),和支付通道(支付平台).首先页面上的支付方式,一定是动态查询出来的,当用户选择下单,一定要把通道信息发送给服务器.

        2. 在第一步中后端已经拿到通道信息,我们会根据传递的通道信息觉得调用哪一家支付平台的接口

        当然,是可以使用if判断是哪个支付平台,但这样既不美观 也不方便维护


if(通道==支付平台1){
    平台1.下单
}else if(通道==支付平台2){
    平台2.下单
}

        设计模式之策略模式

1. 定义支付平台的公共接口:这里面最主要的就是 getType(),相当于给每个平台定义唯一标识

public interface PayService {

	/**
	 * 获取当前通道类型标识
	 *
	 */
	String getType();

	/**
	 * 支付
	 *
	 */
	PayResult pay(Order order) throws Exception;

	/**
	 * 退款
	 *
	 */
	RefundResult refund
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸渔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值