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;