微信小程序支付功能打通

This commit is contained in:
2026-07-13 00:07:17 +08:00
parent f2cdc0222d
commit 450dc44d0e
14 changed files with 73 additions and 28 deletions
@@ -14,7 +14,7 @@ export class PayWechatProvider implements IPayProvider {
@Inject(WECHAT_PROVIDER) private readonly wechat: IWechatProvider,
) {}
async payOrder(orderId: bigint, openId?: string): Promise<PayOrderResult> {
async payOrder(orderId: bigint, openId?: string, platform: 'h5' | 'mini' = 'h5'): Promise<PayOrderResult> {
if (loadAppConfig().mockPay) {
return { mode: 'mock', externalNo: `MOCK-${Date.now()}` };
}
@@ -29,13 +29,14 @@ export class PayWechatProvider implements IPayProvider {
if (!order) throw new Error('订单不存在');
const amountFen = Math.round(Number(order.payAmount) * 100);
this.logger.log(`create JSAPI prepay order=${order.orderNo} mchid=${this.wechat.getMchId()}`);
this.logger.log(`create JSAPI prepay order=${order.orderNo} mchid=${this.wechat.getMchId()} platform=${platform}`);
const prepay = await this.wechat.createJsapiPrepay({
orderNo: order.orderNo,
description: `杜康好客订单 ${order.orderNo}`,
amountFen,
openId,
notifyUrl: process.env.WX_PAY_NOTIFY_URL ?? '',
platform,
});
return { mode: 'jsapi', prepay };
}