This commit is contained in:
2026-06-12 10:20:27 +08:00
parent af3faeb655
commit e699b110f8
+7 -4
View File
@@ -445,7 +445,8 @@ def _create_wechat_order(order: PaymentOrder, db_configs: dict[str, str]) -> str
"payer_client_ip": "127.0.0.1",
}
)
if code == 200:
result = result or {}
if code == 200 and result.get('code_url'):
# 注意:微信返回的 code_url 可能需要进一步处理成二维码图片地址
return result.get('code_url')
else:
@@ -518,7 +519,8 @@ async def _query_wechat_order(db: AsyncSession, order: PaymentOrder, db_configs:
try:
code, result = client.query(out_trade_no=order.order_no)
if code == 200 and hasattr(result, 'get') and result.get('trade_state'):
result = result or {}
if code == 200 and result.get('trade_state'):
logger.info(
f"WeChat query succeeded: order_no={order.order_no}, "
f"trade_state={result.get('trade_state')}"
@@ -573,8 +575,9 @@ async def _refund_wechat_order(
},
reason=refund_reason
)
result = result or {}
if code == 200 and hasattr(result, 'get') and result.get('status') == 'SUCCESS':
if code == 200 and result.get('status') == 'SUCCESS':
logger.info(f"WeChat refund succeeded: order_no={order.order_no}")
return {"success": True, "refund_id": result.get('refund_id')}
else:
@@ -584,7 +587,7 @@ async def _refund_wechat_order(
)
return {
"success": False,
"message": f"微信退款失败: code={code}, {result.get('code', '') if hasattr(result, 'get') else ''}"
"message": f"微信退款失败: code={code}, {result.get('code', '')}"
}
except Exception as e:
logger.exception(f"WeChat refund exception: order_no={order.order_no}")