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 に答える