0

私はペイパル許可APIを使用して、ペイパルを通じてユーザーを認証し、いくつかの許可を取得しています。

問題は、/Permissions/GetBasicPersonalData呼び出しが「認証に失敗しました。API 資格情報が正しくありません」を返す場合があることです。への呼び出しが成功してトークンとシークレットを取得したにもかかわらず、/Permissions/GetAccessToken

しかし奇妙なことは、それが非常に予測不可能だということです。時々失敗し、サンドボックスで動作することもあり、常に本番環境(ライブペイパル)で失敗します。

機能するときは毎回機能しているように見えますが、失敗すると毎回失敗し始めます。つまり、変更されるまでです。

4

1 に答える 1

0

Paypal は、OAuth 署名の生成中にいくつかのカスタム エンコーディングと文字列操作を行っています。たとえば、最初にエンコード.%2E、後で小文字の string に変換します%2e

独自の Paypal OAuth 署名生成関数を作成していて、いくつかの手順を見逃した場合、署名は無効になります。あなたが説明した「ランダム」なことは、おそらくそれらの特殊文字がtoken/に表示されることが保証されていないためtoken secretです。彼らがそこにいなければ、それは成功し、その逆もまた然りです。

Paypal の公式 Ruby SDK からビット単位で変換することで機能させました。( https://github.com/paypal/sdk-core-ruby/blob/master/lib/paypal-sdk/core/util/oauth_signature.rb )

于 2015-02-11T10:00:55.790 に答える