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", "payer_client_ip": "127.0.0.1",
} }
) )
if code == 200: result = result or {}
if code == 200 and result.get('code_url'):
# 注意:微信返回的 code_url 可能需要进一步处理成二维码图片地址 # 注意:微信返回的 code_url 可能需要进一步处理成二维码图片地址
return result.get('code_url') return result.get('code_url')
else: else:
@@ -518,7 +519,8 @@ async def _query_wechat_order(db: AsyncSession, order: PaymentOrder, db_configs:
try: try:
code, result = client.query(out_trade_no=order.order_no) 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( logger.info(
f"WeChat query succeeded: order_no={order.order_no}, " f"WeChat query succeeded: order_no={order.order_no}, "
f"trade_state={result.get('trade_state')}" f"trade_state={result.get('trade_state')}"
@@ -573,8 +575,9 @@ async def _refund_wechat_order(
}, },
reason=refund_reason 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}") logger.info(f"WeChat refund succeeded: order_no={order.order_no}")
return {"success": True, "refund_id": result.get('refund_id')} return {"success": True, "refund_id": result.get('refund_id')}
else: else:
@@ -584,7 +587,7 @@ async def _refund_wechat_order(
) )
return { return {
"success": False, "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: except Exception as e:
logger.exception(f"WeChat refund exception: order_no={order.order_no}") logger.exception(f"WeChat refund exception: order_no={order.order_no}")