web-dev-qa-db-fra.com

paypal express checkout => Erreur: l'en-tête de sécurité n'est pas valide

Erreur: l'en-tête de sécurité n'est pas un tableau valide

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

Je reçois cette erreur encore et encore et je ne peux pas avancer. J'avais vérifié tous les nom d'utilisateur, mot de passe et signature d'API, ils sont tous corrects, mais le problème principal est que tout est déjà enregistré dans le compte Paypal sandbox, mais il ne peut pas redonner à la page. Je veux dire que la section est affichée dans le compte sandbox mais elle ne peut pas être transférée à la page d'affichage. Est-ce que je me trompe quelque part?

39
Anup GC

généralement, cette erreur signifie que vous n'utilisez pas les informations d'identification d'API correctes. Si vous êtes convaincu que vos informations d'identification sont correctes, jetez un coup d'œil à votre terminal. Les informations d'identification du bac à sable ne seront pas valides dans l'environnement de production et les informations d'identification actives produiront cette erreur dans le bac à sable

66
PP_GOPSMTS_KevinG

J'avais ce problème parce que mon identifiant contenait le signe "+" (plus). Enfin, je l'ai décodé manuellement en "% 2B" comme décrit ici http://www.zen-cart.com/showthread.php?80849-Plus-sign-%28-quot-quot-%29-in -nom-utilisateur-causes-sécurité-en-tête-échec-dans-Paypal-Express-Checko et le problème a disparu.

8
antongorodezkiy

Cela ne signifie pas toujours des informations d'identification d'API non valides ou un mauvais terminal

Si vous êtes absolument sûr de ces informations, vérifiez le codage avec lequel vous faites votre demande - ce devrait être UTF-8 sans Byte-Order Mark (BOM), par exemple (dans Visual C # .NET )

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

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

C'est pas une valeur par défaut, et cela m'a aidé après une heure à tout vérifier

Bien sûr, assurez-vous que tous vos paramètres sont également codés en URL.

2

Mauvaises informations d'identification Assurez-vous d'avoir correctement saisi le nom d'utilisateur, le mot de passe et la signature de votre API. Il arrive parfois qu’un espace soit ajouté accidentellement pendant le copier-coller, ce qui déclenche cette erreur. Double-cocher ces paramètres dans le SDK ou dans le panneau d'administration de votre panier tiers.

Mauvais point final Cette erreur se produirait si vous envoyez les données au mauvais point final. Assurez-vous d’envoyer les informations d’identification et les données réelles à notre terminal final. Lorsque vous souhaitez tester votre magasin, assurez-vous d'utiliser notre point de terminaison de test et les informations d'identification de votre compte de test sandbox. Si vous utilisez un panier tiers, assurez-vous que votre magasin fonctionne en mode test ou en mode actif, en ce qui concerne les informations d'identification que vous utilisez. POUR VIVRE

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

POUR SANDBOX

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

Pour reffrence link

1
krunal sojitra

API_USERNAME API_PASSWORD API_SIGNATURE Paypal_URL

en dehors d'eux, cela change aussi:

** (de Sandbox> Live) **

1
Shashank Saxena