blues9
V2EX  ›  问与答

支付宝回调的一个诡异问题

  •  
  •   blues9 · Oct 29, 2015 · 4948 views
    This topic created in 3925 days ago, the information mentioned may be changed or developed.

    支付宝支付成功后会回调 notify_url 作异步通知处理。
    最近发现支付宝 server 回调的请求订单是 90 天之前支付成功的订单,虽然对业务没有什么影响,但是感觉很怪异。
    按支付宝文档的说法,这个回调在不成功的情况下最多也只会尝试一天左右的时间,这些请求也确实是从支付宝的 server 发出。这会是什么问题?

    6 replies    2015-10-30 12:23:18 +08:00
    takatost
        1
    takatost  
       Oct 30, 2015
    退款吧
    blues9
        2
    blues9  
    OP
       Oct 30, 2015
    @takatost 肯定不是,退款操作都是由操作人员在工作时间统一提交的,而这些回调的请求数是很多的,大大多于退款次数,而且发生的时间很分散,半夜都有,基本上和 90 天之前的支付时间是吻合的。
    morphinewan
        3
    morphinewan  
       Oct 30, 2015
    我碰到过类似的问题,我们用的是即时到账支付接口。在用户支付后,会发生一个回调,这只是一个已经支付完成的通知回调,在支付宝上,这个交易其实还没有结束。支付宝会给用户 90 天的退款期限,这个时间内用户可以提出退款,进入退款流程。当 90 天过后,用户并没有反悔,发起退款。那么就会再次调用你提供的回调 URL 。告诉你,交易已经结束。两次调用的回调 URL 是一样的,但是传递给你的参数有略微的不同,具体你可以参看支付宝 SDK 文档或者直接问支付宝的技术客服,他们很专业,会帮助你的。
    blues9
        4
    blues9  
    OP
       Oct 30, 2015
    @morphinewan 多谢解答。这样就能解释 90 天这个时间点了,我们现有的处理逻辑也是会返回 success 的。不过支付宝的文档里没有找到 90 天回调这个内容,最接近的是这个 http://doc.open.alipay.com/doc2/detail?spm=0.0.0.0.o7dU5n&treeId=62&articleId=103743&docType=1#s1 , 也只说明了首次支付的时候的情况(25 小时以内完成 8 次通知),请问哪里能找到这个 90 天的相关内容?
    morphinewan
        5
    morphinewan  
       Oct 30, 2015
    @yangshengwu 我之前开发支付宝接口已经是 1 年前的事情,没有在线版的文档,有个 word 文档,不过里面也没说到过这个期限。我猜应该是跟你和支付宝签订的商业合同里面带有类似的约定,我们之前也不明白为什么过了 90 天后会再次发生回调。后来在线咨询了支付宝的技术支持,才知道有这么个“约定俗成”的机制。感觉支付宝的接口也会不停迭代更改的,接口定义什么的偶有变化。他们大部分时候会通过商务部门通知签约客户的。到时候需要你们商务负责需要及时通知技术部门及时跟进才行。
    blues9
        6
    blues9  
    OP
       Oct 30, 2015
    @morphinewan 跟业务部门沟通了一下,支付宝那边没有提供特殊的文档,回头我去联系技术客服确认吧。多谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3987 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 05:19 · PVG 13:19 · LAX 22:19 · JFK 01:19
    ♥ Do have faith in what you're doing.