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 - 如何获取交易号?