2 votes

Exception d'entrée de l'appelant : Amazone de signature non valide

J'essaie d'intégrer la passerelle de paiement amazon. J'ai téléchargé la bibliothèque suivante sur amazon.com : amazon-fps-2010-08-28-php5-library

J'ai suivi les mêmes instructions que celles mentionnées dans le readme.html. Après avoir configuré le code dans le dossier CBUI, j'ai essayé d'exécuter le fichier CBUISingleUsePipelineSample.php et j'ai obtenu une url que j'ai ensuite essayé d'ouvrir dans une autre page :

paiements amazon
Demande non valide

Nous ne pouvons pas traiter votre demande de paiement en raison d'une erreur. Veuillez contacter le site web sur lequel vous avez initié ce paiement.

Exception d'entrée de l'appelant : Signature non valide

0voto

Shreyos Adikari Points 3579

Il y a trois éléments à prendre en compte lors de la création de votre signature/URL...

1) Il semble que le paramètre "transactionAmount" soit nécessaire pour que le pipeline d'interface utilisateur comarqué soit valide, même s'il n'y a pas d'instruction spécifique à ce sujet.

2) Si l'un de vos paramètres contient des espaces, et que vous essayez d'utiliser html_build_query() dans toutes les versions de PHP sauf la dernière (5.4), vous obtiendrez un schéma d'encodage qui contient des marques "+" pour les espaces au lieu de "%20", ce qui semble être le cas d'Amazon. Mon code ci-dessus s'occupe de cela en implémentant rawurlencode() sur l'ensemble du tableau de paramètres.

3. l'ordre des paramètres est primordial dans la construction de la signature. Les clés (et non les valeurs) doivent être classées par ordre alphabétique insensible à la casse. Il convient également de noter que, malgré ce que dit la documentation de l'API, les esperluettes (&) et les égalités (=) doivent être présentes dans la création de la chaîne de requête pour la signature.

Veuillez vous référer à Exception pour les paiements flexibles Amazon : Entrée de l'appelant Exception : Signature non valide

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X