保存订单结果
我们支付成功以后可以看到一个order/payment的请求
我们首先定义路由
@api.route("/order/payment", methods=["PUT"])
@login_required
def save_order_payment_result():
"""
保存订单的结果
:return: json
"""
然后查看sdk完善代码
首先要接受参数
data = request.form.to_dict()
# sign 不能参与签名验证
signature = data.pop("sign")
success = alipay.verify(data, signature)
注意这里有一个alipay,我们直接把上面写好的拿下来
success用于判断是否成功
我们打印一下看看success给我们返回了什么
接下来我们要从这个字典中获取我们要保存的数据
if success:
order_id = data.get('out_trade_no')
trade_no = data.get('trade_no') # 支付宝的交易号
# 修改状态,改为待评价
try:
Order.query.filter(Order.id == order_id).updata({"status": "WAIT_COMMENT", "trade_no": trade_no})
db.session.commit()
except Exception as e:
logging.error(e)
db.session.rollback()
return jsonify(errno=RET.OK, errmsg='OK')
我们刷新支付完成的页面
可以看到状态和订单号都有了
成功保存