0

在过去的几天里,我一直致力于使用 PayPal SDK for PHP(它使用 REST API)实现支付集成。但是,我遇到了一些问题。

当付款人被重定向到 PayPal 网站以批准其付款并重定向回返回 URL 时,PayPal 在执行批准的付款时返回 HTTP 400 状态代码。执行支付的代码如下。请注意,$paymentId 是创建付款后返回的 ID,$payerId 是与批准一起发送的 PayerID。

$payment = Payment::get($paymentId);
$paymentExecution = new PaymentExecution();
$paymentExecution->setPayer_id($payerId);
$payment->execute($paymentExecution);

它说付款无效:

{"name":"PAYMENT_STATE_INVALID","message":"由于当前付款状态,此请求无效","information_link":" https://developer.paypal.com/docs/api/#PAYMENT_STATE_INVALID " ,"debug_id":"223647e6e42fb"}

在弄清楚哪里出了问题(请注意,API 中包含的示例也给出了相同的错误),我在日志文件中偶然发现了以下行:

PPHttpConnection:无效或未找到证书颁发机构 - 使用捆绑的 CA 证书文件重试

我检查以确保 SDK 找到了 SDK 中包含的证书。所以我的猜测是这是一个无效的证书。我现在有点不知道该怎么做。有人知道如何解决这个问题吗?

4

1 回答 1

0

state在执行执行之前,您应该始终检查您的付款。该错误表示付款已经执行

付款状态。必须设置为下列之一: created; approved; failed; canceled; expired; pending. 由 PayPal 分配的值。

您可能在Create付款上运行了该方法,并且该Create方法执行与Execute.

于 2015-03-01T13:55:04.717 回答