我正在使用Paypal PHP REST API SDK,完全按照PayPal [{3}}提供的样本来创建和捕获订单。
步骤如下:
创建订单并检索快速结帐网址(here)。
输入检索到的网址,登录我的PayPal沙盒买家帐户,然后批准付款。这会将我重定向到成功网址。
执行订单(http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/OrderCreateUsingPayPal.html)。
获取付款(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/下显示的成功交易外,一切都完全相同。正在进行交易,订单显示在我的帐户和买方的帐户中“已完成”。
我做错了什么,或者PayPal的沙箱有问题吗? 为什么沙箱不能反映实时模式中真正发生的事情?
,捕获订单的收据永远不会在任何一种模式下发送。发送的唯一电子邮件是:
您提交了x.xx到MyBusiness
的订单
它清楚地表明付款尚未收费。所以基本上什么也没告诉买家他付了钱。
答案 0 :(得分:1)
看来这实际上是预期的行为。
我发现这些链接(有些很旧):
这似乎表明,PayPal故意既没有向买家发送电子邮件,也没有向付款人发送电子邮件。
有人说他们收到了PayPal的电子邮件,类似于:
厌倦了电子邮件的混乱?我们也是。为了让您的生活更轻松,我们会删除一些自动发送的电子邮件 交易后发送。这些更改将于2009年2月11日生效。虽然您将不再收到 某些电子邮件,所有交易详情仍将显示在您的PayPal帐户中,以便保存记录。
[...]
我们停止发送的电子邮件是:
- [...]
- 当资金从您客户的PayPal帐户中移出时收到的电子邮件(商家捕获电子邮件: ID#PP593)
- 当资金离开其PayPal帐户时,您的客户收到的电子邮件(买方捕获电子邮件: ID#PP591)
- [...]
要查看这些电子邮件的示例,请访问www.paypal.com/discontinuedemails。
谢谢,
贝
您可以搜索[ paypal"商家捕获电子邮件" ]或[ paypal"买家捕获电子邮件" ]在您最喜欢的搜索引擎中找到更多这样的内容。
我猜你必须发送自己的电子邮件。
Here's a question可能是相关的,但我并非100%确定。