私のアプリケーションは SetExpressCheckout ペイパル クラシック API メソッドを使用しています。ライブ環境で実際のアカウントを使用すると、問題なく動作します。
以前はテスト アカウントを使用して正常に動作していましたが、数週間前に正常に動作しなくなりました。ある時点で、私のアプリケーションは PHP で curl を使用して「SetExpressCheckout」API メソッドを呼び出します。いつもテストに使用していたテスト販売者アカウントを使用すると、常に次のエラーが発生します。
SetExpressCheckout API call failed.
Detailed Error Message: Security header is not valid
Short Error Message: Security error
Error Code: 10002
Error Severity Code: Error
Paypal が最近「開発者ネットワーク」を再構築したことは知っていますが、これが原因で問題が発生しているようですが、その証拠はありません。私が使用した API は、「クラシック」API と呼ばれるようになりました。
ドキュメントを読みましたが、新しい「実際の」paypal アカウントを作成し、それを使用してhttps://developer.paypal.comにログインする必要があると書かれています。私はそれをしました。
開発者の Web サイトにログインすると、古いサンドボックス アカウントで使用されているすべてのテスト用の購入者と販売者のアカウントをインポートできる機能があります。すると、古いテスト アカウントがリストに表示されました。
そのうちの 1 つは、私がテストに使用したテスト セラー アカウントです。このアカウントの詳細を確認すると、paypal API への認証に使用されるユーザー名、パスワード、署名が表示されています。それらを使用しても、以前のエラーが返されます。
テストアカウントを作成できる機能もあります。新しいセラーを作成しましたが、同じエラー メッセージが表示されます。
この問題についてGoogleで検索すると、ほとんどの回答は、ユーザー名、パスワード、または署名が間違っているか、空白が隠されていると言っています。それは私の場合ではありません。
その問題を解決する方法がわかりません。API エンドポイントが変更されたのではないかと考えています。現在、テストには「 https://api-3t.paypal.com/nvp 」を使用しています。バージョン 64 の NVP API を使用しています。
簡単に言うと、1) 私のテスト アカウントは以前は機能していました 2) コードは変更されていません 3) 実際のアカウントは以前も機能していましたが、現在も機能しています。4) しかし、テスト購入者のアカウントが機能しなくなりました。6) 何が変更されたのか正確にはわかりませんが、これが原因かもしれません。7) 何が変更され、これを引き起こした可能性があるかを誰かが知っていますか (クエリ文字列の新しいパラメーター? エンドポイント URL が変更されましたか?)? 8) 私の以前の説明によれば、私は何かを誤解しているように見えますか?