PayPal REST API (PHP SDK)成功交易不显示在沙箱模式,显示在实时模式



我正在使用Paypal PHP REST API SDK,完全按照Paypal提供的示例来创建和捕获订单。

步骤如下:

  1. 创建订单并检索快递结帐URL (http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/OrderCreateUsingPayPal.html)

  2. 输入检索到的URL,登录我的PayPal沙箱买家账户,并批准付款。这将我重定向到成功URL。

  3. 执行订单(http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/OrderGet.html)

  4. 收款(http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/OrderCapture.html)

所有步骤都是成功的,我没有发现任何异常,付款和订单状态都很好(订单"完成",付款"批准")。

交易正在发生,我可以看到在Sandbox Accounts设置下,钱正在测试买方账户和卖方账户之间转移。

但是,成功的事务不会显示在https://developer.paypal.com/developer/dashboard/sandbox/的Sandbox transactions下。失败的交易确实会显示在那里(例如,如果我试图捕获相同的支付两次)。

如果我切换到实时模式,除了成功的事务显示在实时事务下外,一切都是完全一样的。交易正在进行中,订单在我和买方的账户中显示为"已完成"。

是我做错了什么,还是PayPal的沙盒出了什么问题?为什么沙箱不能反映实时模式下的真实情况?

同样,捕获订单的收据在两种模式下都不会发送。唯一发送的邮件是:

您向MyBusiness提交了金额为xxx的订单

上面清楚地写着尚未付款。所以基本上没有任何东西告诉买家他付了钱。

看来这实际上是预期的行为。

我找到了这些链接(有些很老了):

  • https://www.paypal-community.com/t5/Selling-on-your-website/Not-receiving-capture-funds-email-notifications/td-p/552038?profile.language=en-gb
  • http://www.e-junkie.com/bb/topic/3039 post8545
  • http://www.rdnassociates.com/newsletters/081217.pdf
  • http://eventhorizon1984.typepad.com/event_horizon_1984_blog/2008/12/paypal-ebay-important-paypal-is-eliminating-some-automatic-emails.html

这似乎表明PayPal在捕获付款时故意不向买方或商家发送电子邮件。

一些人说他们收到了PayPal发来的类似这样的电子邮件:

厌倦了杂乱的电子邮件?我们也是。为了让你的生活更轻松,我们正在取消一些我们会自动发送的邮件交易后发送。这些变化将于2009年2月11日生效。虽然你不会再得到某些电子邮件,所有交易细节仍会显示在您的PayPal帐户中,以供您保存。

[…]

我们要停止的邮件是:

  • […]
  • 当资金从客户的PayPal账户中移出时,您收到的电子邮件(商户捕获电子邮件:ID # PP593)
  • 当资金从他们的PayPal账户转移时,您的客户收到的电子邮件(买方捕获电子邮件:ID # PP591)
  • […]

查看这些邮件的示例,请访问www.paypal.com/discontinuedemails。

谢谢,
贝宝

您可以在[paypal "merchant capture email"]或[paypal "buyer capture email"]在您最喜欢的搜索引擎中查找更多类似的内容。

我想你得自己发邮件了。

这里有一个问题可能与此相关,但我不是百分之百确定。

最新更新