Mode d'emploi | PayPal Intégral Évolution 2012 Manuel utilisateur
Ajouter à Mes manuels103 Des pages
▼
Scroll to page 2
of
103
Guide d’intégration de PayPal Intégral Evolution Dernière mise à jour : Juin 2011 Guide d’intégration de PayPal Intégral Evolution Numéro de document : 10113.en_US-201106 © 2011 PayPal, Inc. Tous droits réservés. PayPal est une marque déposée de PayPal, Inc. Le logo PayPal est une marque déposée de PayPal, Inc. Les autres marques, déposées ou non, appartiennent à leur propriétaire respectif. Les informations contenues dans le présent document appartiennent à PayPal, Inc. Elles ne peuvent être utilisées, reproduites ou divulguées sans l'autorisation écrite de PayPal, Inc. Copyright © PayPal. Tous droits réservés. PayPal (Europe) S.à r.l. et Cie., S.C.A., Société en Commandite par Actions. Siège social : 22-24 Boulevard Royal, L-2449, Luxembourg, R.C.S. Luxembourg B 118 349. Avis aux utilisateurs : le service de paiement PayPal™ est considéré comme une fonction de porte-monnaie électronique par la loi de Singapour. En tant que tel, il ne nécessite pas l'approbation de la Monetary Authority of Singapore. Nous vous invitons à lire attentivement les Conditions générales. Exclusion de responsabilité : Les informations contenues dans le présent document vous sont fournies par PayPal, Inc. « telles quelles », et PayPal Inc. ne garantit en aucune manière que le présent document est exempt d'erreurs. PayPal, Inc. ne fournit aucune garantie (expresse, tacite ou légale) concernant les informations contenues dans les présentes. PayPal, Inc. n'accepte aucune responsabilité en cas de dommages (directs ou indirects) causés par des erreurs ou omissions ou découlant de l'utilisation du présent document ou des informations contenues dans celui-ci, ou résultant de la demande de souscription ou de l'utilisation du produit ou service décrit aux présentes. PayPal, Inc. se réserve le droit de modifier toute information figurant aux présentes sans vous en avertir. Sommaire Préface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 A propos de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Public ciblé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Commentaires sur la documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Chapitre 1 Premiers pas avec PayPal Intégral Evolution . . . . . . . . 9 Aperçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Fonctionnalités et avantages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Fonctionnement d'Intégral Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Protection des Marchands PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Vérification instantanée de paiement . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Traitement des transactions PayPal Express . . . . . . . . . . . . . . . . . . . . . . . . 13 Présentation de l'intégration d'Intégral Evolution . . . . . . . . . . . . . . . . . . . . . . 14 Chapitre 2 Intégration sur votre site en HTML . . . . . . . . . . . . . 15 Intégration simple d'Intégral Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Exemple d'intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Variables HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Chapitre 3 Personnalisation de votre page de paiement PayPal . . . . 21 Modifier les paramètres de compte PayPal . . . . . . . . . . . . . . . . . . . . . . . . . 21 Paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Apparence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Ajouter des variables HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Chapitre 4 Intégration d'iFrame sur votre site . . . . . . . . . . . . . 33 Intégrer des iFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Intégration manuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Intégration API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Guide d’intégration de PayPal Intégral Evolution 3 Sommaire Chapitre 5 Intégration sur votre site avec les API . . . . . . . . . . . 39 Hébergement de boutons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution . . . . . . . 40 Utiliser l'URL renvoyée dans la réponse (recommandé) . . . . . . . . . . . . . . . . 40 Utiliser le formulaire POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Crypter les boutons à l'aide des clés publique et privée . . . . . . . . . . . . . . . . . 43 Exemple de lancement de paiement. . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Opération d'API BMCreateButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Requête BMCreateButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Réponse BMCreateButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Erreurs BMCreateButton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Chapitre 6 Protéger les boutons avec la fonction Paiements sur site marchand cryptés51 Cryptage à clé publique utilisé par la fonction Paiements sur site marchand cryptés . . . . 52 Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés . 53 Générer votre clé privée avec OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . 53 Générer votre certificat public avec OpenSSL. . . . . . . . . . . . . . . . . . . . . . 53 Télécharger votre certificat public sur votre compte PayPal. . . . . . . . . . . . . . . 54 Télécharger le certificat public PayPal à partir du site PayPal. . . . . . . . . . . . . . 54 Supprimer votre certificat public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Utiliser la fonction Paiements sur site marchand cryptés pour protéger vos boutons de paiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Bloquer les paiements sur site marchand non protégés et non cryptés . . . . . . . . . 57 Chapitre 7 Tester votre intégration dans l'Environnement de test . . . 59 Création d'un compte préconfiguré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Tester votre intégration et vos paramètres. . . . . . . . . . . . . . . . . . . . . . . . 63 Chapitre 8 Traitement de la commande . . . . . . . . . . . . . . . . . 65 Vérifier l'état et l'authenticité de la transaction . . . . . . . . . . . . . . . . . . . . . . . 65 Valider la notification instantanée de paiement (IPN) . . . . . . . . . . . . . . . . . . 65 Exécuter un appel API GetTransactionDetails. . . . . . . . . . . . . . . . . . . . . . 66 Finaliser une commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Annexe A Opérations d'API facultatives . . . . . . . . . . . . . . . . 67 API GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4 Guide d’intégration de PayPal Intégral Evolution Sommaire Requête GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Réponse GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 API RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Requête RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Réponse RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 API DoCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Requête DoCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Réponse DoCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Chapitre B Passer de PayPal Intégral à PayPal Intégral Evolution . . . 85 Comparaison d'échantillons de code . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Annexe C Messages d'erreur . . . . . . . . . . . . . . . . . . . . . . 89 Annexe D Codes de devises . . . . . . . . . . . . . . . . . . . . . . 99 Guide d’intégration de PayPal Intégral Evolution 5 Sommaire 6 Guide d’intégration de PayPal Intégral Evolution P Préface A propos de ce document Le Guide d’intégration de PayPal Intégral Evolution explique comment intégrer Intégral Evolution. Il inclut des informations sur les aspects suivants : z Fonctionnalités et avantages d'Intégral Evolution z Protection des Marchands z Passage de Paiements sur site marchand à Intégral Evolution z Intégration sur votre site marchand d'Intégral Evolution z Personnalisation de votre page de paiement PayPal z Test de votre intégration dans l'Environnement de test z Vérification de l'état et de l'authenticité des transactions avant de traiter des commandes Public ciblé Ce guide est destiné aux marchands qui souhaitent intégrer Intégral Evolution pour ajouter une solution de traitement des transactions à leur site. Historique des révisions Le tableau suivant donne l'historique des révisions apportées au Guide d’intégration de PayPal Intégral Evolution. TABLEAU P.1 Historique des révisions pour ce guide Date de publication Description Octobre 2010 Ajout des informations sur les API et iFrame. Mai 2010 Création du Guide d’intégration de PayPal Intégral Evolution Guide d’intégration de PayPal Intégral Evolution 7 P Préface Commentaires sur la documentation Commentaires sur la documentation Aidez nous à améliorer ce guide en envoyant vos commentaires à : [email protected] 8 Guide d’intégration de PayPal Intégral Evolution 1 Premiers pas avec PayPal Intégral Evolution Aperçu PayPal Intégral Evolution est une plateforme de paiement permettant aux commerçants de recevoir sur leur site des paiements par carte et par compte PayPal. Cette solution est hébergée par PayPal. Vous n'avez donc ni à collecter ni à stocker d'informations relatives aux cartes des acheteurs sur votre site, ce qui contribue à la conformité PCI. Intégral Evolution est le meilleur choix pour les marchands qui préfèrent une solution où les informations financières sont gérées par PayPal. Outre Intégral Evolution, PayPal vous recommande de mettre un bouton PayPal Express sur votre site. Le bouton apparaît beaucoup plus tôt dans le flux de paiement et donne aux titulaires de compte PayPal la possibilité d'utiliser PayPal, augmentant ainsi le taux de conversion. Fonctionnalités et avantages Voici les fonctionnalités et avantages d'Intégral Evolution : z Conformité PCI : les standards de sécurité des données PCI (Payment Card Industry), ou PCI DSS, constituent une norme de sécurité mondiale qui s'applique à toutes les entreprises qui collectent, stockent, traitent ou transfèrent des informations sur les titulaires de carte. Vous pouvez utiliser la page de paiement hébergée de PayPal dans le cadre d'une solution conforme à PCI. R E M A R Q U E : Intégral Evolution contribue à la mise en conformité avec les normes PCI mais ne la garantit pas nécessairement. z z z PayPal e-Terminal : solution de paiement en ligne hébergée par PayPal, qui vous permet d'accepter des commandes par téléphone, fax et courrier pour les principales cartes. Protection des Marchands - Ce programme vous protège contre les oppositions au paiement sur les transactions par carte ou compte PayPal. Pour plus d'informations, consultez la section « Protection des Marchands PayPal » page 11 PayPal Express : option de paiement en deux clics pour les titulaires de compte PayPal. Pour plus d'informations, consultez la section « Traitement des transactions PayPal Express » page 13. Guide d’intégration de PayPal Intégral Evolution 9 Premiers pas avec PayPal Intégral Evolution Fonctionnement d'Intégral Evolution z z Prise en charge d'iFrame : PayPal propose un formulaire de paiement compact pouvant être intégré à un iFrame sur votre site. L'acheteur effectue le paiement sur votre site et vous pouvez appliquer l'apparence de votre site dans le cadre principal autour du formulaire de paiement compact. Les champs de carte sont intégrés dans le formulaire de paiement compact pour que vous n'ayez pas à collecter ces informations séparément. Pour plus d'informations, consultez la section Chapitre 3, « Personnalisation de votre page de paiement PayPal ». Prise en charge des principales cartes de paiement : Visa, MasterCard, Carte Bancaire, Carte Aurore, Cofinoga et 4 étoiles. Fonctionnement d'Intégral Evolution Dans l'image ci-dessus, le flux d'en haut illustre le paiement avec un compte PayPal et celui d'en bas le paiement par carte. Pour intégrer Intégral Evolution sur votre site : 1. Générez un bouton dans le flux de paiement de votre site en utilisant HTML ou les API (disponible dans une version ultérieure). L'intitulé du bouton peut être Payer ou Acheter ou un texte similaire. Lorsque l'acheteur clique sur ce bouton, il est redirigé vers la page de paiement hébergée par PayPal. 2. Sur la page de paiement, l'acheteur entre ses informations de carte et clique sur le bouton Payer. Il peut utiliser son compte PayPal, mais ce n'est pas nécessaire d'avoir un compte pour pouvoir payer. 3. Si la transaction réussit, la page de confirmation PayPal s'affiche ou l'acheteur est redirigé vers une URL que vous avez spécifiée. Si la transaction a échoué, un message d'erreur s'affiche et l'acheteur peut rectifier l'erreur et recommencer la transaction. 10 Guide d’intégration de PayPal Intégral Evolution Premiers pas avec PayPal Intégral Evolution Protection des Marchands PayPal Vous pouvez spécifier le contenu de la page de paiement et configurer son apparence afin qu'elle reflète celle de votre site, y compris votre logo. Protection des Marchands PayPal Si PayPal est la seule solution de paiement proposée sur votre site, les transactions traitées via Intégral Evolution peuvent bénéficier de la Protection des Marchands PayPal. Cette protection couvre les paiements effectués par l'intermédiaire du flux de paiement de votre site pour des objets vendus en France comme à l'étranger. Ceux-ci peuvent être payés à l'aide d'une carte ou d'un compte PayPal. Pour bénéficier de la Protection des Marchands PayPal, l'objet acheté doit être expédié à l'adresse que vous avez communiquée à PayPal. D'un point de vue technique, vous devrez notamment : z z Envoyer toutes les informations sur les adresses de facturation et de livraison fournies par l'acheteur dans le formulaire POST. Définir la variable address_override sur 1 et la variable showShippingAddress sur false (ou la désélectionner sur la page des Paramètres de vos Préférences). IMPO RTANT : Le bénéfice de cette protection est soumis à conditions. Pour les consulter dans leur intégralité, merci de lire les Conditions d'Utilisation de PayPal eTerminal et de PayPal Intégral Evolution. Vérification instantanée de paiement Pour bénéficier de la Protection des Marchands PayPal, vous devez procéder à l'intégration en activant la vérification de paiement instantanée. Vérification de paiement est une fonction qui identifie les transactions à haut risque et vous avertit pour que vous puissiez reporter l'expédition ou la livraison jusqu'à ce que le risque ait été évalué par PayPal. Cette fonction est disponible pour tous les marchands. Elle vous aide à réduire vos pertes et vous permet de faire bénéficier les transactions de la Protection des Marchands. Lorsqu'une transaction est initiée, PayPal effectue une évaluation supplémentaire du risque présenté par l'acheteur. PayPal évalue toutes les transactions (Autorisations et Ventes) de façon immédiate et identifie les transactions à haut risque comme étant « En cours de vérification », et vous en êtes immédiatement averti. Vous ne devez pas envoyer les biens ou, s'il s'agit d'un support électronique, vous ne devez pas autoriser l'accès au téléchargement tant que le paiement est en cours de vérification. Les spécialistes de la fraude PayPal étudient la transaction dans un délai de 24 heures et vous indiquent s'il s'agit d'une transaction Terminée (validée par la vérification de paiement) ou Inversée (rejetée par la vérification de paiement). Pour les transactions à risque, PayPal vous conseille de ne pas expédier les objets avant que la transaction ne soit Terminée. Les paiements validés sont admissibles à la Protection des Marchands PayPal. Guide d’intégration de PayPal Intégral Evolution 11 Premiers pas avec PayPal Intégral Evolution Protection des Marchands PayPal Vous pouvez déterminer l'état d'un paiement de plusieurs manières : z en vous connectant à https://www.paypal.fr et en affichant les informations d'état dans l'Historique des transactions ; z en vérifiant l'email envoyé par PayPal ; z en vérifiant le message de notification instantanée de paiement (IPN) ; z en vérifiant l'état des transactions par l'intermédiaire d'un programme. Pour vérifier l'état initial d'une transaction, utilisez l'une des opérations API suivantes : – – – – DoExpressCheckoutPayment DoReferenceTransaction DoAuthorization DoReauthorization Vous pouvez vérifier l'état suivant de la transaction en appelant l'opération d'API GetTransactionDetails. Pour plus d'informations, consultez la section « API GetTransactionDetails » page 67. R E M A R Q U E : Vous devez utiliser la version 58.0 (ou ultérieure) de l'API pour obtenir les informations d'état initial fournies par DoExpressCheckoutPayment, DoReferenceTransaction, DoAuthorization ou DoReauthorization. Pour utiliser la vérification de paiement avec les opérations d'API de paiements DoExpressCheckoutPayment, DoReferenceTransaction, DoAuthorization et DoReauthorization, vous devez : 1. Observer l'état du paiement dans la réponse de l'opération d'API, et plus particulièrement vérifier si la valeur de PaymentStatus est Pending. 2. Si la valeur de PaymentStatus est Pending, vérifiez si celle de PendingReason est PaymentReview, parce qu'une transaction peut être mise en attente (état Pending) pour d'autres motifs. Par exemple, le champ PaymentStatus d'une autorisation non réglée peut avoir la valeur Pending et son champ PendingReason avoir pour valeur authorization, ce qui n'a aucun rapport avec la vérification de paiement. Si PaymentStatus a pour valeur Pending et si la valeur de PendingReason est PaymentReview, vous ne devez pas envoyer les biens, ou ne pas autoriser l'accès au téléchargement s'il s'agit d'un support électronique. L'état du paiement étant modifié après la vérification, vous devez consulter régulièrement cet état par l'opération de l'API GetTransactionDetails, en vérifiant l'email envoyé par PayPal, en vérifiant les messages, ou en consultant l'Historique des transactions sur https://www.paypal.fr. 12 Guide d’intégration de PayPal Intégral Evolution Premiers pas avec PayPal Intégral Evolution Traitement des transactions PayPal Express Traitement des transactions PayPal Express PayPal Express est une solution de paiement en 2 clics qui permet de booster votre taux de conversion. Elle donne aux acheteurs la possibilité d'utiliser les informations de livraison stockées de façon sécurisée auprès de PayPal pour procéder au paiement, de sorte qu'ils n'ont pas besoin de les ressaisir sur votre site. Cette solution peut être insérée à la fois sur les pages produit et sur la page de récapitulatif du panier. Les étapes suivantes décrivent le fonctionnement de PayPal Express. 1. Après avoir choisi les produits à acheter sur votre site, l'acheteur clique sur le bouton Payer avec PayPal. 2. Il est alors redirigé vers le site PayPal, où il se connecte en utilisant son identifiant et son mot de passe PayPal. 3. Après s'être connecté, il vérifie le résumé de la commande et clique sur Continuer pour autoriser la transaction. 4. L'acheteur est alors redirigé vers la page de confirmation de votre site, où il peut vérifier les détails de la commande et soumettre la transaction. Pour plus d'informations sur le paiement express PayPal, consultez le Guide d'intégration de Paiement express. Guide d’intégration de PayPal Intégral Evolution 13 Premiers pas avec PayPal Intégral Evolution Présentation de l'intégration d'Intégral Evolution Présentation de l'intégration d'Intégral Evolution Après avoir fait une demande pour Intégral Evolution, suivez les étapes suivantes pour intégrer Intégral Evolution à votre site : 1. Connectez votre site au service Intégral Evolution : identifiez un point du flux de paiement de votre site où vous souhaitez placer un bouton Payer ou un bouton similaire, sur lequel l'acheteur peut cliquer pour effectuer le paiement. Vous pouvez le faire en utilisant HTML ou les API. En cliquant sur ce bouton, le navigateur de l'acheteur sera redirigé vers la page de paiement PayPal pour le traitement de la transaction. Selon le mode d'intégration souhaité, suivez les étapes décrites dans le Chapitre 2, « Intégration sur votre site en HTML » ou le Chapitre 5, « Intégration sur votre site avec les API ». 2. Vous pouvez personnaliser l'apparence et le contenu de votre page de paiement hébergée par PayPal en envoyant les variables HTTP appropriées ou en modifiant les paramètres de votre compte PayPal. Consultez le Chapitre 3, « Personnalisation de votre page de paiement PayPal ». 3. Vous pouvez également tester votre intégration dans l'Environnement de test PayPal. Cette étape est décrite dans le Chapitre 7, « Tester votre intégration dans l'Environnement de test ». 14 Guide d’intégration de PayPal Intégral Evolution 2 Intégration sur votre site en HTML Ce chapitre décrit comment réaliser une intégration simple vous permettant de traiter les transactions à l'aide d'Intégral Evolution. R E M A R Q U E : PayPal recommande la mise en œuvre d'une intégration simple pour vous familiariser avec Intégral Evolution avant de passer à une intégration plus personnalisée. Dans le cadre d'une intégration simple, votre page de paiement est définie selon les paramètres par défaut. Pour personnaliser l'apparence de la page et l'harmoniser avec votre site marchand, procédez comme suit : z z Modifiez les paramètres de vos Préférences PayPal, comme indiqué dans la section « Modifier les paramètres de compte PayPal » page 21. Ajoutez les variables HTML appropriées à la page de paiement, comme indiqué dans le Tableau 2.1, « Variables HTML permettant de paramétrer la page de paiement » et le Tableau 3.1, « Variables HTML permettant de paramétrer l'apparence de la page de paiement ». IMPO RTANT : les variables HTML remplaceront les paramètres sauvegardés dans les Préférences. Intégration simple d'Intégral Evolution Pour intégrer Intégral Evolution à votre site, identifiez un point du flux de paiement de votre site où vous souhaitez placer un bouton sur lequel l'acheteur pourra cliquer pour effectuer le paiement. L'intitulé du bouton doit être Continuer, Payer ou un texte similaire et un clic sur le bouton doit déclencher l'envoi d'un formulaire POST à PayPal. Le clic sur ce bouton redirige également le navigateur de l'acheteur vers la page de paiement de PayPal, où il peut procéder au paiement avec une carte ou son compte PayPal. Le formulaire POST intègre un ensemble de variables HTML qui permettent de décrire la transaction. Dans le formulaire POST, vous devez indiquer ce qui suit : z z z subtotal : montant de la transaction business : identifiant de compte marchand sécurisé (trouvé sur la page de Préférences) ou adresse email associée à votre compte PayPal. paymentaction : Indique si la transaction est pour le paiement d'une vente finale ou une autorisation pour une vente finale (qui sera repris plus tard). Guide d’intégration de PayPal Intégral Evolution 15 Intégration sur votre site en HTML Intégration simple d'Intégral Evolution La devise par défaut est le dollar USD. Vous pouvez également spécifier les variables HTML appropriées figurant dans le Tableau 2.1, « Variables HTML permettant de paramétrer la page de paiement » afin de personnaliser les informations collectées sur la page de paiement ou le Tableau 3.1, « Variables HTML permettant de paramétrer l'apparence de la page de paiement » pour modifier l'apparence de la page. Si le paiement est réussi, l'acheteur voit s'afficher la page de confirmation PayPal ou est redirigé vers l'URL que vous avez indiquée. Un numéro de transaction est ajouté à l'URL de renvoi dans la chaîne de requête pendant la redirection de la page de paiement vers votre site. Ce numéro de transaction peut être utilisé pour récupérer l'état et vérifier l'authenticité de la transaction. Pour en savoir plus sur la vérification de l'authenticité de la transaction avant de terminer la commande, consultez le Chapitre 8, « Traitement de la commande ». Exemple d'intégration L'exemple ci-dessous illustre une intégration simple d'Intégral Evolution : 1. Exemple de formulaire POST pour Intégral Evolution : <form action="https://securepayments.paypal.com/cgi-bin/acquiringweb" method="post"> <input type="hidden" name="cmd" value="_hosted-payment"> <input type name="subtotal" value="50"> <input type name="business" value="HNZ3QZMCPBAAA"> <input type name="paymentaction" value="sale"> <input type name="return" value="https://yourwebsite.com/receipt_page.html"> <input type="submit" name="METHOD" value="Pay"> </form> Le texte en gras représente la valeur définie pour la variable correspondante. Nous vous conseillons de mettre les valeurs entre parenthèses. Pour en savoir plus sur ces valeurs, consultez le Tableau 2.1, « Variables HTML permettant de paramétrer la page de paiement ». 2. Ajoutez le texte HTML sur votre site à l'endroit où les acheteurs procéderont à leur paiement. 3. Ouvrez votre page de paiement et cliquez sur le bouton pour vérifier que la page de paiement PayPal s'affiche. Vous pouvez également utiliser l'environnement de test PayPal pour vérifier votre intégration. Pour obtenir des informations détaillées sur les tests de votre intégration dans l'environnement de test PayPal, consultez le Chapitre 7, « Tester votre intégration dans l'Environnement de test ». 16 Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site en HTML Variables HTML Variables HTML Le tableau ci-dessous fournit une liste des variables HTML Intégral Evolution que vous pouvez utiliser pour envoyer des informations supplémentaires sur la transaction avec votre requête Web. Pour obtenir une liste des variables HTML que vous pouvez utiliser pour personnaliser l'apparence de votre page de paiement, consultez le Tableau 3.1, « Variables HTML permettant de paramétrer l'apparence de la page de paiement ». TABLEAU 2.1 Variables HTML permettant de paramétrer la page de paiement Variable Description Requis address1 Rue de l'adresse de livraison. (champ 1 sur 2) Non address2 Rue de l'adresse de livraison. (champ 2 sur 2) Non address_override Le payeur voit l'adresse qui est transmise, mais ne peut pas la modifier. Cette variable est annulée si l'adresse comporte des erreurs. Les valeurs autorisées sont true/false. La valeur par défaut est false. Non billing_ address1 Rue de l'adresse de facturation. (champ 1 sur 2) Non billing_ address2 Rue de l'adresse de facturation. (champ 2 sur 2) Non billing_ city Ville de l'adresse de facturation. Non billing_ country Code pays de l'adresse de facturation. Non billing_ first_name Prénom pour l'adresse de facturation. Non billing_ last_name Nom pour l'adresse de facturation. Non billing_ state Etat de l'adresse de facturation. Non billing_ zip Code postal de l'adresse de facturation. Non bn Identifie la source qui a créé le code pour ce bouton. Format - <Société>_<Service>_<Produit>_<Pays> Non business Adresse email du compte PayPal ou numéro PayPal associé à votre compte PayPal (identifiant sécurisé du marchand) Nous vous conseillons d'utiliser ce numéro, que vous pouvez trouver dans la section supérieure de la page Préférences PayPal. Oui buyer_email Adresse email de l'acheteur. Non cancel_return Le navigateur sera redirigé vers cette URL si l'acheteur clique sur le lien "Retour chez le marchand". Entrez bien l'URL entière, y compris http:// ou https://. Non Guide d’intégration de PayPal Intégral Evolution 17 Intégration sur votre site en HTML Variables HTML TABLEAU 2.1 Variables HTML permettant de paramétrer la page de paiement(Suite) Variable Description Requis cbt Définit le texte du lien "Retour sur le site du marchand" de la page de confirmation PayPal. Pour les comptes Business, le bouton de renvoi affiche votre raison sociale à la place du mot "marchand" par défaut. Non R E M A R Q U E : La variable shopping_url doit être définie. city Ville de l'adresse de livraison. Non country Pays de l'adresse de livraison. Non currency_code Devise du paiement. La valeur par défaut est USD. Non custom Variable de transit qui n'est jamais communiquée au payeur. Non first_name Prénom de la personne à qui l'objet est envoyé. Non handling Frais de traitement facturés. Ce montant est ajouté à la valeur subtotal pour obtenir le montant total. Non invoice Numéro de commande figurant dans le système de commande et/ou de facturation du marchand. Non last_name Nom de la personne à qui l'objet est envoyé. Non lc Langue de la page de connexion ou d'inscription. Non night_phone_a Indicatif régional pour les numéros de téléphone aux EtatsUnis ou indicatif pays du numéro de téléphone en dehors des Etats-Unis. Cette variable préremplit le numéro de téléphone du domicile de l'acheteur. Non night_phone_b Préfixe à trois chiffres pour les numéros de téléphone aux Etats-Unis ou numéro de téléphone complet en dehors des Etats-Unis , sans l'indicatif de pays. Cette variable préremplit le numéro de téléphone du domicile de l'acheteur. Non R E M A R Q U E : Utilisez cette variable pour les numéros hors Etats-Unis. 18 night_phone_c Numéro à quatre chiffres pour les numéros de téléphone aux Etats-Unis. Cette variable préremplit le numéro de téléphone du domicile de l'acheteur. Non notify_url URL sur laquelle PayPal publie des informations sur la transaction, sous la forme de notification instantanée de paiement (IPN). Entrez bien l'URL entière, y compris http:// ou https://. Non Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site en HTML Variables HTML TABLEAU 2.1 Variables HTML permettant de paramétrer la page de paiement(Suite) Variable Description Requis paymentaction Indique si la transaction concerne un paiement pour une vente finale ou une autorisation pour une vente finale (à collecter ultérieurement). z Valeurs autorisées : authorization ou sale z Valeur par défaut : sale Oui return URL vers laquelle le navigateur de l'acheteur est redirigé une fois le paiement effectué. Entrez bien l'URL entière, y compris http:// ou https://. Non shipping Frais d'expédition facturés. Ce montant est ajouté à la valeur subtotal pour obtenir le montant total. Non state Etat de l'adresse de livraison. Non subtotal Montant facturé pour la transaction. Si les frais d'expédition et de traitement et les taxes ne sont pas spécifiés, il s'agit du montant total facturé. Oui tax Taxes facturées. Ce montant est ajouté à la valeur subtotal pour obtenir le montant total. Non zip Code postal de l'adresse de livraison. Non Guide d’intégration de PayPal Intégral Evolution 19 Intégration sur votre site en HTML Variables HTML 20 Guide d’intégration de PayPal Intégral Evolution 3 Personnalisation de votre page de paiement PayPal Vous pouvez personnaliser l'apparence de la page de paiement PayPal des deux façons suivantes : z Modifier les paramètres de compte PayPal z Ajouter des variables HTML R E M A R Q U E : les variables HTML remplaceront les paramètres sauvegardés dans les Préférences. Modifier les paramètres de compte PayPal Dans vos Préférences PayPal, vous pouvez modifier l'apparence de la page de paiement en changeant les paramètres des pages suivantes de la section Paramètres de Paiements sur site marchand. z Paramètres z Apparence Guide d’intégration de PayPal Intégral Evolution 21 Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal 22 Guide d’intégration de PayPal Intégral Evolution Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Paramètres Cette page vous permet de sélectionner les informations que vous souhaitez collecter et afficher sur votre page de paiement ainsi que l'emplacement de votre confirmation de paiement. Bien que nous offrions de nombreuses options pour cette page, nous vous recommandons d'afficher le moins d'options possible sur la page de paiement. Par exemple, vous avez peutêtre déjà collecté une adresse de livraison sur votre site afin de calculer le coût de la livraison, puis communiqué ces informations sur la page de paiement PayPal. Il n'est donc pas nécessaire de réafficher cette option sur la page de paiement. Vous pouvez disposer d'informations collectées auparavant sur votre site mais souhaiter les communiquer à PayPal pour les réafficher sur la page de paiement. Ces informations seront présaisies et modifiables sur cette page. Guide d’intégration de PayPal Intégral Evolution 23 Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Quelles informations souhaitez-vous afficher sur votre page de paiement PayPal Intégral Evolution ? Vous pouvez sélectionner les champs qui s'affichent sur la page de paiement parmi les champs suivants : z Informations relatives à la carte : informations de carte de l'acheteur. Ce champ est sélectionné par défaut. z Nom du client : prénom et nom de l'acheteur z Adresse de facturation : adresse de facturation de l'acheteur z Numéro de téléphone de facturation : numéro de téléphone de l'acheteur z Adresse email de facturation : adresse email de l'acheteur z Adresse de livraison : adresse de livraison de l'acheteur. Ce champ est obligatoire pour que le paiement bénéficie de la Protection des Marchands PayPal. Si vous ne cochez pas cette case, assurez-vous que la variable HTML de l'adresse de livraison de l'acheteur est définie. Comment souhaitez-vous afficher la confirmation de paiement ? Une fois la transaction terminée, vous pouvez choisir d'afficher votre confirmation de paiement sur une page PayPal ou sur votre propre page. z z 24 Sur une page PayPal qui indique que le paiement est effectué : la confirmation du paiement apparaît sur la page de confirmation PayPal. Une option vous permet également d'ajouter une URL sur la page de confirmation qui redirige l'acheteur vers votre site. Saisissez simplement l'URL appropriée dans le champ existant. Sur la page de confirmation de votre société : la confirmation du paiement apparaîtra sur votre propre page. Saisissez l'URL de cette page qui affichera la confirmation de paiement. Vous devez communiquer à l'acheteur le résultat de la transaction lorsque PayPal redirige vers cette URL. Assurez-vous d'afficher les informations de la commande de façon à ce que la confirmation soit comprise par l'acheteur. Vous pouvez obtenir ces informations en utilisant le numéro de transaction que nous vous communiquons avec l'URL de renvoi. Guide d’intégration de PayPal Intégral Evolution Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Apparence Guide d’intégration de PayPal Intégral Evolution 25 Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Cette page vous permet de personnaliser votre page de paiement. Vous pouvez personnaliser l'en-tête, l'arrière-plan, le titre, le bouton et la colonne Résumé de la commande de votre page de paiement. PayPal vous permet de choisir entre trois modèles. Le modèle A est le modèle par défaut mais vous pouvez choisir n'importe lequel des modèles proposés. R E M A R Q U E : vos acheteurs ne pourront pas visualiser la page de paiement tant que l'intégration HTML sur votre site ne sera pas terminée. Affichez l'aperçu de votre page de paiement. Vous pouvez soit modifier l'apparence de votre modèle, soit sélectionner et personnaliser un modèle différent. Pour effectuer des modifications, cliquez à gauche sur la section que vous souhaitez modifier ou sur le bouton Cliquez ici pour modifier correspondant à cette section. Dans la fenêtre qui s'affiche, cliquez sur la couleur choisie ou saisissez si nécessaire l'URL appropriée pour modifier la couleur. Si l'acheteur effectue un paiement en se connectant à PayPal, l'apparence de ce flux peut être personnalisée grâce aux options de personnalisation d'Intégral Evolution de la page Préférences. Après avoir effectué vos modifications, cliquez sur l'un des boutons suivants : z z z z Aperçu : prévisualiser les modifications que vous avez apportées à votre modèle avant de l'enregistrer et de le publier. Enregistrer et publier : enregistrer toutes les modifications effectuées, puis publier le modèle mis à jour. Vos acheteurs verront la page de paiement mise à jour. Annuler : annuler toutes les modifications effectuées dans cette session. Version précédente : annuler toutes les modifications effectuées depuis le dernier enregistrement du modèle. Les acheteurs auront accès au dernier modèle sauvegardé. R E M A R Q U E : vous devez effectuer toutes les modifications (y compris le choix du modèle) dans la même session, sans quoi tous vos changements seront perdus. Si la session expire, l'apparence du modèle restera celle de la dernière version publiée. 26 Guide d’intégration de PayPal Intégral Evolution Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Choisir un modèle Choisissez l'un des trois modèles suivants : z Modèle A z Modèle B z Modèle C Modèle A. Sélectionné par défaut : vous pouvez personnaliser l'en-tête. FIGURE 3.1 Modèle A Guide d’intégration de PayPal Intégral Evolution 27 Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Modèle B. Personnalisez l'en-tête, l'arrière-plan, le titre, le bouton et la colonne Résumé de la commande. FIGURE 3.2 Modèle B 28 Guide d’intégration de PayPal Intégral Evolution Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Modèle C. Personnalisez l'en-tête, l'arrière-plan, le titre et le bouton. FIGURE 3.3 Modèle C Guide d’intégration de PayPal Intégral Evolution 29 Personnalisation de votre page de paiement PayPal Modifier les paramètres de compte PayPal Personnalisation de votre modèle Lorsque vous personnalisez votre modèle, prenez en compte ce qui suit : z En-tête (s'applique aux modèles A, B et C) : par défaut, votre raison sociale, telle qu'indiquée dans vos préférences, s'affiche dans l'en-tête. Vous pouvez modifier les éléments suivants : – – – – Hauteur et couleur de l'en-tête Type, taille et couleur de la police Choix de l'affichage : votre raison sociale ou votre logo Emplacement de la raison sociale ou du logo R E M A R Q U E : nous vous conseillons d'héberger vos images sur un serveur sécurisé (https://) afin d'éviter l'affichage de la boîte de dialogue de sécurité, néfaste pour la conversion. z Arrière-plan (s'applique aux modèles B et C) - Vous pouvez modifier les éléments suivants : – Couleur d'arrière-plan – URL de l'image d'arrière-plan z Titre et bouton (s'applique aux modèles B et C) - Vous pouvez modifier les éléments suivants : – Couleur de l'en-tête – Couleur du texte et de la barre du titre – Couleur du bouton et du texte du bouton z Colonne du résumé de la commande (s'applique au modèle C) - Vous pouvez modifier les éléments suivants : – Couleur de la colonne – URL de l'image 30 Guide d’intégration de PayPal Intégral Evolution Personnalisation de votre page de paiement PayPal Ajouter des variables HTML Ajouter des variables HTML Le tableau suivant affiche les variables HTML Intégral Evolution que vous pouvez utiliser pour personnaliser l'apparence de vos pages de paiement. TABLEAU 3.1 Variables HTML permettant de paramétrer l'apparence de la page de paiement Variable Description bodyBgColor Couleur de l'arrière-plan de la page de paiement. bodyBgImg Image de l'arrière-plan de la page de paiement. Le fichier peut être au format .gif, .jpg, .jpeg ou .png. cpp_header_image Image affichée en haut à gauche de la page de paiement. La taille maximum de l'image est de 750 pixels en largeur et de 90 pixels en hauteur. PayPal recommande de fournir une image stockée sur un serveur sécurisé (https). Le fichier peut être au format .gif, .jpg, .jpeg ou .png. footerTextColor Couleur du texte du bas de page. headerBgColor Couleur de l'arrière-plan de l'en-tête. headerHeight Hauteur de la bannière d'en-tête. Elle peut varier entre 50 et 140 pixels. La largeur ne peut pas être modifiée. Elle est toujours de 940 pixels. logoFont Police du texte du logo. logoFontColor Couleur du texte du logo. logoFontSize Taille de police du texte du logo. logoImage Image affichée dans le logo. Le fichier peut être au format .gif, .jpg, .jpeg ou .png. La taille de l'image ne doit pas dépasser 940 pixels. logoImagePosition Position de l'image dans le logo. logoText Raison sociale affichée dans vos Préférences. Ce champ peut être modifié et le texte ajouté peut s'afficher ici en en-tête si la valeur logoImage n'est pas précisée. orderSummaryBgColor Couleur de la colonne Résumé de la commande sur la droite de la page de paiement. Vous ne pouvez pas modifier la couleur de la case Résumé de la commande. orderSummaryBgImage Image d'arrière-plan que vous pouvez ajouter à la colonne Résumé de la commande. Le fichier peut être au format .gif, .jpg, .jpeg ou .png. pageButtonBgColor Couleur d'arrière-plan du bouton Payer. pageButtonTextColor Couleur du bouton Payer. Vous ne pouvez pas modifier le texte du bouton. Guide d’intégration de PayPal Intégral Evolution 31 Personnalisation de votre page de paiement PayPal Ajouter des variables HTML TABLEAU 3.1 Variables HTML permettant de paramétrer l'apparence de la page de paiement(Suite) 32 Variable Description pageTitleTextColor Couleur du texte utilisé dans le titre de la page. (le texte étant « Choisissez un mode de paiement ».) sectionBorder Arrière-plan de la section affichant « Payer avec mon compte PayPal » ou « Payer par carte ». showCustomerName Affiche le nom du client (prénom et nom). z Valeur par défaut : true z Valeur autorisée : true ou false, où true = afficher, false = masquer. showBillingAddress Affiche les informations sur l'adresse de facturation. z Valeur par défaut : true z Valeur autorisée : true ou false, où true = afficher, false = masquer. showBillingPhone Affiche le numéro de téléphone de l'adresse de facturation. z Valeur par défaut : true z Valeur autorisée : true ou false, où true = afficher, false = masquer. showBillingEmail Affiche l'adresse email de facturation. z Valeur par défaut : false z Valeur autorisée : true ou false, où true = afficher, false = masquer. showHostedThankyouPage Affiche la page de confirmation de PayPal. z Valeur par défaut : true z Valeur autorisée : true ou false, où true = afficher, false = masquer. showShippingAddress Affiche l'adresse de livraison. z Valeur par défaut : false z Valeur autorisée : true ou false, où true = afficher, false = masquer. subheaderText Couleur du texte « Payer avec mon compte PayPal »ou « Payer par carte ». template Modèle utilisé pour votre page de paiement. Les options sont TemplateA, TemplateB et TemplateC.. L'option TemplateD est utilisée uniquement pour l'intégration d'iFrame et n'apparaît pas sur la page de personnalisation de PayPal.fr. Guide d’intégration de PayPal Intégral Evolution 4 Intégration d'iFrame sur votre site PayPal propose un formulaire de paiement compact pouvant être intégré à un iFrame sur votre site. Dans la mesure où ce formulaire est intégré à votre site, l'acheteur ne quitte jamais votre site, ce qui réduit le risque de le voir abandonner son achat. Vous pouvez également appliquer l'apparence de votre site dans le cadre principal entourant le formulaire de paiement compact. Les champs de carte sont intégrés dans le formulaire de paiement compact pour que vous n'ayez pas à collecter ces informations séparément. IMPO RTANT : Pour des questions de sécurité concernant les iFrame, les navigateurs suivants sont pris en charge et peuvent être utilisés en toute sécurité : Internet Explorer 7.0 et 8.0, Firefox 3.5.x et 3.6.x, Chrome 4 et 5, Safari 4.x et 5.x. Les utilisateurs procédant à une transaction sur d'autres navigateurs doivent utiliser le flux d'iFrame ou abandonner la transaction. Par ailleurs, il existe un risque supplémentaire en dehors du flux d'iFrame. En effet, si l'iFrame de PayPal fait l'objet d'une attaque, il semblera que l'attaque provient du site marchand. Utilisez le flux d'iFrame si vous souhaitez éviter ce risque supplémentaire. R E M A R Q U E : En raison de craintes liées aux sites frauduleux, le formulaire ne comporte pas de marque PayPal. Le formulaire de paiement compact contient les champs suivants : z Numéro de carte z Date d'expiration z Cryptogramme visuel (le cas échéant, selon le type de carte) z Tous les autres champs nécessaires pour les autres types de cartes, tels que la date d'émission et le numéro d'émission pour Maestro ou Switch. Le formulaire comporte également les options suivantes : z Supprimer le bouton Payer avec PayPal. z Personnaliser manuellement la couleur du bouton Payer. Guide d’intégration de PayPal Intégral Evolution 33 Intégration d'iFrame sur votre site Intégrer des iFrame Intégrer des iFrame Choisissez l'une des méthodes suivantes pour intégrer le formulaire de paiement compact à votre site : z Intégration manuelle z Intégration API IMPO RTANT : Pour des performances optimlaes, PayPal vous conseille de charger le processus d'iFrame avant tout autre processus, tel que des images et des scripts Java, S'il y a trop de processus en marche dans votre page de paiement lorsque vous chargez l''iFrame, la requête d'un iFrame pourrait ne pas être envoyée ou être retardée. En raison de cela, les acheteurs pourraient voir un iFrame vide. Intégration manuelle Pour intégrer manuellement le formulaire de paiement compact à votre site, effectuez les opérations suivantes : 1. Insérez la balise d'iFrame à l'emplacement où vous souhaitez que le formulaire de paiement compact s'affiche sur votre site. Par exemple : <iframe name="hss_iframe" width="570px" height="540px"></iframe> La taille maximale autorisée pour le formulaire de paiement compact est de 570 pixels de large sur 540 pixels de haut. 2. Sous le code iFrame, ajoutez le formulaire caché peuplé avec les variables Intégral Evolution appropriées (y compris le montant total à payer) et indiquez la variable TemplateD. Par exemple : <form style="display:none" target="hss_iframe" name="form_iframe" method="post" action="https://securepayments.paypal.com/cgi-bin/acquiringweb"> <input type="hidden" name="cmd" value="_hosted-payment"> <input type name="subtotal" value="50"> <input type="hidden" name="business" value="HNZ3QZMCPBAAA"> <input type name="paymentaction" value="sale"> <input type="hidden" name="template" value="templateD"> <input type name="return" value="https://yourwebsite.com/receipt_page.html"> </form> 34 Guide d’intégration de PayPal Intégral Evolution Intégration d'iFrame sur votre site Intégrer des iFrame 3. Assurez-vous que le nom cible correspond au nom des iFrame, comme dans l'exemple cidessous : <iframe name="hss_iframe" width="570px" height="540px"></iframe> <form style="display:none" target="hss_iframe" name="form_iframe" method="post" action="https://securepayments.paypal.com/acquiringweb?cmd=_hostedpayment"> 4. Envoyez le formulaire en utilisant JavaScript. Par exemple : <script type="text/javascript"> document.form_iframe.submit(); </script> Exemple d'intégration manuelle L'exemple complet correspondant aux étapes précédentes est comme suit : <iframe name="hss_iframe" width="570px" height="540px"></iframe> <form style="display:none" target="hss_iframe" name="form_iframe" method="post" action="https://securepayments.paypal.com/acquiringweb?cmd=_hostedpayment"> <input type="hidden" name="cmd" value="_hosted-payment" /> <input type name="subtotal" value="50"> <input type="hidden" name="business" value="HNZ3QZMCPBAAA" /> <input type="hidden" name="template" value="templateD" /> <input type name="return" value="https://yourwebsite.com/receipt_page.html"> </form> <script type="text/javascript"> document.form_iframe.submit(); </script> Intégration API Pour intégrer le formulaire de paiement compact à votre site avec les API, reportez-vous à « Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution » page 40. R E M A R Q U E : Utilisez template=templateD pour ce type d'intégration. Vous disposez de deux options dans la réponse pour lancer le flux de paiement Intégral Evolution : z Utiliser l'URL renvoyée dans la réponse z Utiliser le formulaire POST Guide d’intégration de PayPal Intégral Evolution 35 Intégration d'iFrame sur votre site Intégrer des iFrame Utiliser l'URL renvoyée dans la réponse Dans l'URL identifiée dans la réponse comme EMAILLINK, ajoutez « src » pour les iFrame comme dans l'exemple ci-dessous pour rediriger l'acheteur et lancer le flux de paiement. <iframe src="https://www.paypal.com/...?hosted_button_id=HSS-.." width="570px" height="540px"></iframe> La taille maximale autorisée pour le formulaire de paiement compact est de 570 pixels de large sur 540 pixels de haut Utiliser le formulaire POST Identifiez le WEBSITECODE dans la réponse et utilisez le code pour créer un bouton Payer sur votre page de vérification. Lorsque l'acheteur clique sur le bouton, il est redirigé vers la page de paiement hébergée par PayPal. De la même manière que pour l'URL, le bouton est utilisable pendant environ deux heures ou jusqu'à ce que le paiement soit effectué. 1. Insérez la balise d'iFrame à l'emplacement où vous souhaitez que le formulaire de paiement compact s'affiche sur votre site. Par exemple : <iframe name="hss_iframe" width="570px" height="540px"></iframe> La taille maximale autorisée pour le formulaire de paiement compact est de 570 pixels de large sur 540 pixels de haut. 2. Insérez les éléments suivants dans la balise iFrame : WEBSITECODE=<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="HSSbXkpgPTNgZi7CyfIwWTAkWPSDbKziokU"> <input type="image" src="https://www.paypal.com/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/i/scr/pixel.gif" width="1" height="1"> </form> 3. Envoyez le formulaire en utilisant JavaScript. Par exemple : <script type="text/javascript"> document.form_iframe.submit(); </script> 36 Guide d’intégration de PayPal Intégral Evolution Intégration d'iFrame sur votre site Intégrer des iFrame Exemple d'intégration API (formulaire POST) L'exemple complet correspondant aux étapes précédentes est comme suit : <iframe name="hss_iframe" width="570px" height="540px"></iframe> WEBSITECODE=<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="HSSbXkpgPTNgZi7CyfIwWTAkWPSDbKziokU"> <input type="image" src="https://www.paypal.com/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/i/scr/pixel.gif" width="1" height="1"> </form> <script type="text/javascript"> document.form_iframe.submit(); </script> Guide d’intégration de PayPal Intégral Evolution 37 Intégration d'iFrame sur votre site Intégrer des iFrame 38 Guide d’intégration de PayPal Intégral Evolution 5 Intégration sur votre site avec les API A l'aide de l'API du Gestionnaire de boutons, vous pouvez créer par l'intermédiaire d'un programme le bouton de paiement qui lance le flux de paiement Intégral Evolution sur votre site. Vous créez le bouton de paiement de façon dynamique lorsque l'acheteur essaie de payer sur votre site. Lorsque l'acheteur clique sur le bouton de paiement, vous appelez l'opération d'API BMCreateButton pour créer un bouton de paiement et l'afficher sur votre page. Lorsque l'acheteur clique sur ce bouton de paiement, il est redirigé vers la page de paiement de PayPal, où il pourra effectuer le paiement. Des variables HTML contrôlent la présentation des pages de paiement PayPal, les informations que celles-ci comportent et les pages auxquelles l'acheteur peut être renvoyé lorsqu'il quitte les pages de paiement. Pour obtenir une liste des variables HTML, reportezvous à « Variables HTML » page 17. Pour en savoir plus sur l'API du Gestionnaire de boutons, reportez-vous à l'API du Gestionnaire de boutons (NVP) ou à l'API du Gestionnaire de boutons (SOAP). REMARQUE : A l'aide de l'API du Gestionnaire de boutons, vous pouvez créer par l'intermédiaire d'un programme le bouton de paiement, mais n'avez pas la possibilité de le gérer, de le modifier, ou de le supprimer. Hébergement de boutons Pour Intégral Evolution, vous pouvez créer les types de boutons de paiement suivants avec BUTTONTYPE=PAYMENT : z z z Les boutons de jeton (BUTTONCODE=TOKEN) ne sont pas enregistrés sur PayPal. Ils sont dynamiques et lancent le flux de paiement Intégral Evolution. Les paramètres associés à ce type de bouton sont sécurisés. Leur durée de vie est d'environ 2 heures s'ils ne sont pas utilisés. Les boutons cryptés (BUTTONCODE=ENCRYPTED) ne sont pas enregistrés sur PayPal. Les paramètres associés à ce type de bouton sont cryptés. Vous devez mettre à jour les pages qui utilisent un bouton crypté à chaque fois que le bouton ou les informations associées changent. Les boutons non cryptés (BUTTONCODE=CLEARTEXT) ne sont pas enregistrés sur PayPal. Les paramètres associés à ce type de bouton ne sont pas cryptés. Ils peuvent être utilisés de façon dynamique car vous pouvez modifier la valeur d'un paramètre à tout moment. Toutefois, si vous les utilisez, vous acceptez le risque que des informations sensibles puissent être altérées ou volées. R E M A R Q U E : Les boutons hébergés (BUTTONCODE=HOSTED) ne sont pas pris en charge pour Intégral Evolution et généreront une erreur s'ils sont utilisés. Guide d’intégration de PayPal Intégral Evolution 39 Intégration sur votre site avec les API Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution Pour en savoir plus sur l'API du Gestionnaire de boutons, reportez-vous à « Opération d'API BMCreateButton » page 45. Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution Pour créer un bouton de paiement sur votre site marchand, vous appelez l'opération d'API BMCreateButton. Lorsque l'acheteur clique sur le bouton de paiement, PayPal lance le flux de paiement Intégral Evolution. Vous devez décoder la réponse de l'API BMCreateButton. Pour en savoir plus sur l'encodage d'URL, reportez-vous au Guide de développement de l'API NVP. Vous disposez de deux options dans la réponse pour lancer le flux de paiement Intégral Evolution : z Utiliser l'URL renvoyée dans la réponse (recommandé) z Utiliser le formulaire POST Utiliser l'URL renvoyée dans la réponse (recommandé) En utilisant l'URL identifiée dans la réponse comme EMAILLINK, vous pouvez rediriger l'acheteur pour lancer le flux le paiement. 40 Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site avec les API Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution Exemple pour TOKEN : EMAILLINK=https://www.paypal.com/cgi-bin/webscr?cmd=_sxclick&hosted_button_id=HSS2MTCOLOp9LoPGdFYsYclhbGyjJVNrMHO&HOSTEDBUTTONID=HSS2MTCOLOp9LoPGdFYsYclhbGyjJVNrMHO&TIMESTAMP=2010-0915T00:30:35Z&CORRELATIONID=2fc9a340a2356&ACK=Success&VERSION=65.0&BUILD=150 0269 Exemple pour ENCRYPTED : EMAILLINK=https://www.paypal.com/acquiringweb?cmd=_hostedpayment&business=idc%2dautomation%2duk%2dpro%2dt1%40paypal%2ecom&tax=2&ship ping=3&business=K5HHZSMWMCN58&subtotal=11&handling=4&TIMESTAMP=2010-0915T00:39:06Z&CORRELATIONID=23d12ce1161f2&ACK=Success&VERSION=65.0&BUILD=150 0269 Exemple pour CLEARTEXT : EMAILLINK=https://www.paypal.com/acquiringweb?cmd=_hostedpayment&business=idc%2dautomation%2duk%2dpro%2dt1%40paypal%2ecom&tax=2&ship ping=3&business=K5HHZSMWMCN58&subtotal=11&handling=4&TIMESTAMP=2010-0915T00:40:32Z&CORRELATIONID=64553e7c7c84&ACK=Success&VERSION=65.0&BUILD=1500 269 Les variables de bouton contrôlent la présentation du flux et les informations fournies à l'acheteur au début. Dans la mesure où l'URL est associée à un jeton Intégral Evolution, elle peut être utilisée pendant environ deux heures après sa création ou jusqu'à ce que le paiement soit effectué. Guide d’intégration de PayPal Intégral Evolution 41 Intégration sur votre site avec les API Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution Utiliser le formulaire POST Identifiez le WEBSITECODE dans la réponse et utilisez le code pour créer un bouton Payer sur votre page de vérification. Lorsque l'acheteur clique sur le bouton, il est redirigé vers la page de paiement hébergée par PayPal. De la même manière que pour l'URL, le bouton est utilisable pendant environ deux heures ou jusqu'à ce que le paiement soit effectué. Exemple pour TOKEN : WEBSITECODE=<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="HSS2MTCOLOp9LoPGdFYsYclhbGyjJVNrMHO"> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_auto_billing_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1"> </form> 42 Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site avec les API Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution Exemple pour ENCRYPTED : WEBSITECODE=<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="encrypted" value="BEGIN PKCS7......END PKCS7"> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_auto_billing_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1"> </form> Exemple pour CLEARTEXT : WEBSITECODE=<form action="https://www.paypal.com/acquiringweb" method="post"> <input type="hidden" name="cmd" value="_hosted-payment"> <input type="hidden" name="business" value="[email protected]"> <input type="hidden" name="tax" value="2"> <input type="hidden" name="shipping" value="3"> <input type="hidden" name="business" value="K5HHZSMWMCN58"> <input type="hidden" name="subtotal" value="11"> <input type="hidden" name="handling" value="4"> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_auto_billing_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> <img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1"> </form> R E M A R Q U E : La page de paiement PayPal affiche un bouton identifié comme Payer pour effectuer le paiement. Le bouton Payer de la page PayPal est différent du bouton Payer créé par l'opération d'API BMCreateButton de la page de vérification. Vous devrez peut-être modifier l'URL de ce dernier dans BUTTONIMAGEURL pour éviter toute confusion. Si aucune URL n'est indiquée dans BUTTONIMAGEURL, le bouton Payer par défaut est utilisé. Crypter les boutons à l'aide des clés publique et privée La fonction Paiements sur site marchand cryptés contribue à sécuriser les boutons de paiement que vous générez ou écrivez manuellement. Paiements sur site marchand cryptés protège le code HTML généré pour le bouton contenant des informations tarifaires en les cryptant. Le code HTML généré pour le bouton que vous protégez en utilisant la fonction Paiements sur site marchand cryptés ne peut pas être modifié par des tiers malveillants pour créer des paiements frauduleux. Pour en savoir plus, reportez-vous au Chapitre 6, « Protéger les boutons avec la fonction Paiements sur site marchand cryptés ». Guide d’intégration de PayPal Intégral Evolution 43 Intégration sur votre site avec les API Utiliser l'API du Gestionnaire de boutons avec le paiement Intégral Evolution Exemple de lancement de paiement L'exemple montre les paramètres NVP avec BUTTONCODE=TOKEN pour créer une URL permettant de lancer le paiement Intégral Evolution. ... BUTTONCODE=TOKEN BUTTONTYPE=PAYMENT BUTTONIMAGEURL=https://www.paypal.com/en_US/i/btn/btn_billing.gif L_BUTTONVAR0=subtotal=11 L_BUTTONVAR1=tax=2 L_BUTTONVAR2=shipping=3 L_BUTTONVAR3=handling=4 L_BUTTONVAR4=first_name=Bob L_BUTTONVAR5=last_name=Jones L_BUTTONVAR6=address1=Gardens L_BUTTONVAR7=address2=99343 L_BUTTONVAR8=city=Paris L_BUTTONVAR9=state=Alsace L_BUTTONVAR10=zip=75002 L_BUTTONVAR11=country=FR L_BUTTONVAR12=billing_first_name=BobBilling L_BUTTONVAR13=billing_last_name=JonesBilling"> L_BUTTONVAR14=billing_address1=5088 - 061 Craven Hill Gardens L_BUTTONVAR15=billing_address2=Apt# 199343 L_BUTTONVAR16=billing_city=Wolverhampton L_BUTTONVAR17=billing_state=West Midlands L_BUTTONVAR18=billing_zip=W12 4LQ L_BUTTONVAR19=billing_country=GB L_BUTTONVAR20=night_phone_a=408 L_BUTTONVAR21=night_phone_b=398 L_BUTTONVAR22=night_phone_c=3065 L_BUTTONVAR23=notify_url=www.ebay.com L_BUTTONVAR24=custom=custom1 L_BUTTONVAR25=cancel_return=http://www.cancel_return.com L_BUTTONVAR26=paymentaction=sale L_BUTTONVAR27=currency_code=GBP L_BUTTONVAR29=invoice= L_BUTTONVAR30=lc=GB L_BUTTONVAR31=showBillingAddress=false L_BUTTONVAR32=showShippingAddress=false L_BUTTONVAR33=showBillingEmail=true L_BUTTONVAR33=showBillingPhone=true L_BUTTONVAR34=showCustomerName=true L_BUTTONVAR35=showCardInfo=true L_BUTTONVAR36=showHostedThankyouPage=true L_BUTTONVAR37=bn=GBD L_BUTTONVAR38=cbt=Merchant ABCD L_BUTTONVAR39=address_override=0 L_BUTTONVAR40=cpp_header_image=Red L_BUTTONVAR41=logoText=PayPal 44 Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site avec les API Opération d'API BMCreateButton L_BUTTONVAR42=logoImage=http://paypal.com/wmlogo.gif L_BUTTONVAR43=logoImagePosition=center L_BUTTONVAR44=logoFont=Arial Bold L_BUTTONVAR45=logoFontSize=24px L_BUTTONVAR46=logoFontColor=#f0ff0f L_BUTTONVAR47=bodyBgImg=sdf L_BUTTONVAR48=bodyBgColor=#AEAEAE L_BUTTONVAR49=headerHeight=70px L_BUTTONVAR50=headerBgColor=#4B6BA1 L_BUTTONVAR51=PageTitleTextColor=Blue L_BUTTONVAR52=PageCollapseBgColor=Blue L_BUTTONVAR53=PageCollapseTextColor=Yellow L_BUTTONVAR54=PageButtonBgColor=Blue L_BUTTONVAR55=PageButtonBgColor=Blue L_BUTTONVAR56=orderSummaryBgColor=#EDF2F7 L_BUTTONVAR57=orderSummaryBgImage=http://teamworks/scr_bg_ordersummary.jpg L_BUTTONVAR58=footerTextColor=#333333 L_BUTTONVAR59=footerTextlinkColor=#00f00f L_BUTTONVAR60=template=templateC L_BUTTONVAR61=return=http://www.paypal.com Opération d'API BMCreateButton Utilisez l'opération d'API BMCreateButton pour créer un bouton de paiement Intégral Evolution. z Requête BMCreateButton z Réponse BMCreateButton z Erreurs BMCreateButton Requête BMCreateButton Les champs de la requête précisent les caractéristiques de votre bouton, qui incluent les commandes de menu associées au bouton. Vous pouvez indiquer jusqu'à 5 commandes de menu, chacune pouvant inclure jusqu'à 10 sélections possibles. Guide d’intégration de PayPal Intégral Evolution 45 Intégration sur votre site avec les API Opération d'API BMCreateButton Champs de requête BMCreateButton Champ Description METHOD (Obligatoire) BMCreateButton BUTTONCODE (Facultatif) Type de code de bouton à créer. Cette variable prend l'une des valeurs suivantes : z TOKEN : bouton sécurisé, non enregistré sur PayPal, utilisé pour générer le flux de paiement Intégral Evolution uniquement ; valeur par défaut pour le bouton Payer. Depuis la version 65.2 z ENCRYPTED : bouton crypté, non enregistré sur PayPal z CLEARTEXT : bouton non crypté, non enregistré sur PayPal BUTTONTYPE (Obligatoire) Type de bouton que vous souhaitez créer. PAYMENT : bouton Payer ; depuis la version 65.2 L_BUTTONVARn (Facultatif) Variables de bouton standard HTML Options de langue de bouton La langue du bouton doit être compatible avec le pays identifié par le code pays. Pays Options de langue de bouton Pays non identifiés ci-dessous z en : anglais ; valeur par défaut Autriche z de : allemand ; valeur par défaut en : anglais z Belgique z z z Canada z z Chine (monde) z z France z z Allemagne z z Hong Kong z z Italie z z 46 en : anglais ; valeur par défaut nl : néerlandais fr : français en : anglais ; valeur par défaut fr : français en : anglais ; valeur par défaut zh : chinois fr : français ; valeur par défaut en : anglais de : allemand ; valeur par défaut en : anglais zh : chinois ; valeur par défaut en : anglais it : italien ; valeur par défaut en : anglais Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site avec les API Opération d'API BMCreateButton Pays Options de langue de bouton Japon z z Mexique z z Pays-Bas z z Pologne z z Espagne z z Suisse z z z Etats-Unis z z z z ja : japonais ; valeur par défaut en : anglais es : espagnol ; valeur par défaut en : anglais nl : néerlandais ; valeur par défaut en : anglais pl : polonais ; valeur par défaut en : anglais es : espagnol ; valeur par défaut en : anglais de : allemand ; valeur par défaut fr : français en : anglais en : anglais ; valeur par défaut fr : français es : espagnol zh : chinois Réponse BMCreateButton La réponse comporte un identifiant si le bouton est hébergé sur PayPal, et un code HTML sur un site ou pour un lien dans un email. Champs de réponse BMCreateButton Champ Description WEBSITECODE Code HTML pour pages Web EMAILLINK Code de l'URL pour le flux de paiement Intégral Evolution HOSTEDBUTTONID Identifiant d'un jeton Intégral Evolution Guide d’intégration de PayPal Intégral Evolution 47 Intégration sur votre site avec les API Opération d'API BMCreateButton Erreurs BMCreateButton 48 Code d'erreur Message court Message long Correction de l'erreur en cours... 10001 Erreur interne Erreur interne 11923 Argument incorrect Valeur de l'image du bouton incorrecte. 11924 Argument incorrect URL de l'image du bouton incorrecte. 11925 Argument incorrect Type de bouton incorrect. 11926 Données incorrectes L'un des paramètres indiqués avec ButtonVar est incorrect. 11927 Argument incorrect Texte du bouton Acheter maintenant incorrect. 11928 Argument incorrect Email ou identifiant du marchand incorrect. 11929 Données incorrectes Un bouton de panier doit comporter un nom d'objet et un montant. 11930 Données incorrectes Un bouton de chèque-cadeau doit comporter une URL d'achat correcte. 11931 Argument incorrect Texte du bouton d'abonnement incorrect. 11932 Données incorrectes Le nombre de noms d'options indiqués doit correspondre au nombre de sélections d'options. 11933 Données incorrectes Vous ne pouvez pas sauter de numéro d'index pour les sélections d'options. Les sélections d'options doivent être indiquées de manière consécutive. 11934 Données incorrectes Le nombre de sélections d'options indiquées doit correspondre au nombre de prix d'options. 11936 Données incorrectes Vous ne pouvez pas indiquer un prix d'objet et des prix de sélections individuelles dans une même option. 11937 Argument incorrect Nom de zone de texte incorrect. Les noms de zone de texte ne doivent pas dépasser 64 caractères. 11938 Argument incorrect Valeur du code de bouton incorrecte. 11940 Argument incorrect Nom d'option incorrect. Les noms d'option ne doivent pas dépasser 64 caractères. Guide d’intégration de PayPal Intégral Evolution Intégration sur votre site avec les API Opération d'API BMCreateButton Code d'erreur Message court Message long 11941 Argument incorrect Valeur de sélection d'option incorrecte. Les valeurs de sélection d'option ne doivent pas dépasser 64 caractères. 11942 Argument incorrect Valeur de prix d'option incorrecte. Veuillez vous assurer que les signes de ponctuation sont correctement situés. 11943 Argument incorrect Valeur du pays associé au bouton incorrecte. 11945 Données incorrectes Combinaison de codes pays et langue du bouton incorrecte. 11947 Argument incorrect Taux de taxation incorrect. Veuillez vous assurer que les signes de ponctuation sont correctement situés et que la valeur indiquée est comprise entre 0,0 et 100. 11948 Argument incorrect Montant incorrect. Veuillez vous assurer que les signes de ponctuation sont correctement situés. 12210 Argument incorrect Valeur du code de devise incorrecte. 13117 Argument incorrect Montant du sous-total incorrect. 13118 Argument incorrect Montant de la taxe incorrect. 13119 Argument incorrect Montant des frais de dossier incorrect. 13120 Argument incorrect Montant des frais d'expédition incorrect. Guide d’intégration de PayPal Intégral Evolution Correction de l'erreur en cours... 49 Intégration sur votre site avec les API Opération d'API BMCreateButton 50 Guide d’intégration de PayPal Intégral Evolution Protéger les boutons avec la fonction Paiements sur site marchand cryptés 6 La fonction Paiements sur site marchand cryptés contribue à sécuriser les boutons de paiement que vous générez ou écrivez manuellement. Paiements sur site marchand cryptés protège le code HTML généré pour le bouton contenant des informations tarifaires en les cryptant. Le code HTML généré pour le bouton que vous protégez en utilisant la fonction Paiements sur site marchand cryptés ne peut pas être modifié par des tiers malveillants pour créer des paiements frauduleux. La fonction Paiements sur site marchand cryptés s'appuie sur le cryptage à clé publique standard pour garantir la protection. A l'aide de clés publiques et privées, vous pouvez générer du code HTML de manière dynamique pour les boutons de paiement et crypter les détails de paiement avant d'afficher les boutons sur votre site. Le tableau ci-dessous illustre la séquence d'actions qui s'exécutent avec les boutons de paiement protégés par la fonction Paiements sur site marchand cryptés. TABLEAU 6.1 Fonctionnement de Paiements sur site marchand cryptés Actions du site Action de l'acheteur Action de PayPal Clique sur le bouton de paiement PayPal publié. Vérifie l'authenticité des données à l'aide de la clé publique du site qui a au préalable été téléchargée vers PayPal. Génère une clé publique pour le site, laquelle est téléchargée vers PayPal, puis le certificat public PayPal est téléchargé sur le site. R E M A R Q U E : Cette action est exécutée une seule fois, lorsque vous intégrez pour la première fois Paiements sur site marchand à votre site. Génère du code HTML pour un bouton de paiement. Crypte le code généré en utilisant la clé publique de PayPal puis en signant le code crypté avec la clé privée du site. Publie sur le site le code HTML crypté et signé pour le bouton de paiement. Décrypte le code du bouton protégé à l'aide de la clé privée de PayPal. Guide d’intégration de PayPal Intégral Evolution 51 Protéger les boutons avec la fonction Paiements sur site marchand cryptés Cryptage à clé publique utilisé par la fonction Paiements sur site marchand cryptés TABLEAU 6.1 Fonctionnement de Paiements sur site marchand cryptés(Suite) Actions du site Action de l'acheteur Action de PayPal Redirige le navigateur du payeur vers le flux de paiement PayPal approprié, tel que cela est spécifié dans les variables HTML du code du bouton décrypté. Cryptage à clé publique utilisé par la fonction Paiements sur site marchand cryptés La fonction Paiements sur site marchand cryptés utilise le cryptage à clé publique, ou cryptographie asymétrique, qui fournit sécurité et confort en permettant aux expéditeurs et aux destinataires d'échanges cryptés d'échanger des clés publiques pour déverrouiller les messages de l'autre partie. Les aspects fondamentaux du cryptage à clé publique sont les suivants : z Clés publiques : les clés publiques sont créées par les destinataires et fournies aux expéditeurs avant que ces derniers ne cryptent et envoient les informations. Les certificats publics comprennent une clé publique et des informations d'identité, notamment le créateur de la clé et la date d'expiration. Les certificats publics peuvent être signés par les autorités de certification, qui garantissent que les certificats publics et leurs clés publiques appartiennent aux entités nommées. Vous et PayPal échangez vos certificats publics. z Clés privées : les clés privées sont créées par les destinataires et ne sont pas communiquées. Vous créez une clé privée et la conservez sur votre système. PayPal conserve sa clé privée sur son système. z Le processus de cryptage : les expéditeurs utilisent leur clé privée et la clé publique du destinataire pour crypter les informations avant de les envoyer. Les destinataires utilisent leur clé privée et la clé publique de l'expéditeur pour décrypter les informations après les avoir reçues. Ce processus de cryptage utilise également des signatures numériques dans des certificats publics pour vérifier l'expéditeur des informations. Utilisez votre clé privée et la clé publique de PayPal pour crypter le code HTML de votre bouton. PayPal utilise sa clé privée et votre clé publique pour décrypter le code du bouton après que les utilisateurs ont cliqué sur votre bouton de paiement. 52 Guide d’intégration de PayPal Intégral Evolution Protéger les boutons avec la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés Procédez comme suit avant d'utiliser la fonction Paiements sur site marchand cryptés pour protéger vos boutons de paiement : z Générer votre clé privée avec OpenSSL z Générer votre certificat public avec OpenSSL z Télécharger votre certificat public sur votre compte PayPal z Télécharger le certificat public PayPal à partir du site PayPal PayPal utilise uniquement des certificats publics X.509, et non des clés publiques. Une clé publique peut servir au décryptage mais elle ne contient aucune information permettant d'identifier la personne qui a fourni cette clé. Un certificat public comprend une clé publique ainsi que des informations sur cette clé, notamment sa date d'expiration et son propriétaire. PayPal accepte les certificats publics au format OpenSSL PEM émanant de n'importe quelle autorité de certification établie, notamment VeriSign. Vous pouvez générer vos propres clé privée et certificat public à l'aide de logiciels Open Source tels que OpenSSL (https://www.openssl.org), sujet traité en détail dans la rubrique suivante. Générer votre clé privée avec OpenSSL A l'aide du programme openssl, entrez la commande suivante pour générer votre clé privée. Cette commande génère une clé privée RSA de 1024 bits qui est stockée dans le fichier myprvkey.pem : openssl genrsa -out my-prvkey.pem 1024 Générer votre certificat public avec OpenSSL Le certificat public doit être au format PEM. Pour générer votre certificat, entrez la commande openssl qui génère un certificat public dans le fichier my-pubcert.pem : openssl req -new -key my-prvkey.pem -x509 -days 365 -out my-pubcert.pem Guide d’intégration de PayPal Intégral Evolution 53 Protéger les boutons avec la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés Télécharger votre certificat public sur votre compte PayPal Pour télécharger votre certificat public sur votre compte PayPal : 1. Connectez-vous à votre compte PayPal à l'adresse https://www.paypal.fr 2. Cliquez sur le sous-onglet Préférences. 3. Sous l'intitulé Préférences des ventes, cliquez sur le lien Certificats de cryptage pour site marchand. La page Certificats de paiement sur le site s'affiche. 4. Faites défiler la page jusqu'à la rubriqueVos certificats publics, puis cliquez sur le bouton Ajouter. La page Ajouter un certificat s'affiche. 5. Cliquez sur Parcourir puis sélectionnez le certificat public que vous souhaitez télécharger vers PayPal depuis votre ordinateur. R E M A R Q U E : Le fichier téléchargé doit être au format PEM. 6. Cliquez sur Ajouter. Une fois votre certificat public correctement téléchargé, il s'affiche dans la rubrique Vos certificats publics de la page Certificats de paiement sur le site. 7. Stockez dans un lieu sûr l'identifiant du certificat que PayPal a attribué à votre certificat public. Vous avez besoin de l'identifiant du certificat attribué par PayPal pour crypter vos boutons de paiement avec le logiciel Paiements sur site marchand cryptés fourni par PayPal. Télécharger le certificat public PayPal à partir du site PayPal Pour télécharger le certificat public PayPal : 1. Connectez-vous à votre compte PayPal à l'adresse https://www.paypal.fr 2. Cliquez sur le sous-onglet Préférences. 3. Sous l'intitulé Préférences des ventes, cliquez sur le lien Certificats de cryptage pour site marchand. 4. Faites défiler la page jusqu'à la rubrique Certificat public PayPal. 5. Cliquez sur Télécharger puis enregistrez le fichier sur votre ordinateur, dans un endroit sûr. 54 Guide d’intégration de PayPal Intégral Evolution Protéger les boutons avec la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés Supprimer votre certificat public IMPO RTANT : Si vous supprimez votre certificat public, son identifiant de certificat associé n'est plus valable pour crypter des boutons. De même, tous les boutons que vous avez générés ou écrits manuellement pour votre site et qui utilisent cet identifiant ne fonctionneront pas correctement. Pour supprimer un ou plusieurs de vos certificats publics : 1. Connectez-vous à votre compte PayPal à l'adresse https://www.paypal.fr 2. Cliquez sur le sous-onglet Préférences. 3. Sous l'intitulé Préférences des ventes, cliquez sur le lien Certificats de cryptage pour site marchand. 4. Faites défiler la page jusqu'à la rubrique Certificat public PayPal. 5. Sélectionnez le bouton radio situé à côté du certificat que vous souhaitez supprimer puis cliquez sur le bouton Supprimer. La page Supprimer un certificat s'affiche. 6. Cliquez sur le bouton Supprimer pour confirmer la suppression du certificat public que vous avez sélectionné. Utiliser la fonction Paiements sur site marchand cryptés pour protéger vos boutons de paiement La fonction Paiements sur site marchand cryptés comprend les logiciels Java et Microsoft Windows pour protéger les boutons de paiement que vous générez ou écrivez manuellement. Après vous être connecté à PayPal, téléchargez les logiciels depuis : https://www.paypal.com/us/cgi-bin/webscr?cmd=p/xcl/rec/ewp-code Après avoir téléchargé et extrait les logiciels, copiez votre clé privée, votre certificat public, le fichier p12 et le certificat public PayPal dans le dossier où se trouvent les logiciels. Guide d’intégration de PayPal Intégral Evolution 55 Protéger les boutons avec la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés 1. Préparez un fichier des variables et des valeurs pour Paiements sur site marchand pour chaque bouton crypté que vous souhaitez générer. Chaque variable et valeur doit être sur une ligne différente, comme dans l'exemple suivant. R E M A R Q U E : La variable cert_id identifie le certificat public que vous avez téléchargé sur le site PayPal. cert_id=Z24MFU6DSHBXQ cmd=_xclick [email protected] item_number=1234 custom=sc-id-789 amount=500.00 currency_code=USD tax=41.25 shipping=20.00 address_override=1 address1=123 Main St city=Austin state=TX zip=94085 country=US no_note=1 cancel_return=http://www.company.com/cancel.htm 2. Exécutez le logiciel de cryptage en utilisant la syntaxe appropriée, comme indiqué cidessous : – Java : PPEncrypt CertFile PrivKeyFile PPCertFile InputFile OutputFile [Sandbox] – Microsoft Windows : java ButtonEncryption CertFile PKCS12File PPCertFile Password InputFile OutputFile [Sandbox] où l'argument est le suivant : – CertFile : le nom du chemin vers votre propre certificat public – PKCS12File : le nom du chemin vers le format PKCS12 de votre propre certificat public – PPCertFile : le nom du chemin vers une copie du certificat public de PayPal – Password : la phrase de passe pour le format PKCS12 de votre propre certificat public – InputFile : le nom du chemin vers le fichier contenant les variables du formulaire HTML Paiements sur site marchand non cryptés – OutputFile : un nom de fichier pour le résultat crypté – [Sandbox] : le terme facultatif Sandbox qui vous permet de tester dans l'environnement de test (Sandbox) PayPal les boutons de paiement que vous avez protégés avec la fonction Paiements sur site marchand cryptés 3. Copiez le code crypté sur votre site. 56 Guide d’intégration de PayPal Intégral Evolution Protéger les boutons avec la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés Bloquer les paiements sur site marchand non protégés et non cryptés Pour renforcer la sécurité de vos boutons protégés et cryptés, mettez à jour les préférences de votre compte PayPal pour bloquer les paiements non protégés et non cryptés. Pour bloquer les paiements issus de boutons Paiements sur site marchand non protégés et non cryptés : 1. Connectez-vous à votre compte PayPal à l'adresse https://www.paypal.fr 2. Cliquez sur le sous-onglet Préférences. 3. Sous l'intitulé Préférences des ventes, cliquez sur le lien Certificats de cryptage pour site marchand. 4. Faites défiler la page jusqu'à la rubrique Paiements sur site marchand cryptés. 5. A côté de l'intitulé Bloquer les paiements sur site marchand non cryptés, sélectionnez le bouton radio Oui. 6. Faites défiler la page jusqu'en bas et cliquez sur Enregistrer. Guide d’intégration de PayPal Intégral Evolution 57 Protéger les boutons avec la fonction Paiements sur site marchand cryptés Configurer les certificats avant d'utiliser la fonction Paiements sur site marchand cryptés 58 Guide d’intégration de PayPal Intégral Evolution 7 Tester votre intégration dans l'Environnement de test L'Environnement de test PayPal est un environnement indépendant dans lequel vous pouvez créer et tester des fonctionnalités PayPal. C'est une copie presque identique du site PayPal. Son objectif est de donner aux développeurs un environnement protégé à des fins de test et d'intégration, et d'aider à éviter les problèmes pouvant survenir lors de l'intégration des solutions PayPal sur le site de production ou site réel. Avant de transférer toute application PayPal dans l'environnement de production, vous devriez tester l'application dans l'Environnement de test pour vous assurer qu'elle fonctionne comme vous le souhaitez et qu'elle est conforme aux consignes et normes établies par le Réseau de développement PayPal (PDN). Pour plus d'informations sur l'utilisation de l'Environnement de test, consultez le Guide d'utilisation de l'Environnement de test. Création d'un compte préconfiguré Lorsque vous vous connectez à l'Environnement de test, la page d'accueil s'affiche comme indiqué ci-dessous : Guide d’intégration de PayPal Intégral Evolution 59 Tester votre intégration dans l'Environnement de test Création d'un compte préconfiguré Pour tester votre intégration d'Intégral Evolution, créez un compte préconfiguré en suivant les étapes ci-dessous : 1. Sur la page d'accueil de l'Environnement de test, dans la section Test Accounts (Comptes test), cliquez sur Create a preconfigured buyer or seller account (Créer un compte acheteur ou vendeur préconfiguré). 2. La page Create a Sandbox Test Account (Créer un compte test) s'affiche comme ci-dessous : 60 Guide d’intégration de PayPal Intégral Evolution Tester votre intégration dans l'Environnement de test Création d'un compte préconfiguré 3. Choisissez France dans le menu déroulant Country (Pays). 4. Sélectionnez Website Payments Pro (Paiements sur site marchand Pro) comme Account Type (Type de compte). 5. Les champs Email et Password (Mot de passe) sont préremplis. Les autres champs étant facultatifs, procédez aux sélections appropriées ou acceptez les valeurs par défaut. R E M A R Q U E : Notez le mot de passe, car vous en aurez besoin pour vous connecter au site test de l'Environnement de test. 6. Cliquez sur Create Account (Créer le compte). La page suivante confirme la création du compte test : R E M A R Q U E : l'email de connexion est une adresse pseudo-randomisée créée à partir de l'adresse que vous avez fournie. Les numéros de carte et de compte bancaire sont aussi générés de façon aléatoire et s'affichent lorsque vous cliquez sur View Details (Afficher les détails). 7. Assurez-vous que la valeur de Payment Review (vérification de paiement) est bien Enabled (activée). Ainsi, toutes les transactions de ce compte sont mises en attente de vérification. Vous pouvez alors cliquer sur Accepter ou Refuser sur la page Détails de la transaction pour simuler l'action du spécialiste de la fraude. Guide d’intégration de PayPal Intégral Evolution 61 Tester votre intégration dans l'Environnement de test Création d'un compte préconfiguré 8. Cliquez sur Enter Sandbox Test Site (Entrer sur le site test de l'Environnement de test). Le site de l'Environnement de test apparaît dans une autre fenêtre, comme indiqué ci-dessous. Si vous n'êtes pas automatiquement connecté au site test, connectez-vous à l'aide de l'adresse email créée pour le compte test au cours de l'étape 6 et du mot de passe que vous avez noté dans l'étape 5. Vous êtes prêt à tester votre intégration d'Intégral Evolution sur le site test de l'Environnement de test. 62 Guide d’intégration de PayPal Intégral Evolution Tester votre intégration dans l'Environnement de test Création d'un compte préconfiguré Tester votre intégration et vos paramètres Les sections suivantes comportent des informations pour tester votre intégration et modifier l'apparence de votre page de paiement dans l'Environnement de test. z z Tester vos paramètres Tester votre intégration Pour tester votre intégration dans l'Environnement de test, suivez les étapes indiquées dans la section « Intégration simple d'Intégral Evolution » page 15. A des fins de test, vous devez procéder aux changements suivants dans le formulaire POST : 1. Modifiez l'URL pour activer la direction vers l'Environnement de test. De : <form action="https://securepayments.paypal.com/acquiringweb" method="post"> <input type="hidden" name="cmd" value="_hosted-payment"> à: <form action="https://securepayments.sandbox.paypal.com/acquiringweb" method="post"> <input type="hidden" name="cmd" value="_hosted-payment"> 2. Remplacez la valeur business par l'identifiant sécurisé du marchand indiqué dans la page Préférences du site test. Ainsi, le formulaire POST de test sera : <form action="https://securepayments.sandbox.paypal.com/acquiringweb" method="post"> <input type="hidden" name="cmd" value="_hosted-payment"> <input type name="subtotal" value="50"> <input type name="business" value="HNZ3QZMCPBAAA"> <input type name="paymentaction" value="sale"> <input type name="return" value="https://yourwebsite.com/receipt_page.html"> <input type="submit" name="METHOD" value="Pay Now"> </form> Guide d’intégration de PayPal Intégral Evolution 63 Tester votre intégration dans l'Environnement de test Création d'un compte préconfiguré Tester vos paramètres Pour modifier l'apparence de votre page de paiement, modifiez les paramètres des pages Apparence et Paramètres dans la section Préférences du site test. Pour plus d'informations, consultez la section « Modifier les paramètres de compte PayPal » page 21. 64 Guide d’intégration de PayPal Intégral Evolution 8 Traitement de la commande Ce chapitre vous guide à travers le traitement de bout en bout de la commande. Il comporte des informations sur la vérification de l'état et de l'authenticité de la commande avant de la finaliser. Vérifier l'état et l'authenticité de la transaction Lorsque l'acheteur effectue une transaction, il est redirigé soit vers une page de confirmation PayPal, soit vers un site que vous avez précisé dans la variable return ou sur la page de Paramètres de vos Préférences (comme indiqué dans la section « Intégration simple d'Intégral Evolution » page 15). Lorsque le navigateur est redirigé vers le site que vous avez indiqué, un numéro de transaction y est ajouté. Lorsque vous recevez la redirection (URL avec numéro de transaction), vous devez vérifier que la commande a été effectuée correctement sur PayPal avant d'envoyer les objets à l'acheteur. Vous pouvez le faire en vérifiant l'email de confirmation qui vous a été envoyé par PayPal ou en consultant l'historique des transactions. Vous pouvez également avoir recours à l'une des méthodes suivantes : Valider la notification instantanée de paiement (IPN) L'IPN vous permet de recevoir des messages de PayPal concernant les paiements et l'activité des transactions via une communication serveur-serveur asynchrone. Cela vous permet d'intégrer votre processus de finalisation de commande à vos paiements en ligne. Via la notification instantanée de paiement, vous recevrez des messages pour les éléments suivants : z Paiements et état des paiements (en attente, terminé ou rejeté) z Actions des filtres de protection contre la fraude z Activité de paiements récurrents z Autorisations, oppositions au paiement, litiges, annulations et remboursements. Après le traitement d'une transaction, PayPal envoie une IPN à l'URL notify spécifiée dans votre transaction ou dans vos Préférences PayPal. Vous devez vérifier que le numéro de transaction, le montant de la transaction ainsi que d'autres paramètres spécifiques à la commande envoyés dans l'IPN (tels que le numéro de facture) correspondent aux informations dont vous disposez dans votre système de traitement des commandes. Pour plus d'informations, reportez-vous au Guide des notifications instantanées de paiement. Guide d’intégration de PayPal Intégral Evolution 65 Traitement de la commande Finaliser une commande Exécuter un appel API GetTransactionDetails Grâce à l'API GetTransactionDetails, vous pouvez obtenir des informations sur une transaction spécifique. Si vous avez intégré PayPal en utilisant des API, vous avez la possibilité d'appeler GetTransactionDetails à l'aide du numéro de transaction renvoyé lors de la redirection pour valider l'authenticité de la commande. Pour plus d'informations, consultez la section « API GetTransactionDetails » page 67. Finaliser une commande Après avoir vérifié l'authenticité du montant et de l'état du paiement, vous pouvez finaliser le traitement de la commande en expédiant l'objet à l'acheteur. R E M A R Q U E : Pour bénéficier de la Protection des Marchands PayPal, l'objet doit être expédié à l'adresse indiquée sur la page de paiement PayPal ou celle que vous avez communiquée à PayPal. Sinon, l'objet ne peut pas bénéficier de la Protection des Marchands. Pour en savoir plus, consultez la section « Protection des Marchands PayPal » page 11. 66 Guide d’intégration de PayPal Intégral Evolution A Opérations d'API facultatives Plusieurs opérations d'API PayPal utilisant le numéro de transaction sont disponibles. Les plus communément utilisées pour Intégral Evolution sont les suivantes : z API GetTransactionDetails z API RefundTransaction z API DoCapture API GetTransactionDetails Permet d'obtenir des informations concernant une transaction en particulier. z Requête GetTransactionDetails z Réponse GetTransactionDetails Requête GetTransactionDetails TABLEAU A.1 Champs de la requête GetTransactionDetails Champ Description METHOD Doit être GetTransactionDetails. TRANSACTIONID (Obligatoire) Numéro unique d'une transaction. R E M A R Q U E : les détails pour certains types de transaction ne peuvent pas être retrouvés avec GetTransactionDetails. Vous ne pouvez pas obtenir de détails sur les virements bancaires, par exemple. Nombre et limite des caractères : 17 caractères alphanumériques codés sur un octet. Guide d’intégration de PayPal Intégral Evolution 67 Opérations d'API facultatives API GetTransactionDetails Réponse GetTransactionDetails R E M A R Q U E : tous les champs définis dans la structure officielle de la Réponse GetTransactionDetails ne sont pas nécessairement renvoyés. Des données ne sont renvoyées dans une réponse que si PayPal a enregistré des données correspondant au champ concerné. z Champs des informations sur le bénéficiaire z Champs des informations sur le payeur z Champs du nom du payeur z Champs de l'adresse z Champs des informations de paiement z Champs des informations sur l'objet de paiement z Champs de l'objet de paiement z Champs Enchère z Champs des conditions de l'abonnement Champs des informations sur le bénéficiaire TABLEAU A.2 68 Champs des informations sur le bénéficiaire Champ Description RECEIVERMAIL Adresse email principale du bénéficiaire du paiement (le vendeur). Si vous êtes le bénéficiaire du paiement et que le paiement n'est pas envoyé à votre adresse email principale, la valeur de ce champ reste votre adresse email principale. Nombre et limite des caractères : 127 caractères alphanumériques codés sur un octet RECEIVERID Identifiant de compte unique du bénéficiaire du paiement (le vendeur). Cette valeur est identique à la valeur de l'identifiant de référence du bénéficiaire. Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API GetTransactionDetails Champs des informations sur le payeur TABLEAU A.3 Champs des informations sur le payeur Champ Description EMAIL Adresse email du payeur. Nombre et limite des caractères : 127 caractères codés sur un octet PAYERID Numéro d'identification unique du compte de l'utilisateur PayPal. Nombre et limite des caractères : 13 caractères alphanumériques codés sur un octet. PAYERSTATUS Statut du payeur. Les valeurs correctes sont : z verified z unverified Nombre et limite des caractères : 10 caractères alphanumériques sur un octet. SHIPTOCOUNTRYCODE Pays de résidence du payeur sous la forme de code pays à deux caractères de la norme ISO 3166. Nombre et limite des caractères : deux caractères codés sur un octet PAYERBUSINESS Raison sociale du payeur. Nombre et limite des caractères : 127 caractères codés sur un octet Champs du nom du payeur TABLEAU A.4 Champs du nom du payeur Champ Description SALUTATION Titre du payeur. Nombre et limite des caractères : 20 caractères codés sur un octet FIRSTNAME Prénom du payeur. Nombre et limite des caractères : 25 caractères alphanumériques codés sur un octet. MIDDLENAME Deuxième prénom du payeur. Nombre et limite des caractères : 25 caractères alphanumériques codés sur un octet. LASTNAME Nom du payeur. Nombre et limite des caractères : 25 caractères alphanumériques codés sur un octet. Guide d’intégration de PayPal Intégral Evolution 69 Opérations d'API facultatives API GetTransactionDetails TABLEAU A.4 Champs du nom du payeur Champ Description SUFFIX Suffixe du payeur. Nombre et limite des caractères : 12 caractères alphanumériques codés sur un octet. Champs de l'adresse TABLEAU A.5 70 Champs de l'adresse Champ Description ADDRESSOWNER Entreprise eBay qui gère cette adresse. Les valeurs correctes sont : z eBay z PayPal ADDRESSSTATUS Etat de l'adresse postale dans les dossiers de PayPal. Les valeurs correctes sont : z none z Confirmed z Unconfirmed SHIPTONAME Nom de la personne associée à cette adresse. Nombre et limite des caractères : 32 caractères codés sur un octet. SHIPTOSTREET Première ligne de l'adresse postale. Nombre et limite des caractères : 100 caractères codés sur un octet. SHIPTOSTREET2 Deuxième ligne de l'adresse postale. Nombre et limite des caractères : 100 caractères codés sur un octet. SHIPTOCITY Nom de la ville. Nombre et limite des caractères : 100 caractères codés sur un octet. SHIPTOSTATE Etat ou province. Nombre et limite des caractères : 40 caractères codés sur un octet. SHIPTOZIP Code postal aux Etats-Unis ou autre code postal spécifique aux autres pays. Nombre et limite des caractères : 40 caractères codés sur un octet. SHIPTOCOUNTRYCODE Nom développé du pays. Nombre et limite des caractères : 20 caractères codés sur un octet. SHIPTOPHONENUMBER Code pays. Nombre et limite des caractères : deux caractères codés sur un octet. Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API GetTransactionDetails TABLEAU A.5 Champs de l'adresse Champ Description SHIPTOPHONENUM Code pays. Nombre et limite des caractères : deux caractères codés sur un octet. Champs des informations de paiement TABLEAU A.6 Champs des informations de paiement Champ Description TRANSACTIONID Numéro de transaction unique du paiement. Nombre et limite des caractères : 17 caractères codés sur un octet PARENTTRANSACTIONID Numéro d'identification de la transaction mère ou connexe. Ce champ est complété pour les types de transaction suivants : z Annulation : collecte d'une transaction autorisée. z Annulation : nouvelle autorisation pour une transaction. z Collecte d'une commande : la valeur de ParentTransactionID correspond à l'OrderID d'origine. z Autorisation d'une commande : la valeur de ParentTransactionID correspond à l'OrderID d'origine. z Collecte d'une autorisation de commande. z Annulation d'une commande : la valeur de ParentTransactionID correspond à l'OrderID d'origine. Nombre et limite des caractères : 16 chiffres au format xxxx-xxxxxxxx-xxxx RECEIPTID Numéro d'identification de l'avis de réception. Nombre et limite des caractères : 16 chiffres au format xxxx-xxxxxxxx-xxxx TRANSACTIONTYPE Type de transaction. Valeurs valides : z cart z express-checkout Nombre et limite des caractères : 15 caractères codés sur un octet PAYMENTTYPE Indique si le paiement est immédiat ou différé. Nombre et limite des caractères : sept caractères codés sur un octet Valeurs valides : z none z echeck z instant ORDERTIME Date et heure du cachet du paiement. Par exemple : 2006-0815T17:23:15Z. Guide d’intégration de PayPal Intégral Evolution 71 Opérations d'API facultatives API GetTransactionDetails TABLEAU A.6 72 Champs des informations de paiement Champ Description AMT Montant définitif facturé, comprenant les frais d'expédition et les taxes à partir de vos Préférences marchand. Nombre et limite des caractères : ne doit pas dépasser l'équivalent de $10,000 dollars USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être un point (.) et le séparateur des milliers (facultatif) une virgule (,). Equivalent à neuf caractères maximum pour le dollar USD. CURRENCYCODE Code de devise à trois caractères. FEEAMT Montant de la commission PayPal facturée pour la transaction Nombre et limite des caractères : ne doit pas dépasser l'équivalent de $10,000 dollars USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être un point (.) et le séparateur des milliers (facultatif) une virgule (,). Equivalent à neuf caractères maximum pour le dollar USD. SETTLEAMT Montant versé sur votre compte PayPal après une conversion monétaire. TAXAMT Taxe facturée pour la transaction. Nombre et limite des caractères : ne doit pas dépasser l'équivalent de $10,000 dollars USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être un point (.) et le séparateur des milliers (facultatif) une virgule (,). Equivalent à neuf caractères maximum pour le dollar USD. EXCHANGERATE Taux de change utilisé en cas de conversion de devise. Pertinent uniquement si vous ne facturez pas dans la devise principale du client. Si le client choisit de payer dans une devise autre que la devise principale, la conversion est effectuée sur le compte du client. Nombre et limite des caractères : un nombre décimal qui ne dépasse pas 17 caractères, dont un point comme séparateur décimal. Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API GetTransactionDetails TABLEAU A.6 Champs des informations de paiement Champ Description PAYMENTSTATUS Etat du paiement. Etat : z None : aucun état z Canceled-Reversal : une annulation a été invalidée ; par exemple, lorsque vous remportez un litige et que les fonds de l'annulation vous sont rendus. z Completed : le paiement a été effectué et les fonds ont été crédités sur votre solde de compte PayPal. z Denied : vous avez rejeté le paiement. Ceci ne se produit que si le paiement était précédemment en attente pour l'une des raisons décrites pour l'élément PendingReason. z Expired : la période d'autorisation pour ce paiement est arrivée à échéance. z Failed : le paiement a échoué. Cette situation ne se produit que si le paiement a été effectué à partir du compte bancaire de votre client. z In-Progress : la transaction n'est pas terminée, par exemple une autorisation est en attente. z Partially-Refunded : le paiement a été partiellement remboursé. z Pending : le paiement est en attente. Consultez le champ PendingReason pour plus d'informations. z Refunded : vous avez remboursé le paiement. z Reversed : un paiement a été annulé à cause d'une opposition ou d'un autre type d'annulation. Les fonds ont été débités de votre solde de compte et renvoyés à l'acheteur. La raison de cette annulation est indiquée dans l'élément ReasonCode. z Processed : un paiement a été accepté. z Voided : une autorisation a été annulée pour cette transaction. Guide d’intégration de PayPal Intégral Evolution 73 Opérations d'API facultatives API GetTransactionDetails TABLEAU A.6 Champs des informations de paiement Champ Description PENDINGREASON R E M A R Q U E : PendingReason est uniquement renvoyé dans la réponse si la valeur de PaymentStatus est Pending. Raison pour laquelle le paiement est en attente : z none : pas de raison pour la mise en attente. z address : le paiement est en attente parce que votre client n'a pas indiqué d'adresse confirmée pour la livraison et que vous avez spécifié dans vos Préférences de réception de paiements que vous souhaitiez accepter ou refuser manuellement chacun des paiements de ce type. Pour modifier vos préférences, accédez à la section Préférences de votre compte. z authorisation : le paiement est en attente, car il a été autorisé mais pas facturé. Vous devez d'abord collecter les fonds. z echeck : le paiement est en attente, car il a été effectué à l'aide d'un virement différé non compensé pour le moment. z intl : le paiement est en attente parce que vous êtes titulaire d'un compte hors des Etats-Unis et que vous ne disposez pas d'un mécanisme de virement. Vous devez accepter ou rejeter manuellement ce paiement dans votre Aperçu du compte. z multi-currency : vous n'avez pas de solde dans la devise envoyée et vos Préférences de réception de paiements n'indiquent pas de convertir et d'accepter automatiquement ce paiement. Vous devez accepter ou rejeter manuellement ce paiement. z order : le paiement est en attente, car il fait partie d'une commande qui a été autorisée mais non facturée. z paymentreview : le paiement est en attente car il est en cours d'étude par PayPal pour risque potentiel. z unilateral : le paiement est en attente parce qu'il a été envoyé à une adresse email non encore inscrite ou confirmée. z verify : le paiement est en attente parce que vous n'avez pas encore obtenu le statut Vérifié. Vous devez terminer la procédure de vérification de votre compte pour être en mesure d'accepter le paiement. z other : le paiement est en attente pour une raison autre que celles énumérées ci-dessus. Pour plus d'informations, contactez le Service clientèle de PayPal. 74 Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API GetTransactionDetails TABLEAU A.6 Champs des informations de paiement Champ Description REASONCODE Raison d'une annulation si la valeur de TransactionType est Reversal : z none : pas de code de motif z chargeback : cette transaction a fait l'objet d'une annulation à cause d'une opposition effectuée par votre client. z guarantee : cette transaction a fait l'objet d'une annulation, car votre client a invoqué sa garantie de remboursement. z buyer-complaint : cette transaction a fait l'objet d'une annulation à cause d'une réclamation émanant de votre client. z refund : cette transaction a fait l'objet d'une annulation, car vous avez accordé un remboursement au client. z other : cette transaction a fait l'objet d'une annulation pour une raison non répertoriée ci-dessus. PROTECTIONELIGIBILITY Depuis la version 64.4, type de protection des marchands en vigueur pour la transaction, parmi les valeurs suivantes : z Eligible : le vendeur est protégé par le règlement sur la Protection des Marchands PayPal pour les paiements non autorisés et les objets non reçus. z ItemNotReceivedEligible : le vendeur est protégé par le règlement sur la Protection des Marchands PayPal pour les objets non reçus. z UnauthorizedPaymentEligible : le vendeur est protégé par le règlement sur la Protection des Marchands PayPal pour les paiements non autorisés. z Ineligible : le vendeur n'est pas protégé par le règlement sur la Protection des Marchands PayPal. Champs des informations sur l'objet de paiement TABLEAU A.7 Champs des informations sur l'objet de paiement Champ Description INVNUM Numéro de facture que vous avez défini dans la transaction d'origine. Nombre et limite des caractères : 127 caractères alphanumériques codés sur un octet CUSTOM Champ personnalisable que vous avez défini dans la transaction d'origine. Nombre et limite des caractères : 127 caractères alphanumériques codés sur un octet NOTE Commentaires saisis par votre client dans le champ Remarque des Paiements sur site PayPal. Nombre et limite des caractères : 255 caractères alphanumériques codés sur un octet Guide d’intégration de PayPal Intégral Evolution 75 Opérations d'API facultatives API GetTransactionDetails TABLEAU A.7 Champs des informations sur l'objet de paiement Champ Description SALESTAX Montant des taxes imputées au paiement. Champs de l'objet de paiement TABLEAU A.8 76 Champs de l'objet de paiement Champ Description L_DESCn Montant des taxes imputées au paiement. Ces paramètres doivent être classés de façon séquentielle en commençant par 0 (par exemple, L_DESC0, L_DESC1). L_NUMBERn Numéro de l'objet que vous avez défini. S'il s'agit d'une transaction de panier, PayPal ajoute le numéro de l'objet à la variable HTML item_number. Par exemple item_number1, item_number2, etc. Nombre et limite des caractères : 127 caractères alphanumériques codés sur un octet. Ces paramètres doivent être classés de façon séquentielle en commençant par 0 (par exemple, L_NUMBER0, L_NUMBER1). L_QTYn Quantité que vous avez définie ou que le client a saisie. Nombre et limite des caractères : pas de limite L_AMTn Coût de l'objet. Ces paramètres doivent être classés de façon séquentielle en commençant par 0 (par exemple, L_AMT0, L_AMT1). L_OPTIONSNAMEn Noms des options PayPal pour un objet du panier ; chaque nom correspond à la valeur d'une option. Il peut y avoir de multiples noms d'option pour un objet. Les noms d'option sont classés de façon séquentielle en commençant par 0 (par exemple, L_OPTIONSNAMES0, L_OPTIONSNAME1). L_OPTIONSVALUEn Valeurs des options PayPal correspondant aux noms des options d'un objet du panier. Les noms d'option sont classés de façon séquentielle en commençant par 0 (par exemple, L_OPTIONSVALUE0, L_OPTIONSVALUE1). Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API RefundTransaction Champs Enchère TABLEAU A.9 Champs Enchère Champ Description BUYERID Numéro d'identification d'enchère du client. CLOSINGDATE Date de clôture de l'enchère. MULTIITEM Compteur utilisé pour les paiements d'enchère de multiples objets. Champs des conditions de l'abonnement TABLEAU A.10 Champs des conditions de l'abonnement Champ Description AMT Montant que l'abonné doit payer en une seule fois. Nombre et limite des caractères : pas de limite PERIOD Durée pendant laquelle l'abonné sera débité. Nombre et limite des caractères : pas de limite API RefundTransaction Envoie un remboursement au titulaire de compte PayPal associé à la transaction. z Requête RefundTransaction z Réponse RefundTransaction Guide d’intégration de PayPal Intégral Evolution 77 Opérations d'API facultatives API RefundTransaction Requête RefundTransaction TABLEAU A.11 Champs de la requête RefundTransaction Champ Description METHOD Doit être RefundTransaction. TRANSACTIONID (Obligatoire) Numéro unique d'une transaction. Nombre et limite des caractères : 17 caractères alphanumériques codés sur un octet. REFUNDTYPE (Obligatoire) Type de remboursement auquel vous procédez : z Other z Full z Partial AMT Montant du remboursement. Le montant est obligatoire si la valeur de RefundType est Partial. R E M A R Q U E : Si la valeur de RefundType est Full, ne fixez par le montant. NOTE (Facultatif) Commentaires personnalisés concernant le remboursement. Nombre et limite des caractères : 255 caractères alphanumériques codés sur un octet. Réponse RefundTransaction TABLEAU A.12 Champs de la réponse RefundTransaction 78 Champ Description REFUNDTRANSACTIONID Numéro de transaction unique du remboursement. Nombre et limite des caractères : 17 caractères alphanumériques codés sur un octet. FEEREFUNDAMT Commission sur transaction remboursée au bénéficiaire d'origine du paiement. GROSSREFUNDAMT Montant remboursé au payeur d'origine. NETREFUNDAMT Montant retiré du solde PayPal du bénéficiaire d'origine du paiement afin de procéder à ce remboursement. Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API DoCapture API DoCapture Collecte un paiement autorisé. z Requête DoCapture z Réponse DoCapture Requête DoCapture TABLEAU A.13 Champs de la requête DoCapture Champ Description METHOD (Obligatoire) Doit être DoCapture. AUTHORIZATIONID (Obligatoire) Le numéro d'identification de l'autorisation du paiement que vous souhaitez collecter. Il s'agit du numéro de transaction renvoyé par DoExpressCheckoutPayment ou DoDirectPayment. Nombre et limite des caractères : 19 caractères codés sur un octet au maximum. AMT (Obligatoire) Montant à collecter. Limites : la valeur est un nombre positif qui ne peut dépasser l'équivalent de $10,000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux décimales, le séparateur décimal doit être un point (.) et le séparateur des milliers (facultatif) une virgule (,). CURRENCYCODE (Facultatif) Un code de devise à trois caractères. Par défaut : USD. COMPLETETYPE (Obligatoire) La valeur Complete indique qu'il s'agit de la dernière collecte que vous avez l'intention de faire. La valeur NotComplete indique que vous avez l'intention de procéder à d'autres collectes. R E M A R Q U E : si la valeur Complete est sélectionnée, tout montant restant de la transaction d'origine autorisée est automatiquement annulé, tout comme les autres autorisations en cours. Nombre et limite des caractères : 12 caractères alphanumériques codés sur un octet. Guide d’intégration de PayPal Intégral Evolution 79 Opérations d'API facultatives API DoCapture TABLEAU A.13 Champs de la requête DoCapture Champ Description INVNUM (Facultatif) Votre numéro de facture ou autre numéro d'identification affiché au marchand et au client dans l'historique des transactions. R E M A R Q U E : cette valeur dans DoCapture remplacera une valeur définie précédemment dans DoAuthorisation. R E M A R Q U E : cette valeur n'est enregistrée que si l'autorisation que vous collectez est une autorisation de commande et non une simple autorisation. Nombre et limite des caractères : 127 caractères alphanumériques codés sur un octet NOTE 80 (Facultatif) Toute remarque informative concernant ce règlement, visible par le payeur dans un email et dans son historique des transactions. Nombre et limite des caractères : 255 caractères codés sur un octet. Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API DoCapture TABLEAU A.13 Champs de la requête DoCapture Champ Description SOFTDESCRIPTOR (Facultatif) Description par transaction du paiement apparaissant dans le relevé de carte du client. Si le champ du descripteur comporte une valeur, le descripteur complet s'affichant dans le relevé apparaît sous le format suivant : <PP * | PAYPAL*><Descripteur du marchand tel que défini dans les Préférences de réception de paiements><1espace><softdescriptor> Le descripteur ne peut comporter que les caractères suivants : z Caractères alphanumériques z - (tiret) z * (astérisque) z . (point) z {espace} Si vous utilisez d'autres caractères (tels que « , »), un code d'erreur sera renvoyé. Le descripteur n'inclut pas le numéro de téléphone, qui peut être soit le numéro de service clientèle du marchand, soit celui de PayPal. La longueur maximum de l'ensemble du descripteur est de 22 caractères. Parmi ceux-ci, soit 4, soit 8 caractères sont utilisés pour le préfixe PayPal indiqué dans le format des données. Ainsi, la longueur maximum du descripteur inclus dans la requête d'API est : 22- longueur (<PP * | PAYPAL *>) - longueur (<Descripteur défini dans les Préférences de réception de paiements> + 1) Par exemple, dans l'hypothèse des conditions suivantes : z Le préfixe PayPal est défini sur PAYPAL* dans les outils d'administration PayPal. z Le descripteur du marchand défini dans les Préférences de réception de paiements est EBAY. z Le descripteur est défini comme JanesFlowerGifts LLC. La chaîne du descripteur résultante sur la carte serait : PAYPAL*EBAY JanesFlow Guide d’intégration de PayPal Intégral Evolution 81 Opérations d'API facultatives API DoCapture Réponse DoCapture z Champs de la réponse DoCapture z Champs de type PayerInfo z Champs de l'adresse de livraison z Champs du nom du payeur R E M A R Q U E : Si vous utilisez la version 56.0 ou une version ultérieure de l'API DoCapture, seul le renvoi des éléments suivants est garanti : numéro d'autorisation, numéro de transaction, type de transaction, date de paiement, montant brut et état du paiement. Si vous avez besoin des valeurs d'autres champs et que ceux-ci ne sont pas renvoyés, vous pouvez les obtenir ultérieurement via GetTransactionDetails ou le mécanisme de rapport. reporting. Champs de la réponse DoCapture TABLEAU A.14 Champs de la réponse DoCapture Champ Description AUTHORIZATIONID Numéro d'identification de l'autorisation que vous avez spécifié dans la requête. Nombre et limite des caractères : 19 caractères codés sur un octet au maximum. Champs de type PayerInfo TABLEAU A.15 Champs de type PayerInfo 82 Champ Description EMAIL Adresse email du payeur. Nombre et limite des caractères : 127 caractères codés sur un octet. PAYERID Numéro d'identification unique du compte de l'utilisateur PayPal. Nombre et limite des caractères : 13 caractères alphanumériques codés sur un octet. PAYERSTATUS Statut du payeur. Les valeurs correctes sont : z verified z unverified Nombre et limite des caractères : 10 caractères alphanumériques sur un octet. COUNTRYCODE Pays de résidence du payeur sous la forme de code pays à deux caractères de la norme ISO 3166. Nombre et limite des caractères : deux caractères codés sur un octet. Guide d’intégration de PayPal Intégral Evolution Opérations d'API facultatives API DoCapture TABLEAU A.15 Champs de type PayerInfo Champ Description BUSINESS Raison sociale du payeur. Nombre et limite des caractères : 127 caractères codés sur un octet. Champs de l'adresse de livraison TABLEAU A.16 Champs de l'adresse de livraison Champ Description ADDRESSSTATUS Etat de l'adresse postale dans les dossiers de PayPal. Les valeurs correctes sont : z none z Confirmed z Unconfirmed SHIPTONAME Nom de la personne associée à cette adresse. Nombre et limite des caractères : 32 caractères codés sur un octet. SHIPTOSTREET Première ligne de l'adresse postale. Nombre et limite des caractères : 100 caractères codés sur un octet. SHIPTOSTREET2 Deuxième ligne de l'adresse postale. Nombre et limite des caractères : 100 caractères codés sur un octet. SHIPTOCITY Nom de la ville. Nombre et limite des caractères : 40 caractères codés sur un octet. SHIPTOSTATE Etat ou province. Nombre et limite des caractères : 40 caractères codés sur un octet. SHIPTOZIP Obligatoire pour les adresses aux Etats-Unis uniquement. Code postal aux Etats-Unis ou autre code postal spécifique aux autres pays. Nombre et limite des caractères : 20 caractères codés sur un octet. SHIPTOCOUNTRYCODE Code pays. Nombre et limite des caractères : deux caractères codés sur un octet. Guide d’intégration de PayPal Intégral Evolution 83 Opérations d'API facultatives API DoCapture Champs du nom du payeur TABLEAU A.17 Champs du nom du payeur 84 Champ Description SALUTATION Titre du payeur. Nombre et limite des caractères : 20 caractères codés sur un octet. FIRSTNAME Prénom du payeur. Nombre et limite des caractères : 25 caractères codés sur un octet. MIDDLENAME Deuxième prénom du payeur. Nombre et limite des caractères : 25 caractères codés sur un octet. LASTNAME Nom du payeur. Nombre et limite des caractères : 25 caractères codés sur un octet. SUFFIX Suffixe du payeur. Nombre et limite des caractères : 12 caractères codés sur un octet. Guide d’intégration de PayPal Intégral Evolution B Passer de PayPal Intégral à PayPal Intégral Evolution Si vous passez de PayPal Intégral en version HTML (solution aussi appelée Paiements sur Site Marchand, Website Payment Standard ou WPS) à PayPal Intégral Evolution, vous devez procéder aux changements suivants : 1. Dans la balise FORM, modifiez la valeur cmd dans l'attribut d'action de : <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> à: <form action="https://securepayments.paypal.com/acquiringweb?cmd=_hosted -payment" method="post"><input type="hidden" name="cmd" value="_hosted-payment"> 2. Modifiez la variable HTML amount en subtotal. R E M A R Q U E : PayPal Intégral en version HTML dispose de valeurs distinctes pour le montant (amount) et la quantité (quantity), tandis que PayPal Intégral Evolution utilise le sous-total (subtotal) uniquement. Assurez-vous que le sous-total inclut le montant que vous souhaitez facturer à l'acheteur, en tenant compte de toute réduction applicable et de la quantité d'objets. 3. Si vous aviez déjà personnalisé votre flux de paiement, par exemple la couleur ou l'arrièreplan, vous devrez refaire ces modifications pour Intégral Evolution. Pour en savoir plus sur la personnalisation de l'apparence de votre page de paiement, consultez le Chapitre 3, « Personnalisation de votre page de paiement PayPal ». Guide d’intégration de PayPal Intégral Evolution 85 Passer de PayPal Intégral à PayPal Intégral Evolution Comparaison d'échantillons de code Vous trouverez ci-dessous une comparaison entre le code de PayPal Intégral en version HTML et le code de PayPal Intégral Evolution. R E M A R Q U E : dans les exemples ci-dessous, pour PayPal Intégral HTML, les valeurs amount et quantity sont respectivement fixées à 10 et 2. Pour Intégral Evolution, la valeur de subtotal est de 20, ce qui correspond au produit des valeurs amount et quantity ci-dessus. Cela apparaît ci-dessous en gras. Exemple de code Paiements sur site marchand <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="[email protected]"> <input type="hidden" name="amount" value="10"> <input type="hidden" name="quantity" value="2"> <input type="hidden" name="tax" value="1"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name=" invoice" value="MEM32507725"> <!-- Enable override of payer’s stored PayPal address. --> <input type="hidden" name="address_override" value="1"> <!-- Set prepopulation variables to override stored address. --> <input type="hidden" name="first_name" value="John"> <input type="hidden" name="last_name" value="Doe"> <input type="hidden" name="address1" value="345 Lark Ave"> <input type="hidden" name="city" value="San Jose"> <input type="hidden" name="state" value="CA"> <input type="hidden" name="zip" value="95121"> <input type="hidden" name="country" value="US"> <input type="hidden" name="bn" value="CC_Partner_WPS"> <input type="hidden" name="notify_url" value="https://www.paypal.com/IPN/"> <input type="image" name="submit" border="0" src="https://www.paypal.com/img.gif "> </form> Exemple de code Intégral Evolution <form action=”https://securepayments.paypal.com/acquiringweb?cmd=_hostedpayment” method="post"><input type="hidden" name="cmd" value="_hostedpayment"> <input type="hidden" name="business" value="HNZ3QZMCPBAAA"> <input type="hidden" name="subtotal" value="20"> <input type="hidden" name="tax" value="1"> <input type="hidden" name="currency_code" value="USD"> <input type="hidden" name="invoice" value="MEM32507725"> <input type="hidden" name="template" value=”TemplateB"> <!-- Enable override of payer’s stored PayPal address. --> <input type="hidden" name="address_override" value="1"> <input type="hidden" name="showShippingAddress" value="false"> <!-- Set prepopulation variables to override stored address. --> <input type="hidden" name="first_name" value="John"> <input type="hidden" name="last_name" value="Doe"> 86 Guide d’intégration de PayPal Intégral Evolution Passer de PayPal Intégral à PayPal Intégral Evolution <input type="hidden" name="address1" value="345 Lark Ave"> <input type="hidden" name="city" value="San Jose"> <input type="hidden" name="state" value="CA"> <input type="hidden" name="zip" value="95121"> <input type="hidden" name="country" value="US"> <input type="hidden" name="billing_first_name" value="John"> <input type="hidden" name=" billing_last_name" value="Doe"> <input type="hidden" name=" billing_address1" value="345 Lark Ave"> <input type="hidden" name=" billing_city" value="San Jose"> <input type="hidden" name=" billing_state" value="CA"> <input type="hidden" name=" billing_zip" value="95121"> <input type="hidden" name=" billing_country" value="US"> <input type="hidden" name="bn" value="CC_Partner_H3S"> <input type="hidden" name="notify_url" value="https://www.paypal.com/IPN/"> <input type="image" name="submit" border="0" src="https://www.paypal.com/img.gif "> </form> Guide d’intégration de PayPal Intégral Evolution 87 Passer de PayPal Intégral à PayPal Intégral Evolution 88 Guide d’intégration de PayPal Intégral Evolution C Messages d'erreur Le tableau ci-dessous répertorie tous les messages d'erreur et les éventuelles solutions. TABLEAU C.1 Messages d'erreur et solutions correspondantes Code d'erreur Message d'erreur Solution 10001 Impossible de traiter votre paiement actuellement. Réessayez ultérieurement. Réessayez plus tard. 10004 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Votre intégration présente un problème. Veuillez vérifier vos paramètres. 10009 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Réessayez plus tard. 10010 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Indiquez un numéro de facture correcte. 10413 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Sous-total, livraison, traitement et taxe. Contrôlez les totaux de votre intégration. 10500 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Vous n'avez pas accepté l'autorisation de facturation. 10501 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. L'autorisation de facturation est désactivée ou inactive. 10502 Votre carte a expiré. Veuillez payer avec une carte valable. La carte utilisée a expiré. 10504 Veuillez entrer un Le cryptogramme visuel indiqué est incorrect. Le cryptogramme visuel correct. cryptogramme visuel doit contenir 3 à 4 chiffres. Guide d’intégration de PayPal Intégral Evolution 89 Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) 90 Code d'erreur Message d'erreur Solution 10507 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. L'accès à votre compte PayPal est restreint. Contactez PayPal en indiquant ce message d'erreur. 10508 Veuillez entrer une date d'expiration correcte pour la carte. Le format de la date d'expiration doit être correct. 10509 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. PayPal n'a pas pu déterminer l'adresse IP de cet acheteur. 10511 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Contrôlez l'intégration afin de vérifier si la valeur PaymentAction fournie est correcte. 10512 Veuillez entrer un prénom. Le prénom de l'acheteur est obligatoire. 10513 Veuillez entrer un nom. Le nom de l'acheteur est obligatoire. 10520 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Les montants fournis ne correspondent pas. 10523 Impossible de traiter votre paiement actuellement. Réessayez ultérieurement. Réessayez plus tard. 10525 Veuillez saisir un montant correct. Vérifiez votre intégration afin de confirmer que les montants ne sont pas égaux à zéro. 10527 Veuillez entrer un numéro de carte correct. La carte bancaire saisie est incorrecte. 10534 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. PayPal a restreint la carte bancaire saisie. Contactez PayPal en indiquant ce message d'erreur. 10535 Veuillez saisir un numéro de carte bancaire correct. La carte bancaire saisie est incorrecte. 10536 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Tous les objets du panier doivent être facturés dans la même devise. Guide d’intégration de PayPal Intégral Evolution Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) Code d'erreur Message d'erreur Solution 10539 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. La transaction a été refusée par le filtre contre la fraude géré par le marchand. Pour accepter cette transaction, modifiez les paramètres de gestion des risques dans PayPal. 10540 Veuillez saisir une adresse correcte. La transaction a été refusée par PayPal à cause d'une adresse incorrecte. L'acheteur doit indiquer une adresse correcte. 10541 Veuillez saisir un numéro de carte bancaire correct. PayPal a restreint la carte bancaire saisie. Contactez PayPal en indiquant ce message d'erreur. 10542 Veuillez entrer une adresse email correcte. Le format de l'adresse email fournie est incorrect. L'acheteur doit indiquer une adresse email dans le format correct. 10544 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. La transaction a été refusée par PayPal. Contactez PayPal en indiquant ce message d'erreur. 10545 Impossible de traiter votre paiement. Veuillez payer avec une autre carte bancaire. La transaction a été refusée par PayPal à cause d'une éventuelle activité frauduleuse. Contactez PayPal en indiquant ce message d'erreur. 10546 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. La transaction a été refusée par PayPal à cause d'une éventuelle activité frauduleuse sur l'adresse IP. Contactez PayPal en indiquant ce message d'erreur. 10547 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Aucune – erreur interne de PayPal. 10548 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Le compte marchand qui tente la transaction n'est pas un compte Business PayPal. Vérifiez les paramètres de votre compte. 10549 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Le compte marchand qui tente la transaction ne peut pas traiter les transactions via Paiement direct. Contactez PayPal en indiquant ce message d'erreur. 10550 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. L'accès à Paiement direct a été désactivé pour votre compte. Contactez PayPal en indiquant ce message d'erreur. Guide d’intégration de PayPal Intégral Evolution 91 Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) 92 Code d'erreur Message d'erreur Solution 10552 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Le compte marchand qui tente la transaction ne dispose pas d'une adresse email confirmée chez PayPal. Vérifiez les paramètres de votre compte. 10553 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Le marchand a tenté une transaction dont le montant dépasse la limite supérieure qui lui a été fixée. 10557 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Vérifiez vos préférences de réception de paiements. Veuillez contacter PayPal si vous avez besoin d'aide supplémentaire. 10558 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Votre carte bancaire ne peut pas être débitée dans la devise demandée. 10561 Veuillez entrer une adresse de facturation complète. L'acheteur doit saisir l'adresse de facturation complète. 10562 Veuillez entrer une année correcte pour la date d'expiration de votre carte bancaire. L'acheteur doit saisir une année d'expiration correcte pour la carte bancaire. 10563 Veuillez entrer une année correcte pour la date d'expiration de votre carte bancaire. L'acheteur doit saisir un mois d'expiration correct pour la carte bancaire. 10564 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Une transaction en double a été détectée ; recommandez à l'acheteur de réessayer plus tard. 10565 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Le pays du marchand n'est pas pris en charge. 10566 Impossible de traiter votre paiement. Veuillez payer avec un type de carte différent. Le type de carte bancaire n'est pas pris en charge. Guide d’intégration de PayPal Intégral Evolution Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) Code d'erreur Message d'erreur Solution 10570 Impossible de traiter votre paiement. Veuillez payer avec une autre carte bancaire. Cette carte bancaire ne prend pas en charge l'"Autorisation". 10701 Veuillez entrer un nom correct pour l'adresse de facturation. L'acheteur doit saisir un nom correct pour l'adresse de facturation. 10702 Veuillez entrer une adresse correcte sur la ligne 1 de l'adresse de facturation. L'acheteur doit saisir une adresse correcte sur la ligne 1 de l'adresse de facturation. 10703 Veuillez entrer une adresse correcte sur la ligne 2 de l'adresse de facturation. L'acheteur doit saisir une adresse correcte sur la ligne 2 de l'adresse de facturation. 10704 Veuillez entrer une ville correcte pour l'adresse de facturation. L'acheteur doit saisir une ville correcte pour l'adresse de facturation. 10705 Veuillez entrer un Etat correct pour l'adresse de facturation. L'acheteur doit saisir un Etat correct pour l'adresse de facturation. 10706 Veuillez entrer un code postal correct pour l'adresse de facturation. L'acheteur doit saisir un code postal correct pour l'adresse de facturation. 10707 Veuillez entrer un pays correct pour l'adresse de facturation. L'acheteur doit saisir un pays correct pour l'adresse de facturation. 10708 Veuillez entrer une adresse de facturation complète. L'acheteur doit saisir l'adresse de facturation complète. 10709 Veuillez entrer une adresse sur la ligne 1 de l'adresse de facturation. L'acheteur doit saisir une adresse sur la ligne 1 de l'adresse de facturation. 10710 Veuillez entrer une ville pour l'adresse de facturation. L'acheteur doit saisir une ville pour l'adresse de facturation. 10711 Veuillez entrer un Etat pour l'adresse de facturation. L'acheteur doit saisir un Etat pour l'adresse de facturation. 10712 Veuillez entrer un code postal correct pour l'adresse de facturation. L'acheteur doit saisir un code postal correct pour l'adresse de facturation. 10713 Veuillez entrer un pays pour l'adresse de facturation. L'acheteur doit saisir un pays pour l'adresse de facturation. Guide d’intégration de PayPal Intégral Evolution 93 Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) 94 Code d'erreur Message d'erreur Solution 10714 Veuillez entrer un nom correct pour l'adresse de facturation. L'acheteur doit saisir un nom correct pour l'adresse de facturation. 10715 Veuillez entrer un Etat correct pour l'adresse de facturation. L'acheteur doit saisir un Etat correct pour l'adresse de facturation. 10716 Veuillez entrer un code postal correct pour l'adresse de facturation. L'acheteur doit saisir un code postal correct pour l'adresse de facturation. 10717 Veuillez entrer un code postal correct pour l'adresse de facturation. L'acheteur doit saisir un code postal correct pour l'adresse de facturation. 10718 Veuillez entrer une ville correcte pour l'adresse de facturation. L'acheteur doit saisir une ville correcte. 10719 Veuillez entrer un nom de destinataire correct pour l'adresse de livraison. L'acheteur doit saisir un nom de destinataire correct pour l'adresse de livraison. 10720 Veuillez entrer une adresse correcte sur la ligne 1 de l'adresse de livraison. L'acheteur doit saisir une adresse correcte sur la ligne 1 de l'adresse de livraison. 10721 Veuillez entrer une adresse correcte sur la ligne 2 de l'adresse de livraison. L'acheteur doit saisir une adresse correcte sur la ligne 2 de l'adresse de livraison. 10722 Veuillez entrer une ville correcte pour l'adresse de livraison. L'acheteur doit saisir une ville correcte pour l'adresse de livraison. 10723 Veuillez entrer un Etat correct pour l'adresse de livraison. L'acheteur doit saisir un Etat correct pour l'adresse de livraison. 10724 Veuillez entrer un code postal correct pour l'adresse de livraison. L'acheteur doit saisir un code postal correct pour l'adresse de livraison. 10725 Veuillez entrer un pays correct pour l'adresse de livraison. L'acheteur doit saisir un pays correct pour l'adresse de livraison. 10726 Veuillez entrer une adresse de livraison complète. L'acheteur doit saisir une adresse de livraison complète. Guide d’intégration de PayPal Intégral Evolution Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) Code d'erreur Message d'erreur Solution 10727 Veuillez entrer une adresse sur la ligne 1 de l'adresse de livraison. L'acheteur doit saisir une adresse de livraison dans le champ Adresse 1. 10728 Veuillez entrer une ville pour l'adresse de livraison. L'acheteur doit saisir une ville pour l'adresse de livraison. 10729 Veuillez entrer un Etat pour l'adresse de livraison. L'acheteur doit saisir un Etat pour l'adresse de livraison. 10730 Veuillez entrer un code postal pour l'adresse de livraison. L'acheteur doit saisir un code postal correct pour l'adresse de livraison. 10731 Veuillez entrer un pays pour l'adresse de livraison. L'acheteur doit saisir un pays pour l'adresse de livraison. 10732 Veuillez entrer un nom de destinataire correct pour l'adresse de livraison. L'acheteur doit saisir un destinataire correct pour l'adresse de livraison. 10733 Veuillez entrer un Etat correct pour l'adresse de livraison. L'acheteur doit saisir un Etat correct pour l'adresse de livraison. 10734 Veuillez entrer un code postal correct pour l'adresse de livraison. L'acheteur doit saisir un code postal correct pour l'adresse de livraison. 10735 Veuillez entrer un code postal correct pour l'adresse de livraison. L'acheteur doit saisir un code postal correct pour l'adresse de livraison. 10736 Veuillez entrer une ville et un Etat corrects pour l'adresse de livraison. L'acheteur doit saisir une ville et un Etat corrects pour l'adresse de livraison. 10744 Veuillez entrer un pays correct pour l'adresse de facturation. L'acheteur doit saisir un pays correct pour l'adresse de facturation. 10745 Veuillez entrer un pays correct pour l'adresse de livraison. L'acheteur doit saisir un pays correct pour l'adresse de livraison. 10746 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Les cartes de ce pays ne sont pas prises en charge. Guide d’intégration de PayPal Intégral Evolution 95 Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) 96 Code d'erreur Message d'erreur Solution 10747 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Contactez PayPal en indiquant ce message d'erreur. 10748 Veuillez entrer un cryptogramme visuel. L'acheteur doit saisir le cryptogramme visuel. 10750 Veuillez entrer un Etat correct pour l'adresse de livraison. L'acheteur doit saisir un Etat correct pour l'adresse de livraison. 10751 Veuillez entrer un Etat correct pour l'adresse de facturation. L'acheteur doit saisir un Etat correct pour l'adresse de facturation. 10752 Impossible de traiter votre paiement. Payez avec une autre carte. La transaction a été refusée par la banque émettrice, et non par PayPal. L'acheteur doit essayer une autre carte. 10754 Impossible de traiter votre paiement. Payez avec une autre carte. L'acheteur doit utiliser une autre carte bancaire. 10755 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Contrôlez votre intégration afin de vérifier si le code de devise est bien pris en charge. 10756 Impossible de traiter votre paiement. Payez avec une autre carte. L'acheteur doit utiliser une autre carte bancaire. 10759 Impossible de traiter votre paiement. Payez avec une autre carte. La transaction a été refusée par PayPal. Contactez PayPal en indiquant ce message d'erreur. 10761 Votre paiement ne peut pas être traité, car cette transaction s'avère être le double d'une transaction récente. La transaction a été refusée, car PayPal traite actuellement une transaction effectuée par le même acheteur pour le même montant. Cette erreur peut se produire lorsqu'un acheteur soumet rapidement plusieurs transactions identiques à la suite. 10762 Impossible de traiter votre paiement. Payez avec une autre carte. Echecs trop nombreux de saisie du cryptogramme visuel pour la carte. L'acheteur doit essayer d'utiliser une autre carte. 10763 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Aucune – erreur interne de PayPal. Guide d’intégration de PayPal Intégral Evolution Messages d'erreur TABLEAU C.1 Messages d'erreur et solutions correspondantes(Suite) Code d'erreur Message d'erreur Solution 10764 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. La transaction a été refusée par PayPal. Contactez PayPal en indiquant ce message d'erreur. 11998 Veuillez entrer la date du début de la validité de votre carte bancaire. L'acheteur doit indiquer la date correcte du premier paiement effectué avec sa carte bancaire. 15001 Impossible de traiter votre paiement. Payez avec une autre carte. La transaction a été rejetée par PayPal à cause du nombre excessif d'échecs enregistrés sur une courte période pour cette carte bancaire. Contactez PayPal en indiquant ce message d'erreur. 15002 Impossible de traiter votre paiement. Payez avec une autre carte. La transaction a été refusée par PayPal. Contactez PayPal en indiquant ce message d'erreur. 15003 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. La transaction a été refusée, car le marchand ne dispose pas de Conditions d'utilisation pour une entité commerciale validées par PayPal. Contactez PayPal en indiquant ce message d'erreur. 15004 Veuillez entrer un La transaction a été refusée, car le cryptogramme visuel cryptogramme visuel correct. saisi ne correspond pas à la carte. 15005 Impossible de traiter votre paiement. Payez avec une autre carte. La transaction a été refusée par la banque émettrice, et non par PayPal. L'acheteur doit essayer une autre carte. 15006 Veuillez entrer un numéro de carte correct. La transaction a été refusée par la banque émettrice, et non par PayPal. L'acheteur doit essayer une autre carte. 15007 Votre carte est arrivée à expiration. Veuillez payer avec une carte valable. La transaction a été refusée par la banque émettrice à cause d'une carte bancaire expirée. L'acheteur doit essayer une autre carte. 15008 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Contrôlez votre intégration pour vérifier la correspondance des totaux. 15009 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Les codes de devise ne correspondent pas. Contactez PayPal en indiquant ce message d'erreur. 99998 Impossible de traiter votre paiement. Veuillez contacter le marchand directement avec ce code. Les données de carte bancaire saisies sont incorrectes. Contactez PayPal en indiquant ce message d'erreur. Guide d’intégration de PayPal Intégral Evolution 97 Messages d'erreur 98 Guide d’intégration de PayPal Intégral Evolution D Codes de devises Le tableau ci-dessous donne la liste de toutes les devises prises en charge par PayPal. TABLEAU D.1Codes de devises Code de devise Nom de pays AUD Dollar australien CAD Dollar canadien CHF Franc suisse CZK Couronne tchèque DKK Couronne danoise EUR Euro GBP Livre sterling HKD Dollar de Hong-Kong HUF Forint hongrois JPY Yen NOK Couronne norvégienne NZD Dollar néo-zélandais PLN Zloty polonais SEK Couronne suédoise SGD Dollar de Singapour USD Dollar USD Guide d’intégration de PayPal Intégral Evolution 99 Codes de devises 100 Guide d’intégration de PayPal Intégral EvolutionGuide Index A C address_override 17 address1 17 address2 17 aperçu 26 API BMCreateButton 39 API DoCapture 79 API du Gestionnaire de boutons 39 API GetTransactionDetails 66, 67 API RefundTransaction 77 apparence 25 arrière-plan 30 cancel_return 17 cbt 18 certificat public génération 53 suppression 55 téléchargement 54 Champs de réponse BMCreateButton 47 Champs de requête BMCreateButton 46 city 18 clé privée 43 clé publique 43 CLEARTEXT 39, 41, 43 clés privées 52 clés privées génération 53 clés publiques 52 codes de devises 99 colonne Résumé de la commande 30 compte préconfiguré 59 Conformité PCI 9 country 18 cpp_header_image 31 cryptage 43 currency_code 18 custom 18 B billing_ address1 17 billing_ address2 17 billing_ city 17 billing_ country 17 billing_ first_name 17 billing_ last_name 17 billing_ state 17 billing_ zip 17 bn 17 bodyBgColor 31 bodyBgImg 31 bouton 30 boutons cryptés 39 boutons de jeton 39 boutons non cryptés 39 business 17 BUTTONCODE 46 BUTTONCODE=CLEARTEXT 39 BUTTONCODE=ENCRYPTED 39 BUTTONCODE=HOSTED 39 BUTTONCODE=TOKEN 39 BUTTONTYPE 46 BUTTONTYPE=PAYMENT 39 buyer_email 17 E EMAILLINK 36, 40, 47 ENCRYPTED 39, 41, 43 enregistrer et publier 26 en-tête 30 Erreurs BMCreateButton 48 Etat de la transaction 65 F first_name 18 footerTextColor 31 101 Index H handling 18 headerBgColor 31 headerHeight 31 hébergement de boutons 39 hébergement de boutons boutons cryptés 39 boutons de jeton 39 boutons non cryptés 39 HOSTED 39 HOSTEDBUTTONID 47 I iFrames 33 iFrames intégration API 35 intégration manuelle 34 InputFile 56 intégration API 39 intégration HTML 15 intégration simple 15 intégration API 39 HTML 15 invoice 18 L L_BUTTONVAR 46 last_name 18 lc 18 logoFont 31 logoFontColor 31 logoFontSize 31 logoImage 31 logoImagePosition 31 logoText 31 M messages d'erreur 89 METHOD 46 Modèle A 27 Modèle B 28 Modèle C 29 102 modifier les paramètres de compte 21 N night_phone_a 18 night_phone_b 18 night_phone_c 18 Notification instantanée de paiement (IPN) 65 notify_url 18 O Opération d’API BMCreateButton 45 Opérations d’API facultatives 67 Options de langue de bouton 46 orderSummaryBgColor 31 orderSummaryBgImage 31 OutputFile 56 P pageButtonBgColor 31 pageButtonTextColor 31 pageTitleTextColor 32 paramètres 23 paymentaction 19 PayPal Express 13 personnalisation de la page de paiement 21 personnalisation de votre modèle 30 PPCertFile 56 présentation 9 processus de cryptage 52 Protection des Marchands PayPal 9, 11 R Réponse BMCreateButton 47 Requête BMCreateButton 45 return 19 S sectionBorder 32 shipping 19 showBillingAddress 32 showBillingEmail 32 Index showBillingPhone 32 showCustomerName 32 showHostedThankyouPage 32 showShippingAddress 32 state 19 subheaderText 32 subtotal 19 T tax 19 template 32 tester votre intégration 59 titre 30 TOKEN 39, 41, 42 traitement de la commande 65 V Variables HTTP 17, 31 version précédente 26 W WEBSITECODE 36, 42, 47 Z zip 19 103