From cae22f84be74bc9717a677e7380e8004d06588ee Mon Sep 17 00:00:00 2001 From: yumoqing Date: Wed, 15 Jul 2026 17:25:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(wechat):=20convert=20yuan=20to=20fen=20for?= =?UTF-8?q?=20WeChat=20amount=20(=C3=97100)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WeChat amount.total is in fen (分), but user enters yuan (元). int(0.01) = 0 which fails WeChat's minimum 1 fen validation. Fix: int(amount * 100) --- unipay/providers/wechat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unipay/providers/wechat.py b/unipay/providers/wechat.py index 5297a01..ace712d 100644 --- a/unipay/providers/wechat.py +++ b/unipay/providers/wechat.py @@ -152,7 +152,7 @@ class WechatGateway(Gateway): "out_trade_no": payload["out_trade_no"], "notify_url": payload["notify_url"], "amount": { - "total": int(payload["amount"]), + "total": int(payload["amount"] * 100), "currency": payload.get("currency", "CNY") } }