From cba8acdd60c8f53170717cabcc00b034c7c8b705 Mon Sep 17 00:00:00 2001 From: erio Date: Fri, 6 Mar 2026 14:31:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=BE=AE=E4=BF=A1=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=91=BD=E5=90=8D=E4=BB=8E=20Native=20=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=20PC=E6=89=AB=E7=A0=81=EF=BC=8C=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E6=9C=AF=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - WxpayNativeOrderParams → WxpayPcOrderParams - createNativeOrder → createPcOrder - 文档注释统一为「PC扫码 / H5」 --- .env.example | 2 +- src/lib/wxpay/client.ts | 5 +++-- src/lib/wxpay/provider.ts | 4 ++-- src/lib/wxpay/types.ts | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.env.example b/.env.example index cb19ec7..d40ecdd 100644 --- a/.env.example +++ b/.env.example @@ -37,7 +37,7 @@ EASY_PAY_RETURN_URL="https://pay.example.com/pay/result" # ALIPAY_RETURN_URL=https://pay.example.com/pay/result # ── 微信支付直连(PAYMENT_PROVIDERS 含 wxpay 时必填) ──────────────────── -# 前端自动检测设备类型:PC 端使用 Native 扫码支付,移动端使用 H5 跳转微信 APP 支付 +# 前端自动检测设备类型:PC 端扫码支付,移动端 H5 跳转微信 APP 支付 # 不在 PAYMENT_PROVIDERS 中配置 wxpay 则不启用微信支付 # WXPAY_APP_ID= # 公众号或移动应用 AppID # WXPAY_MCH_ID= # 商户号(10位数字) diff --git a/src/lib/wxpay/client.ts b/src/lib/wxpay/client.ts index 3d47670..8ecd5f0 100644 --- a/src/lib/wxpay/client.ts +++ b/src/lib/wxpay/client.ts @@ -1,6 +1,6 @@ import WxPay from 'wechatpay-node-v3'; import { getEnv } from '@/lib/config'; -import type { WxpayNativeOrderParams, WxpayH5OrderParams, WxpayRefundParams } from './types'; +import type { WxpayPcOrderParams, WxpayH5OrderParams, WxpayRefundParams } from './types'; const BASE_URL = 'https://api.mch.weixin.qq.com'; @@ -76,7 +76,8 @@ async function request(method: string, url: string, body?: Record { +/** PC 扫码支付(微信官方 API: /v3/pay/transactions/native) */ +export async function createPcOrder(params: WxpayPcOrderParams): Promise { const env = assertWxpayEnv(getEnv()); const result = await request<{ code_url: string }>('POST', '/v3/pay/transactions/native', { appid: env.WXPAY_APP_ID, diff --git a/src/lib/wxpay/provider.ts b/src/lib/wxpay/provider.ts index 102fc74..227ef56 100644 --- a/src/lib/wxpay/provider.ts +++ b/src/lib/wxpay/provider.ts @@ -9,7 +9,7 @@ import type { RefundResponse, } from '@/lib/payment/types'; import { - createNativeOrder, + createPcOrder, createH5Order, queryOrder, closeOrder, @@ -49,7 +49,7 @@ export class WxpayProvider implements PaymentProvider { return { tradeNo: request.orderId, payUrl: h5Url }; } - const codeUrl = await createNativeOrder({ + const codeUrl = await createPcOrder({ out_trade_no: request.orderId, description: request.subject, notify_url: notifyUrl, diff --git a/src/lib/wxpay/types.ts b/src/lib/wxpay/types.ts index ea3d85d..346243e 100644 --- a/src/lib/wxpay/types.ts +++ b/src/lib/wxpay/types.ts @@ -1,4 +1,4 @@ -export interface WxpayNativeOrderParams { +export interface WxpayPcOrderParams { out_trade_no: string; description: string; notify_url: string;