请问查询订单是否已经支付成功,或中途放弃支付,都是统一使用下面方法么?谢谢。
jackwu882002 opened this issue · 5 comments
check order status
paid = False
for i in range(10):
# check every 3s, and 10 times in all
print("now sleep 3s")
time.sleep(3)
result = alipay.api_alipay_trade_query(out_trade_no="out_trade_no")
if result.get("trade_status", "") == "TRADE_SUCCESS":
paid = True
break
print("not paid...")
请问电脑、手机和App都是使用 alipay.api_alipay_trade_query(out_trade_no="out_trade_no") 来查询订单是否支付成功么?
谢谢指教。
首先, 电脑手机App支付支付宝都会主动推送支付信息给你. 这个是异步通知你的机制
其次, 电脑手机App在支付成功之后,应该都有类似的回调URL 给你, 上面会附加支付状态. 这是同步通知机制
一般以第一个为准就好, 为了使系统更加稳健,后端应该同时实现两种机制的处理逻辑.
在你的服务没有公网IP或者公网URL的时候, 可以本地主动轮询支付宝查询订单状态, 也就是你提到的那一段代码
谢谢快速和清晰的回答。
这个 通知机制,其实都是支付方看到的信息,是么?
但是作为卖方为了确认一下订单状态,或者支付方后期再查看订单状态,那就是还是要主动去查询支付宝订单状态。
请问是这样理解么?
上面提到的两个机制都是给卖方确认支付状态用的,并不是买方
如果后期希望确认支付状态, 可以调用你说的接口查询信息.
但是一般而言, 上面提到的异步和同步机制足够我们使用了.
上面提到的两个机制都是给卖方确认支付状态用的,并不是买方
我一会尝试一下这个机制的效果,自己误解是这个回调是给用户一个跳转和支付成功提示,和卖方没有太多关系,谢谢了,赞。