【发布时间】:2013-02-27 11:37:30
【问题描述】:
我们正在建立一个基于 Spree 并托管在 Heroku 上的在线商店。我们希望使结帐尽可能简单,因此我们决定使用 PayPal Express Checkout 和 Instant Update API 来确定运费。
当我们通过 HTTP 测试结帐流程时,一切正常 - 当用户输入他的送货地址时,PayPal 在后台查询我们的服务器并获取运费。
但是,当我们切换到 SSL 时,运费并没有更新,而是恢复为默认的统一费率。我不知道出了什么问题,因为一切都一样,除了这次应用程序是通过 HTTPS 访问的,即https://myapp.herokuapp.com
我检查了日志,发现 PayPal 的服务器确实进行了查询,但运费并未在 PayPal 的结帐页面上更新。
有什么想法吗?
更新:
经过进一步测试,PayPal 似乎没有遵守交易设置中设置的超时时间。我们在回调方法中添加了一个简单的“sleep(x)”来人为地引入一些延迟(x 秒),即使在正常的 HTTP 上,仅仅 1 秒的延迟就足以导致 PayPal 忽略响应。
最大超时应该是 6 秒,但实际上似乎根本不是这种情况。再加上 HTTPS(建立连接需要更长的时间),这可能就是回调失败的原因。
我已向 PayPal 提交了工单,但我不确定他们是否会对此做出回应或采取任何措施...
【问题讨论】:
-
您收到回复了吗?
-
没有。目前,我们已经放弃了即时发货更新,让用户选择发货:(
-
我向 Paypal 报告,他们刚刚回信说他们昨天修复了它!我无法测试它,因为我的 BIOS 更新只是破坏了我的笔记本电脑,但会尽快测试并报告。不幸的是,这就是他们所说的 - 没有确认有关确切问题的详细信息
标签: ruby-on-rails paypal spree