web-dev-qa-db-ja.com

paypalエクスプレスチェックアウト=>エラー:セキュリティヘッダーが無効です

エラー:セキュリティヘッダーが有効な配列ではありません

(
    [TIMESTAMP] => 2014%2d04%2d29T07%3a24%3a29Z
    [CORRELATIONID] => 6af6749c848d6
    [ACK] => Failure
    [VERSION] => 109%2e0
    [BUILD] => 10800277
    [L_ERRORCODE0] => 10002
    [L_SHORTMESSAGE0] => Security%20error
    [L_LONGMESSAGE0] => Security%20header%20is%20not%20valid
    [L_SEVERITYCODE0] => Error
)

このエラーが何度も発生し、先へ進むことができません。すべてのapiユーザー名、パスワード、署名を確認しましたが、すべて正しいですが、主な問題は、すべてのものが既にPaypalサンドボックスアカウントに保存されているが、ページに戻すことができないことです。トランセクトはサンドボックスアカウントに表示されますが、表示ページに転送することはできません。どこか間違ってる?

39
Anup GC

通常、このエラーは、正しいAPI資格情報を使用していないことを意味します。資格情報が正しいと確信している場合は、エンドポイントを見てください。サンドボックス資格情報は実稼働環境では有効ではなく、ライブ資格情報はサンドボックスでこのエラーを生成します

66

ログインに「+」(プラス)記号が含まれていたため、この問題が発生しました。最後に、ここで説明するように手動で「%2B」にデコードしました http://www.zen-cart.com/showthread.php?80849-Plus-sign-%28-quot-quot-%29-in -user-name-causes-security-header-failure-in-Paypal-Express-Checko および問題は解決しました。

8
antongorodezkiy

常に無効なAPIクレデンシャルまたは間違ったエンドポイントを意味するわけではありません

この情報に確信がある場合は、リクエストを行っているエンコーディングを確認してください-UTF-8でなければなりませんwithoutバイトオーダーマーク(BOM)、たとえば(Visual C#.NETで)

var requestEncoding = new UTF8Encoding(false); // UTF-8 without BOM

using (var streamWriter = new StreamWriter(request.GetRequestStream(), requestEncoding))
{
    streamWriter.Write(requestBody);
}

これはnotのデフォルト値であり、すべてをチェックしてから1時間後に役立ちました。

もちろん、すべてのパラメーターもURLエンコードされていることを確認してください

2

間違った資格情報APIユーザー名、APIパスワード、API署名を正しく入力したことを確認してください。コピーアンドペースト中に誤ってスペースが追加されると、このエラーが発生することがあります。 SDKまたはサードパーティのショッピングカートの管理パネルでこの設定を再確認してください。

間違ったエンドポイントデータを間違ったエンドポイントに送信すると、このエラーが発生します。ライブクレデンシャルとデータをライブエンドポイントに送信してください。ストアをテストする場合は、テストエンドポイントとサンドボックステストアカウントの資格情報を使用していることを確認してください。サードパーティのショッピングカートを使用している場合は、使用している資格情報に関して、ストアがテストモードまたはライブモードで実行されていることを確認してください。ライブ用

https://api-3t.Paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.Paypal.com/test.php&CANCELURL=http://www .Paypal.com/test.php&PAYMENTACTION = Sale&AMT = 50&CURRENCYCODE = USD

サンドボックス用

https://api-3t.sandbox.Paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.Paypal.com/test.php&CANCELURL=http:/ /www.Paypal.com/test.php&PAYMENTACTION=Sale&AMT=50&CURRENCYCODE=USD

Reffrenceの場合 リンク

1
krunal sojitra

API_USERNAME API_PASSWORD API_SIGNATURE Paypal_URL

それらとは別に、これも変更します:

**(サンドボックス>ライブから)**

1
Shashank Saxena