diff --git a/apps/daxpay-admin/src/api/payment/develop/developTrade.api.ts b/apps/daxpay-admin/src/api/payment/develop/developTrade.api.ts index 738f5bdf7..7c4c72bf8 100644 --- a/apps/daxpay-admin/src/api/payment/develop/developTrade.api.ts +++ b/apps/daxpay-admin/src/api/payment/develop/developTrade.api.ts @@ -35,6 +35,8 @@ export interface PayParam { mchNo: string; /** 应用号 */ appId?: string; + /** 通道商户号(调试/指定通道商户时传入) */ + channelMchNo?: string; /** 商户订单号 */ bizOrderNo: string; /** 支付标题 */ diff --git a/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json b/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json index a4e9d0d84..19bea6a60 100644 --- a/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json +++ b/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json @@ -57,7 +57,7 @@ }, "card": { "basic": "Basic Info", - "mchApp": "Merchant & App", + "mchApp": "Merchant Info", "param": "Payment Params", "order": "Order Info", "preview": "Request Preview" @@ -71,6 +71,7 @@ "privateKey": "Merchant Private Key", "mchNo": "Merchant", "appId": "Application", + "channelMchNo": "Channel Merchant", "product": "Payment Product", "method": "Payment Method", "openId": "OpenID", diff --git a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json index d9c47b6a0..d56031e45 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json +++ b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json @@ -57,7 +57,7 @@ }, "card": { "basic": "基础信息", - "mchApp": "商户与应用", + "mchApp": "商户信息", "param": "支付参数", "order": "订单信息", "preview": "请求预览" @@ -71,6 +71,7 @@ "privateKey": "商户私钥", "mchNo": "商户", "appId": "应用", + "channelMchNo": "通道商户", "product": "支付产品", "method": "支付方式", "openId": "OpenID", diff --git a/apps/daxpay-admin/src/views/payment/develop/trade/DevelopTrade.vue b/apps/daxpay-admin/src/views/payment/develop/trade/DevelopTrade.vue index b866c89ac..847182446 100644 --- a/apps/daxpay-admin/src/views/payment/develop/trade/DevelopTrade.vue +++ b/apps/daxpay-admin/src/views/payment/develop/trade/DevelopTrade.vue @@ -8,6 +8,7 @@ import { IconifyIcon } from '@vben-core/icons'; + import { ChannelMerchantApi } from '#/api/payment/channel/channel-merchant.api'; import { DevelopTradeApi } from '#/api/payment/develop/developTrade.api'; import { PayProductApi } from '#/api/payment/masterdata/product.api'; import { MchAppInfoApi } from '#/api/payment/merchant/mch-app-info.api'; @@ -26,6 +27,7 @@ const form = reactive({ mchNo: '', appId: '', + channelMchNo: '', bizOrderNo: '', title: '', amount: 0.01, @@ -43,6 +45,7 @@ // ===== 下拉选项 ===== const mchNoOptions = ref([]); const mchAppOptions = ref([]); + const channelMchNoOptions = ref([]); const productOptions = ref([]); // ===== 调试结果 ===== @@ -80,11 +83,14 @@ } } - /** 商户变更时刷新应用下拉 */ + /** 商户变更时刷新应用与通道商户下拉 */ function merchantChange() { form.appId = ''; + form.channelMchNo = ''; mchAppOptions.value = []; + channelMchNoOptions.value = []; if (!form.mchNo) return; + // 应用列表 MchAppInfoApi.page({ mchNo: form.mchNo, size: 100 }).then(({ data }) => { mchAppOptions.value = data?.records?.map((item) => ({ @@ -92,6 +98,16 @@ value: item.appId ?? '', })) ?? []; }); + // 通道商户列表 + ChannelMerchantApi.findAllByMchNo(form.mchNo).then(({ data }) => { + channelMchNoOptions.value = + data?.map((item) => ({ + label: item.channelMerchantName + ? `${item.channelMerchantName} (${item.channelMchNo})` + : (item.channelMchNo ?? ''), + value: item.channelMchNo ?? '', + })) ?? []; + }); } /** 下拉搜索过滤 */ @@ -202,6 +218,7 @@ Object.assign(form, { mchNo: '', appId: '', + channelMchNo: '', bizOrderNo: '', title: '', amount: 0.01, @@ -215,6 +232,7 @@ expiredTime: undefined, }); mchAppOptions.value = []; + channelMchNoOptions.value = []; signPreview.signStr = ''; signPreview.sign = ''; genBizOrderNo(); @@ -305,7 +323,7 @@ - + - + + + + + +