2014-04-29 5 views
31

Fehler: Sicherheits Header ist nicht gültig ArrayPaypal Express zu bezahlen => Fehler: Sicherheits Header ist nicht gültig

(
    [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 
) 

Ich erhalte diesen Fehler wieder und wieder und kann nicht vorankommen. Ich habe alle API-Benutzernamen, Passwort und Unterschrift überprüft, alle sind korrekt, aber das Hauptproblem ist, dass alle Dinge sind bereits in Paypal Sandbox-Konto gespeichert, aber es kann nicht zurück auf die Seite geben. Ich möchte sagen, dass die Durchtrennung im Sandbox-Konto angezeigt wird, aber nicht an die Anzeigeseite gesendet werden kann. Liege ich irgendwo falsch?

Antwort

58

Im Allgemeinen bedeutet dieser Fehler, dass Sie nicht die richtigen API-Anmeldeinformationen verwenden. Wenn Sie überzeugt sind, dass Ihre Anmeldeinformationen korrekt sind, sehen Sie sich Ihren Endpunkt an. Sandbox-Anmeldeinformationen nicht gültig in der Produktionsumgebung und Live-Anmeldeinformationen erzeugen diesen Fehler in der Sandbox

+7

I bekam den gleichen Fehler wie in der ursprünglichen Frage, als ich das folgende Golang PayPal-Paket verwendete: https://github.com/crowdmob/paypal. Falls jemand anders auf einen ähnlichen Fehler trifft, kann der relevante PAYPAL_TEST_USERNAME unter Sandbox -> Konten -> Profil -> API-Anmeldedaten gefunden werden und sieht wie username-facilitator_api1.domain.com aus. Es wird nicht der normale Benutzername [email protected] sein. Auf dieser Seite finden Sie auch das entsprechende PAYPAL_TEST_PASSWORD. Hoffentlich spart dies jemandem Zeit. – rudolph1024

+3

Dies ist ein guter Tipp. Ich möchte hinzufügen, dass Sie ein BUSINESS-Profil mit dem Namen [email protected] auswählen müssen, da andernfalls die Registerkarte "API-Berechtigungen" nicht im Profilbereich angezeigt wird. Hier ist ein Screenshot http://slidemodel.com/images/misc/paypal-blur-credentials-screenshot.png – julianm

+4

Ich mache das mehrmals im Jahr und muss immer noch nachsehen. Dieses Mal war das Problem, wie @ Rudolph1024 vorgeschlagen: Ich hatte die E-Mail/Benutzername hinzugefügt, ohne die _api1 anhängen. PayPal ist lächerlich. – phillyslick

1

API_USERNAME API_PASSWORD API_SIGNATURE PAYPAL_URL

von ihnen auseinander diese ändern:

** (von Sandbox> Live) **

+0

Die Modusoptionen ("Sandbox" und "Live") sind beide Kleinbuchstaben - mussten den Quellcode durchsuchen, um diese Optionen auch beim ersten Mal zu finden, der "Live" -Wert erscheint nirgendwo * in der Dokumentation. – brichins

1

Falsche Anmeldeinformationen Stellen Sie sicher, dass Sie Ihren API-Benutzernamen, das API-Passwort und die API-Signatur richtig eingegeben haben. Manchmal kommt es vor, dass beim Kopieren und Einfügen versehentlich ein Leerzeichen hinzugefügt wird, dies würde diesen Fehler auslösen. Überprüfen Sie diese Einstellungen im SDK oder im Admin-Steuerfeld Ihres Drittanbieter-Einkaufswagens.

Falscher Endpunkt Dieser Fehler tritt auf, wenn Sie die Daten an den falschen Endpunkt senden. Stellen Sie sicher, dass Sie die Live-Anmeldedaten und Daten an unseren Live-Endpunkt senden. Wenn Sie Ihren Shop testen möchten, stellen Sie sicher, dass Sie unseren Testendpunkt und die Anmeldeinformationen aus Ihrem Sandbox-Testkonto verwenden. Wenn Sie einen Einkaufswagen eines Drittanbieters verwenden, vergewissern Sie sich, dass Ihr Geschäft im Test- oder Live-Modus ausgeführt wird und welche Anmeldeinformationen Sie verwenden. FÜR LIVE-

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

FÜR SANDBOX

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

Für reffrence link

+1

Bitte bearbeiten Sie Ihren Beitrag und verlinken Sie zum [ursprünglichen Beitrag] (http://Stackoverflow.com/a/23265150/1057527), wo Sie diesen Text von – machineaddict

2

Es bedeutet nicht immer ungültig API-Anmeldeinformationen oder falsche Endpunkt

Wenn Sie absolut sicher in dieser Info, überprüfen Sie das Encodin g Sie machen Ihre Anfrage mit - es sollte UTF-8 ohne Byte-Reihenfolge Mark (BOM), z. B. (in Visual C#.NET)

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

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

Dies ist nicht ein Standardwert, und es hat mir geholfen, nach einer Stunde alles Überprüfung

Natürlich stellen Sie sicher, alle Ihre Parameter sind URL-codiert, zu

+0

kopiert haben, das war mein Problem beim Upgrade einer älteren Paypal-Lösung –

Verwandte Themen