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

PayPal REST API (PHP SDK) successful transactions not showing in sandbox mode, showing in live mode

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

步骤是:

  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)。

所有步骤都成功,没有发现异常,付款和订单状态良好(订单为"completed",付款为"approved")。

交易正在进行,我可以看到资金正在Sandbox Accounts settings下的测试买家账户和卖家之间转移。

但是,成功的 交易不会显示在 https://developer.paypal.com/developer/dashboard/sandbox/ 中的沙盒交易下。 失败 笔交易确实会显示在那里(例如,如果我尝试捕获相同的付款两次)。

如果我切换到实时模式,除了成功的交易确实显示在 Live Transactions 下之外,一切都完全一样。交易正在进行中,订单在我的账户和买家的账户中显示为 "completed"。

是我做错了什么,还是PayPal的沙箱有问题? 为什么沙盒不反映实时模式中真正发生的事情?

还有,捕获订单的收据永远不会以任何一种方式发送。唯一发送的电子邮件是:

You submitted an order in the amount of x.xx to MyBusiness

而且它清楚地表明付款尚未收取。所以基本上没有人告诉买家他付了钱。

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

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

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

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

Tired of email clutter? So are we. To make your life easier, we're eliminating some of the automatic emails we send after transactions. These changes will take effect on February 11, 2009. Though you will no longer receive certain emails, all transaction details will still show up in your PayPal account for your record keeping.

[…]

The emails we're discontinuing are:

  • […]
  • The email you receive when funds move out of your customer's PayPal account (Merchant capture email: ID# PP593)
  • The email your customer receives when funds move out of their PayPal account (Buyer capture email: ID# PP591)
  • […]

To see examples of these emails, visit www.paypal.com/discontinuedemails.

Thanks,
PayPal

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

我想你必须发送自己的电子邮件。

Here's a question 可能相关,但我不是 100% 确定。