微信支付回调debug
This commit is contained in:
parent
1ff60433a3
commit
6d651c4833
@ -277,59 +277,97 @@ async def order_pay(request: OrderPayRequest):
|
|||||||
|
|
||||||
|
|
||||||
@router.post("/paystatus/")
|
@router.post("/paystatus/")
|
||||||
async def wxpay_notify(request: Request):
|
async def notify(request: Request):
|
||||||
|
# 获取请求的 body 数据
|
||||||
|
body = await request.body()
|
||||||
|
|
||||||
|
# 假设 wxpay.callback 是一个同步函数
|
||||||
|
result = wxpay.callback(request.headers, body)
|
||||||
|
|
||||||
|
if result and result.get('event_type') == 'TRANSACTION.SUCCESS':
|
||||||
|
resp = result.get('resource')
|
||||||
|
appid = resp.get('appid')
|
||||||
|
mchid = resp.get('mchid')
|
||||||
|
out_trade_no = resp.get('out_trade_no')
|
||||||
|
transaction_id = resp.get('transaction_id')
|
||||||
|
trade_type = resp.get('trade_type')
|
||||||
|
trade_state = resp.get('trade_state')
|
||||||
|
trade_state_desc = resp.get('trade_state_desc')
|
||||||
|
bank_type = resp.get('bank_type')
|
||||||
|
attach = resp.get('attach')
|
||||||
|
success_time = resp.get('success_time')
|
||||||
|
payer = resp.get('payer')
|
||||||
|
amount = resp.get('amount').get('total')
|
||||||
|
|
||||||
|
print(amount)
|
||||||
|
print(success_time)
|
||||||
|
print(payer)
|
||||||
|
print(attach)
|
||||||
|
print(bank_type)
|
||||||
|
print(trade_state)
|
||||||
|
print(trade_state_desc)
|
||||||
|
print(trade_type)
|
||||||
|
print(transaction_id)
|
||||||
|
print(out_trade_no)
|
||||||
|
|
||||||
|
|
||||||
|
return JSONResponse(content={'code': 'SUCCESS', 'message': '成功'}, status_code=200)
|
||||||
|
else:
|
||||||
|
return JSONResponse(content={'code': 'FAILED', 'message': '失败'}, status_code=500)
|
||||||
|
# async def wxpay_notify(request: Request):
|
||||||
|
|
||||||
# connection = None
|
# connection = None
|
||||||
# cursor = None
|
# cursor = None
|
||||||
try:
|
# try:
|
||||||
# 获取回调数据
|
# # 获取回调数据
|
||||||
headers = dict(request.headers)
|
# headers = dict(request.headers)
|
||||||
data = await request.body()
|
# data = await request.body()
|
||||||
|
|
||||||
# 解密回调数据
|
|
||||||
result = wxpay.callback(headers, data)
|
|
||||||
if result and result.get('event_type') == 'TRANSACTION.SUCCESS':
|
|
||||||
print("收到支付成功信息")
|
|
||||||
print(result)
|
|
||||||
out_trade_no = result.get('out_trade_no')
|
|
||||||
print(out_trade_no)
|
|
||||||
transaction_id = result.get('transaction_id')
|
|
||||||
print(transaction_id)
|
|
||||||
|
|
||||||
|
|
||||||
# 获取数据库连接
|
|
||||||
# connection = get_connection()
|
|
||||||
# cursor = connection.cursor(dictionary=True)
|
|
||||||
#
|
#
|
||||||
# # 查询订单并锁定
|
# # 解密回调数据
|
||||||
# cursor.execute("""
|
# result = wxpay.callback(headers, data)
|
||||||
# SELECT order_id, payable_price
|
# if result and result.get('event_type') == 'TRANSACTION.SUCCESS':
|
||||||
# FROM orders
|
# print("收到支付成功信息")
|
||||||
# WHERE out_trade_no = %s
|
# print(result)
|
||||||
# FOR UPDATE""", (out_trade_no,))
|
# out_trade_no = result.get('out_trade_no')
|
||||||
# order = cursor.fetchone()
|
# print(out_trade_no)
|
||||||
#
|
# transaction_id = result.get('transaction_id')
|
||||||
# cursor.execute("""
|
# print(transaction_id)
|
||||||
# UPDATE orders SET
|
|
||||||
# order_status = 'completed',
|
|
||||||
# payment_method = 'wechat',
|
|
||||||
# wx_transaction_id = %s,
|
|
||||||
# settlement_time = NOW()
|
|
||||||
# WHERE order_id = %s""",
|
|
||||||
# (transaction_id, order['order_id']))
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# connection.commit()
|
# # 获取数据库连接
|
||||||
|
# # connection = get_connection()
|
||||||
# 返回微信要求的成功响应
|
# # cursor = connection.cursor(dictionary=True)
|
||||||
return JSONResponse(content={"code": "SUCCESS", "message": "OK"})
|
# #
|
||||||
|
# # # 查询订单并锁定
|
||||||
except Exception as e:
|
# # cursor.execute("""
|
||||||
logging.error(f"回调处理异常: {str(e)}", exc_info=True)
|
# # SELECT order_id, payable_price
|
||||||
# if connection:
|
# # FROM orders
|
||||||
# connection.rollback()
|
# # WHERE out_trade_no = %s
|
||||||
return JSONResponse(content={"code": "FAIL", "message": "系统错误"}, status_code=500)
|
# # FOR UPDATE""", (out_trade_no,))
|
||||||
# finally:
|
# # order = cursor.fetchone()
|
||||||
# if cursor:
|
# #
|
||||||
# cursor.close()
|
# # cursor.execute("""
|
||||||
# if connection:
|
# # UPDATE orders SET
|
||||||
# connection.close()
|
# # order_status = 'completed',
|
||||||
|
# # payment_method = 'wechat',
|
||||||
|
# # wx_transaction_id = %s,
|
||||||
|
# # settlement_time = NOW()
|
||||||
|
# # WHERE order_id = %s""",
|
||||||
|
# # (transaction_id, order['order_id']))
|
||||||
|
# #
|
||||||
|
# #
|
||||||
|
# # connection.commit()
|
||||||
|
#
|
||||||
|
# # 返回微信要求的成功响应
|
||||||
|
# return JSONResponse(content={"code": "SUCCESS", "message": "OK"})
|
||||||
|
#
|
||||||
|
# except Exception as e:
|
||||||
|
# logging.error(f"回调处理异常: {str(e)}", exc_info=True)
|
||||||
|
# # if connection:
|
||||||
|
# # connection.rollback()
|
||||||
|
# return JSONResponse(content={"code": "FAIL", "message": "系统错误"}, status_code=500)
|
||||||
|
# # finally:
|
||||||
|
# # if cursor:
|
||||||
|
# # cursor.close()
|
||||||
|
# # if connection:
|
||||||
|
# # connection.close()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user