From fabea44a7bd5e7361eaf511af203df858e93d5ab Mon Sep 17 00:00:00 2001 From: xxm1995 Date: Mon, 26 Feb 2024 13:45:09 +0800 Subject: [PATCH] =?UTF-8?q?feat=20SDK=E5=A2=9E=E5=8A=A0=E7=AE=80=E5=8D=95?= =?UTF-8?q?=E9=80=80=E6=AC=BE=E3=80=81=E5=A4=9A=E9=80=9A=E9=81=93=E9=80=80?= =?UTF-8?q?=E6=AC=BE=E7=AD=89=E5=A4=9A=E4=B8=AD=E6=B5=8B=E8=AF=95=E6=A0=B7?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdk/param/channel/BarCodePayParam.java | 18 +++++ .../daxpay/sdk/payment/RefundOrderTest.java | 41 +++++++++++- .../sdk/payment/SimpleRefundOrderTest.java | 67 +++++++++++++++++++ 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 daxpay-single-sdk/src/main/java/cn/bootx/platform/daxpay/sdk/param/channel/BarCodePayParam.java create mode 100644 daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/SimpleRefundOrderTest.java diff --git a/daxpay-single-sdk/src/main/java/cn/bootx/platform/daxpay/sdk/param/channel/BarCodePayParam.java b/daxpay-single-sdk/src/main/java/cn/bootx/platform/daxpay/sdk/param/channel/BarCodePayParam.java new file mode 100644 index 000000000..38cf14cb7 --- /dev/null +++ b/daxpay-single-sdk/src/main/java/cn/bootx/platform/daxpay/sdk/param/channel/BarCodePayParam.java @@ -0,0 +1,18 @@ +package cn.bootx.platform.daxpay.sdk.param.channel; + +import cn.bootx.platform.daxpay.sdk.param.ChannelParam; +import lombok.Getter; +import lombok.Setter; + +/** + * 付款码支付 + * @author xxm + * @since 2024/2/26 + */ +@Getter +@Setter +public class BarCodePayParam implements ChannelParam { + + /** 授权码(主动扫描用户的付款码) */ + private String authCode; +} diff --git a/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/RefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/RefundOrderTest.java index 47fb67492..680a7a76f 100644 --- a/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/RefundOrderTest.java +++ b/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/RefundOrderTest.java @@ -1,5 +1,6 @@ package cn.bootx.platform.daxpay.sdk.payment; +import cn.bootx.platform.daxpay.sdk.code.PayChannelEnum; import cn.bootx.platform.daxpay.sdk.model.refund.RefundModel; import cn.bootx.platform.daxpay.sdk.net.DaxPayConfig; import cn.bootx.platform.daxpay.sdk.net.DaxPayKit; @@ -9,6 +10,7 @@ import cn.bootx.platform.daxpay.sdk.response.DaxPayResult; import org.junit.Before; import org.junit.Test; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -63,7 +65,7 @@ public class RefundOrderTest { // 设置具体的退款参数 RefundChannelParam refundChannelParam = new RefundChannelParam(); - refundChannelParam.setChannel("ali_pay"); + refundChannelParam.setChannel(PayChannelEnum.ALI.getCode()); refundChannelParam.setAmount(12); List refundChannels = Collections.singletonList(refundChannelParam); param.setRefundChannels(refundChannels); @@ -72,4 +74,41 @@ public class RefundOrderTest { System.out.println(execute); System.out.println(execute.getData()); } + + /** + * 多通道退款 + */ + @Test + public void refundOrderByMultiple(){ + RefundParam param = new RefundParam(); + param.setClientIp("127.0.0.1"); + + param.setBusinessNo("P0001"); + param.setRefundAll(false); + param.setRefundNo("R0001"); + + // 设置具体的退款参数 + RefundChannelParam alipay = new RefundChannelParam(); + // 支付宝 + alipay.setChannel(PayChannelEnum.ALI.getCode()); + alipay.setAmount(12); + + // 钱包 + RefundChannelParam wallet = new RefundChannelParam(); + alipay.setChannel(PayChannelEnum.WALLET.getCode()); + alipay.setAmount(10); + + // 现金 + RefundChannelParam cash = new RefundChannelParam(); + alipay.setChannel(PayChannelEnum.CASH.getCode()); + alipay.setAmount(20); + + List refundChannels = Arrays.asList(alipay, wallet, cash); + param.setRefundChannels(refundChannels); + + DaxPayResult execute = DaxPayKit.execute(param); + System.out.println(execute); + System.out.println(execute.getData()); + } + } diff --git a/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/SimpleRefundOrderTest.java b/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/SimpleRefundOrderTest.java new file mode 100644 index 000000000..6a24c67be --- /dev/null +++ b/daxpay-single-sdk/src/test/java/cn/bootx/platform/daxpay/sdk/payment/SimpleRefundOrderTest.java @@ -0,0 +1,67 @@ +package cn.bootx.platform.daxpay.sdk.payment; + +import cn.bootx.platform.daxpay.sdk.model.refund.RefundModel; +import cn.bootx.platform.daxpay.sdk.net.DaxPayConfig; +import cn.bootx.platform.daxpay.sdk.net.DaxPayKit; +import cn.bootx.platform.daxpay.sdk.param.refund.SimpleRefundParam; +import cn.bootx.platform.daxpay.sdk.response.DaxPayResult; +import org.junit.Before; +import org.junit.Test; + +/** + * 简单退款演示 + * @author xxm + * @since 2024/2/26 + */ +public class SimpleRefundOrderTest { + + + /** + * 初始化 + */ + @Before + public void init() { + // 初始化支付配置 + DaxPayConfig config = DaxPayConfig.builder() + .serviceUrl("http://127.0.0.1:9000") + .signSecret("123456") + .build(); + DaxPayKit.initConfig(config); + } + + /** + * 全部退款 + */ + @Test + public void refundAllOrder(){ + SimpleRefundParam param = new SimpleRefundParam(); + param.setClientIp("127.0.0.1"); + param.setBusinessNo("P0001"); + param.setRefundNo("R0001"); + + param.setRefundAll(true); + + DaxPayResult execute = DaxPayKit.execute(param); + System.out.println(execute); + System.out.println(execute.getData()); + } + + /** + * 部分退款 + */ + @Test + public void refundPartOrder(){ + SimpleRefundParam param = new SimpleRefundParam(); + param.setClientIp("127.0.0.1"); + + param.setBusinessNo("P0001"); + param.setRefundAll(false); + param.setRefundNo("R0001"); + // 设置具体的退款参数 + param.setAmount(1); + + DaxPayResult execute = DaxPayKit.execute(param); + System.out.println(execute); + System.out.println(execute.getData()); + } +}