我正在使用Paypal PHP REST API SDK,完全按照Paypal提供的示例来创建和捕获订单。
步骤如下:
-
创建订单并检索快递结帐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设置下,钱正在测试买方账户和卖方账户之间转移。
但是,成功的事务不会显示在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"]在您最喜欢的搜索引擎中查找更多类似的内容。
我想你得自己发邮件了。
这里有一个问题可能与此相关,但我不是百分之百确定。