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

Posted

技术标签:

【中文标题】PayPal REST API (PHP SDK) 成功交易未在沙盒模式下显示,在实时模式下显示【英文标题】:PayPal REST API (PHP SDK) successful transactions not showing in sandbox mode, showing in live mode 【发布时间】:2015-11-16 08:18:35 【问题描述】:

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

步骤如下:

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

    输入检索到的 URL,登录我的 PayPal 沙盒买家账户,然后批准付款。这会将我重定向到成功 URL。

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

    获取付款(http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/OrderCapture.html)。

所有步骤都成功,我没有发现任何异常,付款和订单状态良好(订单“已完成”,付款“已批准”)。

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

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

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

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

另外,在任何一种模式下都不会发送已捕获订单的收据。唯一发送的电子邮件是:

您向 MyBusiness 提交了金额为 x.xx 的订单

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

【问题讨论】:

【参考方案1】:

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

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

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"] 以找到更多类似内容.

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

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

【讨论】:

感谢您的广泛研究!我实际上直接联系了 PayPal,他们还告诉我这种行为是有意的。我不认为这是他们应该取消的,但是......哦,好吧。

以上是关于PayPal REST API (PHP SDK) 成功交易未在沙盒模式下显示,在实时模式下显示的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PayPal REST API 和 PayPal PHP SDK 保存 PayPal 帐户以备将来付款

Laravel Guest-checkout is not working in paypal using "paypal/rest-api-sdk-php": "*&q

PayPal Rest API (PHP SDK) webhook 未显示在沙盒事件列表中

带有 PHP SDK 的 Paypal REST API - 如何获取交易号?

如何将 PayPal 智能支付按钮与 PHP V2 的 REST API SDK 结合起来?

通过 PHP SDK 的 PayPal REST API 返回“传入的 JSON 请求未映射到 API 请求”