在过去的几天里,我一直致力于使用PayPal SDK for PHP(使用REST API)实现支付集成。不过,我一直在遇到一些问题。PayPal证书无效或未找到
当付款人被重定向到PayPal网站以批准他的付款并被重定向回到返回URL时,PayPal在执行批准的付款时返回HTTP 400状态码。执行付款的代码如下。请注意,$ paymentId是创建付款后返回的ID,$ payerId是与批准一起发送的PayerID。
$payment = Payment::get($paymentId);
$paymentExecution = new PaymentExecution();
$paymentExecution->setPayer_id($payerId);
$payment->execute($paymentExecution);
它说的付款无效:
{ “名”: “PAYMENT_STATE_INVALID”, “消息”: “这个请求是无效的,由于支付的当前状态”,“information_link “:” https://developer.paypal.com/docs/api/#PAYMENT_STATE_INVALID”,‘debug_id’:‘223647e6e42fb’}
虽然搞清楚一切都错了(注意,样本包含的API也给了同样的错误),我碰到下面的行绊倒我的日志文件:
PPHttpConnection:无效或无认证机构发现 - 使用捆绑的CA证书文件重试
我检查,以确保该SDK定位SDK附带的证书。所以我的猜测是这是一个无效的证书。我现在有点不知所措了。有谁知道如何解决这个问题?
确保'payment_id'和'payer_id'正确。请参阅https://developer.paypal.com/webapps/developer/docs/api/#execute-an-approved-paypal-payment – siddick
我的不好,指出贝宝的错误回应。发布编辑。 PayPal批准付款后收到的回复不会发生错误。尝试执行付款时弹出。 –
这可能发生,当您发送多个支付样本付款请求时,请检查是否存在任何重复的报表('$ payment-> execute($ paymentExecution);')。证书问题只是一个警告,SDK将重新发送捆绑CA证书文件的请求。 – siddick