From 2546c3fc826f582a6d4ff3759109e68763deae65 Mon Sep 17 00:00:00 2001 From: DaxPay Date: Wed, 4 Dec 2024 15:12:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(daxpay):=20=E6=96=B0=E5=A2=9E=E6=94=B6?= =?UTF-8?q?=E9=93=B6=E5=8F=B0=E6=94=AF=E4=BB=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加收银台支付相关的 API 接口和请求参数 - 实现收银台支付页面组件,包括表单验证、签名生成和请求提交等功能 - 在开发交易页面中集成收银台支付选项 - 更新支付状态枚举,增加待支付状态 - 优化支付订单列表的支付状态显示 --- src/enums/daxpay/tradeStatusEnum.ts | 4 + .../common/develop/trade/DevelopTrade.api.ts | 68 +++++ .../common/develop/trade/DevelopTrade.vue | 3 + .../develop/trade/DevelopTradeCheck.vue | 255 ++++++++++++++++++ .../common/develop/trade/DevelopTradePay.vue | 1 + .../develop/trade/DevelopTradeTransfer.vue | 2 +- .../daxpay/common/order/pay/PayOrder.api.ts | 2 + 7 files changed, 334 insertions(+), 1 deletion(-) create mode 100644 src/views/daxpay/common/develop/trade/DevelopTradeCheck.vue diff --git a/src/enums/daxpay/tradeStatusEnum.ts b/src/enums/daxpay/tradeStatusEnum.ts index 42bcd9bf5..de7b266f7 100644 --- a/src/enums/daxpay/tradeStatusEnum.ts +++ b/src/enums/daxpay/tradeStatusEnum.ts @@ -2,6 +2,10 @@ * 支付状态 */ export enum PayStatusEnum { + /** + * 待支付 + */ + WAIT = 'wait', /** * 支付中 */ diff --git a/src/views/daxpay/common/develop/trade/DevelopTrade.api.ts b/src/views/daxpay/common/develop/trade/DevelopTrade.api.ts index 72a5ba04a..a8534be98 100644 --- a/src/views/daxpay/common/develop/trade/DevelopTrade.api.ts +++ b/src/views/daxpay/common/develop/trade/DevelopTrade.api.ts @@ -43,6 +43,20 @@ export function tradeTransfer(params) { return defHttp.post>({ url: '/develop/trade/transfer', data: params }) } +/** + * 创建收银台链接签名 + */ +export function checkoutSign(param: CheckoutCreatParam) { + return defHttp.post>({ url: '/develop/trade/sign/checkout', data: param }) +} + +/** + * 创建收银台链接 + */ +export function checkoutUrl(params) { + return defHttp.post>({ url: '/develop/trade/checkoutUrl', data: params }) +} + /** * 支付请求参数 */ @@ -213,3 +227,57 @@ export interface TransferResult { /** 签名 */ sign?: string } + +/** + * 收银台创建参数 + */ +export interface CheckoutCreatParam { + /** 收银台类型 */ + checkoutType?: string + /** 商户订单号 */ + bizOrderNo?: string + /** 支付标题 */ + title?: string + /** 支付描述 */ + description?: string + /** 是否开启分账 */ + allocation?: boolean + /** 自动分账 */ + autoAllocation?: boolean + /** 过期时间 */ + expiredTime?: string + /** 支付通道编码 */ + channel?: string + /** 支付方式编码 */ + method?: string + /** 支付金额 */ + amount?: number + /** 支付扩展参数 */ + extraParam?: string + /** 商户扩展参数 */ + attach?: string + /** 同步跳转地址 */ + returnUrl?: string + /** 用户付款中途退出返回商户网站的地址 */ + quitUrl?: string + /** 异步通知地址 */ + notifyUrl?: string + /** 终端IP */ + clientIp?: string + /** 应用号 */ + appId?: string + /** 随机数 */ + nonceStr?: string + /** 签名 */ + sign?: string + /** 请求时间 */ + reqTime?: string +} + +/** + * 收银台响应参数 + */ +export interface CheckoutUrlResult { + /** 收银台链接 */ + url?: string +} diff --git a/src/views/daxpay/common/develop/trade/DevelopTrade.vue b/src/views/daxpay/common/develop/trade/DevelopTrade.vue index 02f114ecd..01b9deff5 100644 --- a/src/views/daxpay/common/develop/trade/DevelopTrade.vue +++ b/src/views/daxpay/common/develop/trade/DevelopTrade.vue @@ -11,6 +11,7 @@ + @@ -24,6 +25,7 @@ import DevelopTradePay from './DevelopTradePay.vue' import DevelopTradeRefund from './DevelopTradeRefund.vue' import DevelopTradeTransfer from './DevelopTradeTransfer.vue' + import DevelopTradeCheck from './DevelopTradeCheck.vue' const { dictDropDown } = useDict() @@ -37,6 +39,7 @@ */ async function initData() { tradeTypes.value = await dictDropDown('trade_type') + tradeTypes.value.push({ label: '收银台', value: 'checkout' }) } diff --git a/src/views/daxpay/common/develop/trade/DevelopTradeCheck.vue b/src/views/daxpay/common/develop/trade/DevelopTradeCheck.vue new file mode 100644 index 000000000..4c68efa6d --- /dev/null +++ b/src/views/daxpay/common/develop/trade/DevelopTradeCheck.vue @@ -0,0 +1,255 @@ + + + + diff --git a/src/views/daxpay/common/develop/trade/DevelopTradePay.vue b/src/views/daxpay/common/develop/trade/DevelopTradePay.vue index ca16f4315..5b8cc339a 100644 --- a/src/views/daxpay/common/develop/trade/DevelopTradePay.vue +++ b/src/views/daxpay/common/develop/trade/DevelopTradePay.vue @@ -148,6 +148,7 @@ title: '测试支付', clientIp: '127.0.0.1', amount: 0.01, + allocation: false, }) const rules = computed(() => { return { diff --git a/src/views/daxpay/common/develop/trade/DevelopTradeTransfer.vue b/src/views/daxpay/common/develop/trade/DevelopTradeTransfer.vue index 835d73ad0..05d76ce14 100644 --- a/src/views/daxpay/common/develop/trade/DevelopTradeTransfer.vue +++ b/src/views/daxpay/common/develop/trade/DevelopTradeTransfer.vue @@ -26,7 +26,7 @@ placeholder="请选择转账通道" /> - +