Certificate PayPal证书无效或未找到
在过去的几天里,我一直在使用PayPalSDK For PHP(使用RESTAPI)实现支付集成。但是,我遇到了一些问题 当付款人被重定向到PayPal站点以批准其付款并重定向回返回URL时,PayPal在执行批准的付款时返回HTTP 400状态代码。执行付款的代码如下所示。请注意,$paymentId是创建付款后返回的ID,$payerId是随批准一起发送的payerIdCertificate PayPal证书无效或未找到,certificate,paypal,Certificate,Paypal,在过去的几天里,我一直在使用PayPalSDK For PHP(使用RESTAPI)实现支付集成。但是,我遇到了一些问题 当付款人被重定向到PayPal站点以批准其付款并重定向回返回URL时,PayPal在执行批准的付款时返回HTTP 400状态代码。执行付款的代码如下所示。请注意,$paymentId是创建付款后返回的ID,$payerId是随批准一起发送的payerId $payment = Payment::get($paymentId); $paymentExecution = new
$payment = Payment::get($paymentId);
$paymentExecution = new PaymentExecution();
$paymentExecution->setPayer_id($payerId);
$payment->execute($paymentExecution);
它说付款无效:
{“名称”:“付款状态无效”,“消息”:“由于付款的当前状态,此请求无效”,“信息链接”:“调试id”:“223647e6e42fb”}
在找出所有错误的地方时(请注意,API中包含的示例也给出了相同的错误),我在日志文件中偶然发现了以下行:
PPHttpConnection:无效或未找到证书颁发机构-正在使用绑定的CA证书文件重试
我检查以确保SDK找到SDK中包含的证书。所以我猜这是一个无效的证书。我现在有点不知所措,不知该怎么办。有人知道如何解决这个问题吗?在运行execute之前,您应该始终检查您的付款状态。该错误表示已执行付款 付款国。必须设置为以下选项之一:
创建;经核准的;失败;取消;期满;挂起
。赋值
贝宝
您可能在付款时运行了
Create
方法,而Create
方法执行的子方法与Execute
相同,请确保付款id
和付款人id
正确。参考我的错误,指向贝宝的错误回复。后期编辑。PayPal批准付款后收到的响应中未出现错误。它在尝试执行付款时弹出。当您为示例付款发送多个execute payment请求时,可能会出现这种情况,因此请检查是否有重复的对账单($payment->execute($paymentExecution);
)。证书问题只是一个警告,SDK将使用绑定的CA证书文件重试该请求。已检查多个execute语句。付款只执行一次。关于证书问题:当我使用以下代码关闭证书验证时curl\u setopt($ch,CURLOPT\u SSL\u VERIFYPEER,0)代码>付款实际达到完成状态,并且未引发PPConnectionException。然而,由于安全措施,这不是一个可行的解决方案。