From deb9be4160dc9d39bde7cbc804cee85be9aae025 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Mon, 26 Jun 2023 14:54:25 +0800 Subject: [PATCH] fix: pay error catch --- client/src/pages/api/user/checkPayResult.ts | 2 +- client/src/service/utils/wxpay.ts | 34 +++++++++++++-------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/client/src/pages/api/user/checkPayResult.ts b/client/src/pages/api/user/checkPayResult.ts index 2dda8a40e..e8a405fcd 100644 --- a/client/src/pages/api/user/checkPayResult.ts +++ b/client/src/pages/api/user/checkPayResult.ts @@ -2,7 +2,7 @@ import type { NextApiRequest, NextApiResponse } from 'next'; import { jsonRes } from '@/service/response'; import { connectToDatabase, User, Pay, TrainingData } from '@/service/mongo'; import { authUser } from '@/service/utils/auth'; -import { PaySchema, UserModelSchema } from '@/types/mongoSchema'; +import { PaySchema } from '@/types/mongoSchema'; import dayjs from 'dayjs'; import { getPayResult } from '@/service/utils/wxpay'; import { pushPromotionRecord } from '@/service/utils/promotion'; diff --git a/client/src/service/utils/wxpay.ts b/client/src/service/utils/wxpay.ts index c45b97294..2ef703588 100644 --- a/client/src/service/utils/wxpay.ts +++ b/client/src/service/utils/wxpay.ts @@ -1,8 +1,8 @@ // @ts-ignore import Payment from 'wxpay-v3'; -export const getPayment = () => { - return new Payment({ +export const getPayment = () => + new Payment({ appid: process.env.WX_APPID, mchid: process.env.WX_MCHID, private_key: process.env.WX_PRIVATE_KEY?.replace(/\\n/g, '\n'), @@ -10,22 +10,30 @@ export const getPayment = () => { apiv3_private_key: process.env.WX_V3_CODE, notify_url: process.env.WX_NOTIFY_URL }); -}; -export const nativePay = (amount: number, payId: string): Promise => - getPayment() - .native({ +export const nativePay = async (amount: number, payId: string) => { + try { + const res = await getPayment().native({ description: 'Fast GPT 余额充值', out_trade_no: payId, amount: { total: amount } - }) - .then((res: any) => JSON.parse(res.data).code_url); + }); + return JSON.parse(res.data).code_url as string; + } catch (error) { + return Promise.reject(error); + } +}; -export const getPayResult = (payId: string) => - getPayment() - .getTransactionsByOutTradeNo({ +export const getPayResult = async (payId: string) => { + try { + const res = await getPayment().getTransactionsByOutTradeNo({ out_trade_no: payId - }) - .then((res: any) => JSON.parse(res.data)); + }); + + return JSON.parse(res.data); + } catch (error) { + return Promise.reject(error); + } +};