feat 支付流程调整为多阶段, 预防掉单问题, 增加更多测试类

This commit is contained in:
xxm1995
2024-03-23 19:20:07 +08:00
committed by 喵呀
parent 70e0922073
commit c8ebf069ad
13 changed files with 297 additions and 154 deletions

View File

@@ -36,7 +36,6 @@ public class PayOrderTest {
DaxPayKit.initConfig(config);
}
/**
* 单通道支付
*/
@@ -46,10 +45,10 @@ public class PayOrderTest {
param.setClientIp("127.0.0.1");
param.setNotNotify(true);
param.setBusinessNo("P0001");
param.setBusinessNo("P0004");
param.setTitle("测试接口支付");
PayChannelParam payChannelParam = new PayChannelParam();
payChannelParam.setChannel(PayChannelEnum.WECHAT.getCode());
payChannelParam.setChannel(PayChannelEnum.UNION_PAY.getCode());
payChannelParam.setWay(PayWayEnum.QRCODE.getCode());
payChannelParam.setAmount(1);
@@ -64,13 +63,13 @@ public class PayOrderTest {
* 多通道支付. 全部为同步支付方式
*/
@Test
public void multiPay() {
public void multiSyncPay() {
PayParam param = new PayParam();
param.setClientIp("127.0.0.1");
param.setNotNotify(true);
param.setBusinessNo("P0002");
param.setTitle("测试组合支付");
param.setBusinessNo("P0005");
param.setTitle("测试组合支付(全同步)");
// 现金支付
PayChannelParam cash = new PayChannelParam();
cash.setChannel(PayChannelEnum.CASH.getCode());
@@ -104,4 +103,35 @@ public class PayOrderTest {
System.out.println(execute);
System.out.println(execute.getData());
}
/**
* 多通道支付. 包含异步支付
*/
@Test
public void multiAsyncPay() {
PayParam param = new PayParam();
param.setClientIp("127.0.0.1");
param.setNotNotify(true);
param.setBusinessNo("P0009");
param.setTitle("测试组合支付(包含异步支付)");
// 现金支付
PayChannelParam cash = new PayChannelParam();
cash.setChannel(PayChannelEnum.CASH.getCode());
cash.setWay(PayWayEnum.NORMAL.getCode());
cash.setAmount(10);
// 异步支付
PayChannelParam async = new PayChannelParam();
async.setChannel(PayChannelEnum.ALI.getCode());
async.setWay(PayWayEnum.WEB.getCode());
async.setAmount(1);
// 组装组合支付的参数
List<PayChannelParam> payChannels = Arrays.asList(cash, async);
param.setPayChannels(payChannels);
DaxPayResult<PayOrderModel> execute = DaxPayKit.execute(param);
System.out.println(execute);
System.out.println(execute.getData());
}
}