From 0266f9fb6581c6b318b311ee90bc68611afa2b89 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 15 Jul 2026 16:29:52 +0800 Subject: [PATCH] fix(wechat): handle API errors instead of silently returning null h5_url - Check HTTP status code, raise exception on non-200 - Raise exception if h5_url missing from response - Fix description field to use .get() instead of direct key access - Remove unreachable return None Previously WeChat API errors (param errors, amount issues, etc.) would return None, causing the frontend to show: https://token.opencomputing.cn/null Now errors are properly raised and shown to the user. --- .gitignore | 3 +++ scripts/__pycache__/load_path.cpython-310.pyc | Bin 2252 -> 0 bytes unipay/providers/wechat.py | 11 ++++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 .gitignore delete mode 100644 scripts/__pycache__/load_path.cpython-310.pyc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3bbe7b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +*.pyc +*.pyo diff --git a/scripts/__pycache__/load_path.cpython-310.pyc b/scripts/__pycache__/load_path.cpython-310.pyc deleted file mode 100644 index 18709d7e90de9f44aa7a484f9721120e3e55815d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2252 zcmaJCO>Y}TbZ2(gb~cXl)o%h_gjC4|Vk8bo5rU>k)D}@Ea(tkc&}zFgaW=Jg-I=l4 zEKXIL3WQW>4^X}usTLn9QVW&nflqPaSIo7ILrz>cRYK*>Zk(hoFspg<=FNLE?|Z|( zK1+jf`>kCIKlEtYUA5UhvamS>livYAw2DR$!8KGt@ro-rUiFGjbYfi8Dh4%{wTeki zZqpPoml4vaemzZ6ZH3{5%=I2>k~GPXp0-i3HYrvcS9(crB}=kZROusqBuDzm02w4h zWSHzAJIOAxo9wA(D><^4?1Pv3$rEG*)&cS)c?#A+Iz;xL!t4z?xU3G zy44K)hP!BYZnRfdKDJAT$0zL0%JTZBSJu95uU&cPkBgsmuHCe(d%ym+_Ti1r)gL?G ze>7&Gw0W+<4Duza4L<3 z&=2xhS{?}b#1)iFnPO*lskt2 zSlB`bk@0uNd=6z0K5rnV&Y}ZTrP6e1%${(AAQZNewr4@wR?;?TNIem<#dQSCOa)2m zkS#Kmq)Rlwsep&Tq6X*)DI!yecF}M*k(4LuG-!@C{V2Ubj7GYrbvJ0bH3y!VcUhH= z65d#h_Wjo>Trt!=gCYQ#AfUADJr815XR57FMI3U8aZM+SGHC43BIh&NTy) zXf?QXK}-a`9bJ-OZoua#^Fl(m)K{iIY?`NB*c}ESCd@eJ4*()Gfm&J%RgEPq@Pgig z{8w%1eSJx9=?ezYPeC)t8^tnYOwMx~qRFTeHbtW;q#@{8!Bm{`rcBM8C?B0J%Kq7@ zvNJPPI_}I)l#b1mrNx^k8!YrF=Tc|QKw6B#ErC)zZ%9MMk}0L6?$wD*G0K}Y5ocop z`qfz$Bpnrc74<_v;VA%FG=MC`_5=Euof#m;c1{99&=PJTsLtLcsAI5LU&gE-ti>;B zOZc=Qph{cX=Nd6u7@#SDdl>+m7&sn=+bH`oZs0SRiBOVbORaDp0-8amv)Wh2QI_Y??nRh|Y^k`-5z zji8=X1Rv^YDi$invE8o$BEWJ1cC27!1;MIE2~2bW_Jifg&Jaej18y_+LTW`<{IHL$ zk2_PQ81-(}>6jh6Lh5d?DASPaen3goXHA9y9kt7$aBFt7-&Vo$IrpK>Ls2lFZg6wGdq4{$|+4x zmt&{Mo|*CT(OGA_ctZ9i=+x$dt&b6)06C= z+CHm*%HLS;&8Jikhx=8`w}H44GB4Ld(yY-}RIvGB0FV_{2C^c9Q@u%s3}G+; Dict[str, Any]: