From 7627066549bd788aec8a85b1c8b9419f1adfb4fd Mon Sep 17 00:00:00 2001 From: erio Date: Sat, 7 Mar 2026 00:07:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=98=E6=96=B9=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E6=9C=AA=E9=85=8D=E7=BD=AE=E6=97=B6=20notify=20=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E9=9D=99=E9=BB=98=E8=BF=94=E5=9B=9E=E6=88=90=E5=8A=9F?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- src/app/api/alipay/notify/route.ts | 7 +++++++ src/app/api/wxpay/notify/route.ts | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/src/app/api/alipay/notify/route.ts b/src/app/api/alipay/notify/route.ts index 70ef012..5bfd700 100644 --- a/src/app/api/alipay/notify/route.ts +++ b/src/app/api/alipay/notify/route.ts @@ -1,11 +1,18 @@ import { NextRequest } from 'next/server'; import { handlePaymentNotify } from '@/lib/order/service'; import { AlipayProvider } from '@/lib/alipay/provider'; +import { getEnv } from '@/lib/config'; const alipayProvider = new AlipayProvider(); export async function POST(request: NextRequest) { try { + // 官方支付宝未配置时,直接返回成功(避免旧回调重试产生错误日志) + const env = getEnv(); + if (!env.ALIPAY_APP_ID || !env.ALIPAY_PRIVATE_KEY) { + return new Response('success', { headers: { 'Content-Type': 'text/plain' } }); + } + const rawBody = await request.text(); const headers: Record = {}; request.headers.forEach((value, key) => { diff --git a/src/app/api/wxpay/notify/route.ts b/src/app/api/wxpay/notify/route.ts index 6836e5b..01bc73f 100644 --- a/src/app/api/wxpay/notify/route.ts +++ b/src/app/api/wxpay/notify/route.ts @@ -1,11 +1,18 @@ import { NextRequest } from 'next/server'; import { handlePaymentNotify } from '@/lib/order/service'; import { WxpayProvider } from '@/lib/wxpay'; +import { getEnv } from '@/lib/config'; const wxpayProvider = new WxpayProvider(); export async function POST(request: NextRequest) { try { + // 微信支付未配置时,直接返回成功(避免旧回调重试产生错误日志) + const env = getEnv(); + if (!env.WXPAY_PUBLIC_KEY || !env.WXPAY_MCH_ID) { + return Response.json({ code: 'SUCCESS', message: '成功' }); + } + const rawBody = await request.text(); const headers: Record = {}; request.headers.forEach((value, key) => {