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 valide Tableau
(
[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 ne peux pas aller de l'avant. J'avais vérifié tout le nom d'utilisateur de l'api, le mot de passe et la signature, Tous sont corrects, mais le principal problème est que, toutes les choses sont déjà stockées 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 envoyée vers la page d'affichage. Je me trompe quelque part?
5 réponses
Généralement, cette erreur signifie que vous n'utilisez pas les informations D'identification correctes de L'API. Si vous êtes convaincu que vos informations d'identification sont correctes, jetez un oeil à votre point de terminaison. Les informations d'identification du bac à sable ne seront pas valides dans l'environnement de production et les informations d'identification réelles produiront cette erreur dans le bac à sable
J'ai eu ce problème parce que ma connexion contenait le signe "+ " (plus). Enfin, je l'ai décodé manuellement à "% 2B " comme décrit ici http://www.zen-cart.com/showthread.php?80849-Plus-sign-%28-quot-quot-%29-in-user-name-causes-security-header-failure-in-Paypal-Express-Checkou et le problème disparu.
Cela ne signifie pas toujours des informations D'identification d'API non valides ou un point de terminaison incorrect
Si vous êtes absolument sûr de cette information, vérifiez l'encodage avec lequel vous faites votre demande - il devrait être UTF-8 Sans Byte-Order Mark (BOM), par exemple (en 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 de vérification de tout
Bien sûr, assurez-vous que tous vos paramètres sont également encodés en URL
API_USERNAME API_PASSWORD API_SIGNATURE PAYPAL_URL
En dehors d'eux, changez cela aussi:
** (depuis Sandbox > Live) * *
Informations D'identification incorrectes Assurez-vous que vous avez correctement placé votre nom D'utilisateur API, votre mot de passe API et votre Signature API. Parfois, il arrive que pendant le copier-coller il y ait accidentellement un espace ajouté, cela déclencherait cette erreur. De façon optimale ces paramètres dans le SDK ou dans le panneau d'administration de votre tiers panier.
Mauvais point de Terminaison Cette erreur viendrait si vous envoyez les données au mauvais point de terminaison. Assurez-vous que vous envoyer les informations d'identification en direct et les données à notre point de terminaison en direct. 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 d'achat tiers, assurez-vous que votre magasin fonctionne en mode test ou live, en ce qui concerne les informations d'identification que vous utilisez. POUR Vivre
Pour SANDBOX
Pour reffrence lien