之前一直不知道这2种状态到底有什么不同。支付宝中担保交易和即时到账交易对其的描述为:
- TRADE_SUCCESS 交易成功(或支付成功)
- TRADE_FINISHED 交易完成
一头雾水。。。。。。OK,找例子来说明吧:
例子一:
- 即时到账普通版。 普通版不支持支付完成后的退款操作,即用户充值完成后,该交易就算是完成了,这笔交易就不能再做任何操作了。
- 即时到账高级版。 这个版本在用户充值完成后,卖家可以执行退款操作进行退款,即该交易还没有彻底完成,卖家还可以修改这笔交易。
OK,开测。当用户在支付宝网站上充值完成后,这个时候支付宝的通知消息中,如果是即时到账普通版,那么这时的交易状态值为: TRADE_FINISHED;如果是即时到账高级版,此时的交易状态值就为:TRADE_SUCCESS。
我第一次接入的时候在我网站中判断用或来做,即如果是交易成功或者交易完成则发货。这时就错大了。。。。。。因为作为即时到账高级版,在TRADE_SUCCESS完成后过了三个月,支付宝又会主动再推送一个消息为TRADE_FINISHED。所以如果我用以上的逻辑来做发货,那么我接入即时到账高级版的话,就会发货2次。
这个问题是因为我没有彻底理解清楚这2种关系造成的。
仔细琢磨了一下,发现了它们两者最本质的差别。TRADE_SUCCESS状态代表了充值成功,也就是说钱已经进了支付宝(担保交易)或卖家(即时到账);这时候,这笔交易应该还可以进行后续的操作(比如三个月后交易状态自动变成TRADE_FINISHED),因为整笔交易还没有关闭掉,也就是说一定还有主动通知过来。而TRADE_FINISHED代表了这笔订单彻底完成了,不会再有任何主动通知过来了。
综上所述,收到TRADE_FINISHED请求后,这笔订单就结束了,支付宝不会再主动请求商户网站了;收到TRADE_SUCCESS请求后,后续一定还有至少一条通知记录,即TRADE_FINISHED。所以,在做通知接口时,切记使用判断订单状态用或的关系。
相关推荐
版本号:V1.2 上一版本号:V1.1 ...修改to_seller_fee参数名称和参数说明(笔误:“买家”应为“卖家”) 版本号:V1.2 更新时间:2014-10-10 更新内容: www.xxx.com(虚构域名) 改名为 商户网关地址
支付宝单笔交易查询接口文档及多语言demo
支付宝 沙箱 调用 AlipayTradeQueryRequest sdk查询订单状态,总是返回 ACQ.TRADE_NOT_EXIST(交易不存在) 调试了半天才发现 AlipayClient alipayClient = new DefaultAlipayClient(aliConstant.URL,aliConstant....
测试通达信交易接口trade的功能,包括查询资金余额,下单等。
支付宝纯担保交易接口源代码,如果您的网站是您的技术人员自行开发且不是网店论坛系统,那么请下载下面的接口资料按照文档及代码示例demo要求来把支付宝产品接入您的网站中。
只要是通过认证的支付宝帐户均可实现在线支付。...买家付完款(trade_status=TRADE_FINISHED)在此状 态下进行数据库的更新。并返回给支付宝success。若没有得到success。 如有疑问,请联系QQ:399051063.
流程: 买家付完款(trade_status=WAIT_SELLER_SEND_GOODS)--->支付宝通知notify_url--->如果反馈给支付宝的是success(表示成功,这个状态下不再反馈,如果不是继续通知,一般第一次发送和第二次发送的时间间隔是3分钟) ...
Beginning_Java_EE_6_Platform_with_GlassFish_trade_3_From_Novice_to_Professional 的 源代码
python库,解压后可用。 资源全名:alpaca_trade_api-1.3.0-py3-none-any.whl
MT4的一键下单面板,功能比较齐全。也挺好用的
支付宝接入 SDK Java版 2019年最新 直接运行demo步骤如下: 1、请先确认zfbinfo.properties配置文件是否已配置完成 2、运行Main.java中的main方法 集成至商户系统步骤如下: 1、拷贝java目录下的Main.java至系统商源...
在此概念证明教育性可行性便利性样本试验研究中,我们旨在探索和比较使用改良的Google Glass:trade_mark:(GG)和GoPro:trade_mark:(GP)技术在严峻医学环境中可视化和向重症监护医师传授ETI的有效性低收入国家。...
可以对谷歌Chrome:trade_mark:是简单的扩展,允许Google Chrome:trade_mark:标签和web应用程序是在单独的窗口中打开。 Google Chrome:trade_mark:弹出窗口是一个简单的扩展程序,它允许在单独的窗口中打开Google ...
英特尔:registered: 酷睿:trade_mark:2 双核处理器台式机,采用英特尔:registered: 博锐:trade_mark: 技术为您提供了内建的专业级管理和安全能力,它可出色应对严峻的业务挑战。现在,IT人员能够直接从 IT控制 台...
英特尔:registered: 博锐:trade_mark: 技术和 Altiris 管理与安全解决方案是一款硬件与软件能力的独特组合,将台式机的控制权重新交回 IT。这一强大的组合帮助减少帮助中心访问,消除了应用冲突,支持更迅速修复毁坏...
为Gmail:trade_mark:创建快速便捷的电子邮件模板,谷歌收件箱:trade_mark:,LinkedIn:trade_mark:,Facebook:trade_mark:,Hotmail:trade_mark:,AOL:trade_mark:和更多! Google Chrome的罐头响应插件是为任何网站(包括...
Neural Networks_ Tricks of the Trade_ Second Edition
if ($trade_status == 'TRADE_FINISHED') { //成功之后的操作 } else if ($trade_status == 'TRADE_SUCCESS') { //成功之后的操作 } echo "success"; // 请不要修改或删除 } else { // 验证失败 echo "fail...
create_trade_history.sql
通过与英特尔合作,CA 确保了其 CA Unicenter* 解决方案可充分利用采用英特尔:registered: 博锐:trade_mark: 技术的个人电脑中内置的基于硬件的新能力。企业的信息技术(IT)部门现在能够远程盘点和管理其电脑,即使...