【发布时间】:2014-05-28 15:18:03
【问题描述】:
假设我们有 PayPal 沙盒帐户,并创建了用于 REST API 调用的应用程序。
在我们的应用程序中,我们使用 PayPal 支付按钮将客户重定向到 PayPal 网站。客户付款并返回网站,我们在此检查状态并设置交易的外部参考。
对于此操作,我们使用的不是应用程序的凭据,而是帐户 - 电子邮件、密码和用户名。在此之后,我们将接受来自 PayPal 的 IPN 消息以使用相同的凭据跟踪状态。
然后我们有一个按钮Refund,按下这个按钮将向PayPal发送一个REST API请求,其中包含应用程序的访问信息(clientId和clientSecret >)。这部分构建在 PayPal PHP SDK 之上。
当我尝试执行呼叫时 - PayPal 返回 404 错误。我想应用程序看不到付款。
更好地了解使用的凭据和位置:
贝宝账户:
- 直播:
- 电子邮件
- 密码
- 用户名
- 测试:
- 电子邮件测试
- 密码测试
- 用户名测试
- 应用:
- 直播:
- clientId
- clientSecret
- 测试:
- clientIdTest
- clientSecretTest
- 直播:
对于我使用的按钮:email-test、username-test、password-test
然后我得到$transactionId。并在代码中使用它:
$api = new ApiContext(new OAuthTokenCredential($clientIdTest, $clientSecretTest));
$ppAmount = new Amount();
$ppAmount->setCurrency('USD')
->setTotal(33.15);
$ppRefund = new Refund();
$ppRefund->setAmount($ppAmount);
$ppSale = new Sale();
$ppSale->setId($transactionId);
$ppSale->refund($ppRefund, $apiContenxt);
我得到 404。如您所见,我对按钮和 REST 调用使用测试凭据,但由于某种原因得到 404。
提前致谢。
【问题讨论】:
-
当您收到此错误时,您能否发布错误日志的输出?根据我的测试,只要您拥有有效的 transactionid,这应该可以正常工作。