NVP API 2007 | Mode d'emploi | PayPal NVP API 2012 Manuel utilisateur
Ajouter à Mes manuels187 Des pages
▼
Scroll to page 2
of
187
Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Référence : 100018.en_US-20070524 © 2007 PayPal, Inc. Tous droits réservés. PayPal et le logo PayPal sont des marques déposées de PayPal, Inc. Les autres marques et marques commerciales mentionnées appartiennent à leurs propriétaires respectifs. Les informations contenues dans ce document sont la propriété de PayPal, Inc. et ne peuvent être utilisées, reproduites ni diffusées sans l'autorisation écrite de PayPal, Inc. PayPal Europe Limited est autorisée et réglementée par la Financial Services Authority (FSA) du Royaume-Uni en tant qu'institution émettrice de monnaie électronique. Numéro de registre FSA de PayPal : 226056. Avis de non responsabilité : PayPal, Inc. fournit les informations de ce manuel en l'état. PayPal, Inc. ne fournit de quelque manière que ce soit (expresse, tacite ou légale) aucune garantie résultant de ces informations. PayPal, Inc. n'assume aucune responsabilité en cas d'erreurs ou d'omissions pour tous dommages (directs ou indirects), résultant de l'utilisation de ce manuel ou des informations qu'il contient ou résultant de l'application ou de l'utilisation du produit ou du service décrit dans ce document. PayPal, Inc. se réserve le droit de modifier les informations de ce manuel sans préavis. PayPal, Inc. ne garantit pas que les fonctionnalités décrites dans ce manuel seront annoncées ou mises à disposition de tous à l'avenir. Mai 2007 3 4 Mai 2007 Sommaire Sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 A propos de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Public ciblé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Problèmes relatifs à la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Chapitre 1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . 13 Présentation de l'API NVP PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Intégrer avec l'API PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Etapes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Créer une application Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Obtenir des informations d'authentification API . . . . . . . . . . . . . . . . . . . . . 14 Créer et envoyer la requête . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Interpréter la réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Transférer votre application dans l'environnement de production de PayPal . . . . . . . . 15 Créer un compte Business PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Créer des informations d'authentification API . . . . . . . . . . . . . . . . . . . . . . 16 Modifier votre code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Détails techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Modèle de requête-réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Format de la requête. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Format de la réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Envois utilisant HTTPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Chapitre 2 Accepter PayPal dans la fonction Paiement express . . . . 23 Procédure de paiement de base via PayPal . . . . . . . . . . . . . . . . . . . . . . . . . 23 1. Initialiser le paiement à l'aide de SetExpressCheckout . . . . . . . . . . . . . . . . 24 2. Rediriger le navigateur du client vers la page de connexion à PayPal . . . . . . . . 24 3. Récupérer les informations du client à l'aide de GetExpressCheckoutDetails . . . . 25 4. Effectuer une vente à l'aide de DoExpressCheckoutPayment . . . . . . . . . . . . 25 Vérifier l'adresse de livraison à l'aide de SetExpressCheckout . . . . . . . . . . . . . . . 26 Exiger une adresse confirmée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Supprimer l'affichage de l'adresse de livraison sur PayPal . . . . . . . . . . . . . . . 27 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 5 Sommaire Ignorer l'adresse de livraison enregistrée auprès de PayPal . . . . . . . . . . . . . . 27 Changer la langue de la page de connexion à PayPal à l'aide de SetExpressCheckout . . 28 Modifier le Logo des pages PayPal à l'aide de SetExpressCheckout . . . . . . . . . . . . 28 Sélectionner un style de pages de paiement prédéfini . . . . . . . . . . . . . . . . . 29 Spécifier les paramètres du Logo et des couleurs individuellement . . . . . . . . . . . 29 Remplir le formulaire de votre page de vérification de paiement à l'aide de GetExpressCheckoutDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Effectuer une vente à l'aide de DoExpressCheckoutPayment . . . . . . . . . . . . . . . . 31 Autoriser une collecte unique à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Autoriser des collectes multiples à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Changer l'URL de la Notification instantanée de paiement (IPN) à l'aide de DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Inclure le détail des objets à l'aide de DoExpressCheckoutPayment . . . . . . . . . . . . 33 Inclure les sous-totaux à l'aide de DoExpressCheckoutPayment . . . . . . . . . . . . . . 34 Mettre à jour les détails de la commande à l'aide de DoExpressCheckoutPayment . . . . 35 Mettre à jour l'adresse de livraison à l'aide de DoExpressCheckoutPayment . . . . . . . . 35 Chapitre 3 Comment utiliser l'API Paiements récurrents . . . . . . . . 37 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Créer un paiement récurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Procédure de création des paiements récurrents . . . . . . . . . . . . . . . . . . . . . . 40 Lancer la procédure à l'aide de SetCustomerBillingAgreement . . . . . . . . . . . . . . . 40 Spécifier un style de page de paiement personnalisé . . . . . . . . . . . . . . . . . . . . 41 Personnaliser le logo et les couleurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Rediriger le navigateur du client vers PayPal . . . . . . . . . . . . . . . . . . . . . . . . 42 Obtenir les informations du payeur à l'aide de GetBillingAgreementCustomerDetails. . . . 43 Effectuer la transaction à l'aide de CreateRecurringPaymentsProfile . . . . . . . . . . . . 43 Effectuer la transaction à l'aide de CreateRecurringPaymentsProfile . . . . . . . . . . . . 45 Récapitulatif des Préférences de paiements récurrents . . . . . . . . . . . . . . . . . . . 46 Chapitre 4 Fonctions de gestion . . . . . . . . . . . . . . . . . . . . 49 Collecter, Autoriser, Annuler et Demander une nouvelle autorisation . . . . . . . . . . . . 49 Effectuer une collecte unique dans une commande à l'aide de DoCapture . . . . . . . . . 49 Effectuer plusieurs collectes partielles dans une commande à l'aide de DoCapture . . . . 50 6 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Sommaire Insérer un numéro de facture et une remarque lors de la collecte à l'aide de DoCapture . . 51 Effectuer un remboursement à l'aide de RefundTransaction . . . . . . . . . . . . . . . . 51 Remboursement intégral. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Remboursements partiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Insérer une remarque lors du remboursement . . . . . . . . . . . . . . . . . . . . . 52 Rechercher une transaction à l'aide de TransactionSearch . . . . . . . . . . . . . . . . . 52 Visualiser les détails d'une seule transaction à l'aide de GetTransactionDetails . . . . . . 53 Annexe A Liste de référence des méthodes et des champs de l'API NVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Caractéristiques générales des requêtes et des paramètres . . . . . . . . . . . . . . . . 55 Paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Champs multi-valeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Devises acceptées par PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Paiement express PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Requête SetExpressCheckout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Réponse SetExpressCheckout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Requête GetExpressCheckoutDetails . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Réponse GetExpressCheckoutDetails. . . . . . . . . . . . . . . . . . . . . . . . . . 66 Requête DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . . . . . . . . 67 Réponse DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . . . . . . . . 71 Autorisation et collecte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 DoAuthorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 DoCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 DoReauthorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 DoVoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 TransactionSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Paiement groupé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Paiements récurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 SetCustomerBillingAgreement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 GetBillingAgreementCustomerDetails . . . . . . . . . . . . . . . . . . . . . . . . . . 94 CreateRecurringPaymentsProfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Transactions de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 DoReferenceTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 7 Sommaire Annexe B Liste de référence des messages d'erreur . . . . . . . . 105 Format des réponses d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Erreurs de validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Erreurs d'API générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Erreurs de l'API Paiement express PayPal . . . . . . . . . . . . . . . . . . . . . . . . . 110 Erreurs de l'API Autorisation et collecte . . . . . . . . . . . . . . . . . . . . . . . . . . .128 Erreurs de l'API RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132 Erreurs de l'API TransactionSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . .135 Erreurs de l'API GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Erreurs de l'API MassPay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137 Erreurs de l'API Paiements récurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Erreurs SetCustomerBillingAgreement . . . . . . . . . . . . . . . . . . . . . . . . .142 Erreurs de GetBillingAgreementCustomerDetails . . . . . . . . . . . . . . . . . . . .143 Erreurs de CreateRecurringPaymentsProfile . . . . . . . . . . . . . . . . . . . . . .144 Transactions de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 Annexe C Exemples Web de l'API NVP . . . . . . . . . . . . . . . . 151 Descriptions des exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 Accepter PayPal avec Paiement express . . . . . . . . . . . . . . . . . . . . . . . .151 Recueillir les détails de la transaction . . . . . . . . . . . . . . . . . . . . . . . . . .154 Fichiers communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 Exemple d'utilisateur API avec signature API . . . . . . . . . . . . . . . . . . . . . . . .155 Exemples utilisant ASP classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 Logiciel requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 Télécharger et décompresser les exemples . . . . . . . . . . . . . . . . . . . . . . .156 Installer les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 Exécuter les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 Exemples utilisant PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156 Logiciel requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Télécharger et décompresser les exemples . . . . . . . . . . . . . . . . . . . . . . .157 Installer les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Exécuter les exemples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Exemples utilisant ColdFusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 Logiciel requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Télécharger et décompresser les exemples . . . . . . . . . . . . . . . . . . . . . . .158 Installer les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Exécuter les exemples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 8 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Sommaire Annexe D Le kit de développement PayPal Java . . . . . . . . . . . 159 Installation du kit de développement PayPal Java . . . . . . . . . . . . . . . . . . . . . .159 Normes prises en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Configuration matérielle recommandée . . . . . . . . . . . . . . . . . . . . . . . . .159 Télécharger et décompresser le kit de développement PayPal . . . . . . . . . . . . .160 Configuration post-installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160 Documentation complète du kit de développement PayPal et des classes d'API . . . . . .161 Journaux du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . . .161 Préférences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162 Aperçu des classes liées aux préférences. . . . . . . . . . . . . . . . . . . . . . . .163 Exemples d'applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164 Exemple d'utilisateur API avec signature API . . . . . . . . . . . . . . . . . . . . . .164 Exemple d'utilisateur API avec certificat d'API. . . . . . . . . . . . . . . . . . . . . .165 Annexe E Le kit de développement PayPal ASP.NET . . . . . . . . 167 Installation du kit de développement PayPal ASP.NET . . . . . . . . . . . . . . . . . . .167 Normes prises en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167 Configuration post-installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 Configurations personnalisées facultatives de Web.config . . . . . . . . . . . . . . .169 Journaux du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . . .169 Activer la prise en charge des procurations . . . . . . . . . . . . . . . . . . . . . . .171 Désinstaller le kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . .171 Documentation complète du kit de développement PayPal et des classes d'API . . . . . .171 Préférences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 Aperçu des classes liées aux préférences. . . . . . . . . . . . . . . . . . . . . . . .172 Exemples d'applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 Exemple d'utilisateur API avec signature API . . . . . . . . . . . . . . . . . . . . . . . .173 Exemple d'utilisateur API avec certificat d'API . . . . . . . . . . . . . . . . . . . . . . . .174 Installer les exemples sur Microsoft IIS . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Exécuter les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Annexe F Codes pays . . . . . . . . . . . . . . . . . . . . . . . . 177 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 9 Sommaire 10 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Préface A propos de ce document Le Guide de développement et référence de l'API Paire Nom-Valeur (NVP) décrit l'API Paires Nom-Valeur de PayPal. Public ciblé Le Guide de développement et référence de l'API Paire Nom-Valeur (NVP) s'adresse aux développeurs de sites mettant en oeuvre des solutions utilisant l'API Paire Nom-Valeur. Problèmes relatifs à la documentation Si vous relevez des erreurs ou si vous rencontrez des problèmes liés à cette documentation, envoyez-nous un email en suivant les instructions ci-dessous. Décrivez l'erreur ou le problème aussi précisément que possible et communiquez-nous le titre du document et le(s) numéro(s) de page(s). Pour contacter le service d'assistance des développeurs au sujet des problèmes liés à la documentation : Connectez-vous à votre compte à l'adresse https://developer.paypal.com/ en entrant votre adresse email et votre mot de passe dans la zone Log In. Cliquez sur Help Center en haut à droite de la page. Cliquez sur Email PayPal Technical Support. Complétez le formulaire. Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Mai 2007 11 Historique des révisions Historique des révisions Historique des révisions du Guide de développement et référence de l'API Paire Nom-Valeur (NVP) . TABLEAU P.1 Historique des révisions 12 Date Description Avril 2007 Ajout d'API pour les paiements récurrents : SetCustomerBillingAgreement, GetBillingAgreementCustomerDetails et CreateRecurringPaymentsProfile. Février 2007 La correction de problèmes comprenant la mise à jour des détails des objets pour le paiement direct et les API Paiement express, la définition de quelques paramètres sur facultatif dans DoDirectPayment, l'ajout de SHIPTOCOUNTRYCODE, ainsi que celui de codes Switch/Solo codes pour AVS et CVV2. Décembre 2006 Mises à jour des corrections de problèmes. Octobre 2006 Première version publique. Mai 2007 Guide de développement et référence de l'API Paire Nom-Valeur (NVP) 1 Présentation Ce chapitre présente l'API Paire Nom-Valeur (NVP) PayPal. Il se compose des sections suivantes : z Présentation de l'API NVP PayPal z Etapes de base z Transférer votre application dans l'environnement de production de PayPal z Détails techniques Présentation de l'API NVP PayPal L'API NVP PayPal est une interface de programmation simple qui vous permet à vous, le marchand, d'accéder à la fonctionalité commerciale de PayPal afin de : z Accepter PayPal comme option de paiement sur votre site par le biais de la fonction Paiement express. z Collecter les paiements précédemment autorisés via Paiement express, Paiement direct ou Paiements sur site marchand. z Autoriser à nouveau ou annuler des autorisations antérieures. z Payer un ou plusieurs destinataires en utilisant le paiement groupé. z Effectuer des remboursements intégraux ou plusieurs remboursement partiels. z Rechercher des transactions en utilisant la date à laquelle elles ont débuté ou tout autre critère. z Connaitre les détails d'une transaction spécifique Ajouter PayPal à votre application Web est aisé, grâce à L'API NVP PayPal. Il vous suffit de construire une chaîne NVP et de l'envoyer au serveur PayPal en utilisant le protocole HTTPS. PayPal vous envoie une réponse au format NVP. Intégrer avec l'API PayPal Vous pouvez développer avec l'API NVP PayPal en utilisant l'une ou l'autre des deux approches suivantes : Intégration directe L'intégration avec l'API NVP PayPal peut se faire directement par l'intermédiaire du langage de programmation de votre choix. Cette approche est la plus directe et la plus flexible. Des Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Mai 2007 13 Présentation Etapes de base exemples Web sont téléchargeables, qui vous montrent comment intégrer directement en utilisant ASP classique, PHP et ColdFusion. Pour en savoir plus, consultez l'Annexe C, «Exemples Web de l'API NVP». Intégrer à l'aide d'un kit de développement PayPal (SDK) L'intégration avec l'API NVP peut se faire en utilisant un kit de développement PayPal (SDK). Les kits de développement sont fournis pour Java et ASP.NET. Ils décrivent des fonctions simples qui facilitent l'intégration avec l'API NVP. Pour obtenir plus de détails au sujet du kit de développement PayPal, consultez l'Annexe D, «Le kit de développement PayPal Java» ou l'Annexe E, «Le kit de développement PayPal ASP.NET». Etapes de base Cette section décrit les étapes de base de la programmation avec l'API NVP PayPal. Lors du développement d'une application, cette dernière communique avec l'Environnement de test de PayPal. Dans la section suivante, « Transférer votre application dans l'environnement de production de PayPal » page 15, nous expliquons comment transférer votre application de l'Environnement de test à l'environnement réel de PayPal. REMARQUE : la meilleure façon de démarrer est de télécharger et de tester les exemples d'applications de la façon décrite dans la section « Intégrer avec l'API PayPal » page 13. Créer une application Web Votre intégration de l'API NVP s'exécute habituellement dans une application Web. Vous pouvez soit concevoir votre propre application, soit utiliser un des exemples comme point de départ. Obtenir des informations d'authentification API Pour accéder à l'API PayPal, il est nécessaire de détenir des informations d'authentification API qui permettent de vous identifier, que ce soit une signature API ou un certificat d'API. Utilisez l'exemple de signature et de mot de passe API suivant dans vos échantillons de programmes s'exécutant dans l'Environnement de test PayPal. REMARQUE : si vous vous servez des exemples, cette signature est déjà présente dans le code. TABLEAU 1.1 Détails de l'exemple de signature API Identifiant API 14 sdk-three_api1.sdk.com Mai 2007 Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Présentation Transférer votre application dans l'environnement de production de PayPal TABLEAU 1.1 Détails de l'exemple de signature API (suite) Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU Créer et envoyer la requête Créez une chaîne de requête NVP et l'envoyer à l'Environnement de test PayPal. Ajoutez un code à votre application Web pour pouvoir effectuer les tâches suivantes : 1. Encodez au format URL les paramètres nom et valeur dans la requête pour faire en sorte que tous les caractères soient transmis correctement. Cette action est décrite dans la section « Encodage dans l'URL » page 17. 2. Construisez la chaîne de requête API NVP en vous aidant des conseils de la section « Format de la requête » page 18. Le format NVP est décrit dans la section « Format NVP » page 16. 3. Envoyez ensuite la requête NVP à l'Environnement de test PayPal ainsi qu'expliqué dans la section « Envois utilisant HTTPS » page 20. Interpréter la réponse PayPal traite votre requête et vous envoie une réponse au format NVP. Ajoutez un code à votre application Web pour pouvoir effectuer les tâches suivantes : 1. Recevez la réponse HTTP et procédez à l'extraction de la chaîne NVP. 2. Décodez les valeurs des paramètres du format URL en vous aidant des conseils de la section « Encodage dans l'URL » page 17. 3. Prenez les mesures adaptées en fonction des réponses. Transférer votre application dans l'environnement de production de PayPal Une fois le codage de votre application et les tests terminés, déployez votre application dans le serveur de l'environnement de production de PayPal par le biais de votre compte Business PayPal et grâce aux informations d'authentification de ce compte. Créer un compte Business PayPal Lorsque vous êtes prêt à transférer votre application sur le serveur réel de PayPal, ouvrez un compte Business PayPal sur www.paypal.fr. Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Mai 2007 15 Présentation Détails techniques Créer des informations d'authentification API Pour utiliser les API, vous devez posséder un ensemble d'informations d'authentification pour pouvoir vous identifier auprès de PayPal. Créer une signature API pour votre compte Business IMPO RTANT : si vous utilisez une signature API, vous devez en protéger les valeurs dans votre intégration. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. L'exemple de code ne sauvegarde pas ces valeurs de manière sûre. Il ne devrait en aucun cas être utilisé dans un environnement de production. REMARQUE : nous vous recommandons de vous procurer une signature API, mais vous pouvez également utiliser un certificat d'API. Modifier votre code Dans votre application et pour les éléments suivants, substituez les valeurs de l'Environnement de test à celles du serveur PayPal réel : z L'adresse du serveur dans l'URL (consultez la section « Envois utilisant HTTPS » page 20). z Informations d'authentification API que vous avez créées à la section « Créer des informations d'authentification API » page 16. Détails techniques Cette section présente des détails techniques sur les technologies utilisées par l'API NVP PayPal. Modèle de requête-réponse Dans votre utilisation de l'API NVP PayPal, vous envoyez une requête NVP à PayPal et PayPal vous envoie une réponse NVP. Format URL La requête et la réponse sont encodées au format URL qui est défini par le Worldwide Web Consortium (W3C). L'URL est une des spécifications de l'URI. Pour obtenir plus d'informations sur l'URI, rendez-vous à l'adresse http://www.w3.org/Addressing/. Format NVP NVP est une façon de spécifier des noms et des valeurs dans une chaîne. NVP est le nom non officiel de la demande dans la spécification URI. La chaîne NVP est ajoutée à l'URL. 16 Mai 2007 Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Présentation Détails techniques Une chaîne NVP doit se conformer aux directives suivantes : z Le nom est séparé de la valeur par un signe égal (=). Par exemple : FIRSTNAME=Robert z Les paires nom-valeurs sont séparées par une esperluette (&). Par exemple : FIRSTNAME=Robert&MIDDLENAME=Herbert&LASTNAME=Moore z La chaîne NVP est encodée dans l'URL. Encodage dans l'URL La requête et la réponse sont encodées dans l'URL. L'encodage URL garantie la transmission des caractères spéciaux, caractères qui ne sont pas autorisés dans une URL et des caractères ayant une signification particulière dans une URL tels que le signe égal et l'esperluette. Par exemple, la chaîne NVP suivante : NAME=Robert Moore&COMPANY=R. H. Moore & Associates est encodée dans une URL de la manière suivante : NAME=Robert+Moore&COMPANY=R%2E+H%2E+Moore+%26+Associates Utilisez les méthodes suivantes pour l'encodage dans une URL ou le décodage depuis une URL de votre chaîne NVP : TABLEAU 1.2 Méthodes d'encodage dans une URL Langage ASP.NET ASP classique Java PHP ColdFusion Méthode Encode System.Web.HttpUtility.UrlEncode(buffer, Encoding.Default) Décodage System.Web.HttpUtility.UrlDecode(buffer, Encoding.Default) Encode Server.URLEncode Décodage Aucune fonction intégrée. Plusieurs exemples d'intégration sont disponibles sur Internet. Encode java.net.URLEncoder.encode Décodage java.net.URLDecoder.decode Encode urlencode() Décodage urldecode() Encode URLEncodedFormatstring [, charset ] Décodage URLDecodeurlEncodedString[, charset]) Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Mai 2007 17 Présentation Détails techniques Format de la requête Chaque requête NVP est composée de paramètres nécessaires et facultatifs et de leurs valeurs. Les noms des paramètres ne différencient pas les majuscules/minuscules. Dans les exemples contenus dans ce document, les noms des paramètres sont en MAJUSCULES et les paramètres sont divisés en deux catégories : paramètres de sécurité et paramètres du corps de la requête. TABLEAU 1.3 Format général d'une requête Paramètres de sécurité obligatoires USER=apiUsername&PWD=apiPassword&SIGNATURE=apiSignature &SUBJECT=optionalThirdPartyEmailAddress&VERSION=2.3 Les paramètres suivants sont toujours obligatoires : USER PWD VERSION=2.3 R E M A R Q U E : les paramètres de sécurité obligatoires apparaissent dans les exemples sous la forme suivante : [paramètresDeSécuritéRequis] Paramètres de corps &METHOD=methodName&otherRequiredAndOptionalParameters Dans la pratique, il est nécessaire d'enchaîner tous les paramètres et toutes les valeurs dans une chaîne unique , encodée au format URL. Après le paramètre METHODE, vous pouvez spécifier les paramètres dans l'ordre de votre choix. Paramètres de sécurité obligatoires Les paramètres de sécurité obligatoires sont décrits ci-dessous. Ils correspondent à vos informations d'authentification API PayPal. TABLEAU 1.4 Paramètres de sécurité obligatoires : Informations d'authentification API Paramètre 18 Valeur USER Obligatoire Votre identifiant API PayPal. PWD Obligatoire Votre mot de passe API PayPal. VERSION=2.3 Obligatoire Le numéro de version du service API NVP. SIGNATURE Facultatif Votre chaîne de signature API PayPal. Il n'est pas nécessaire d'inclure ce paramètre si vous utilisez un certificat d'API. SUBJECT Facultatif L'adresse email du compte PayPal qui vous a autorisé à faire cet appel. Définissez ce paramètre seulement si vous appelez une API pour le compte d'un autre utilisateur. Mai 2007 Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Présentation Détails techniques IMPO RTANT : vous devez protéger les valeurs de USER, PWD et de SIGNATURE dans votre intégration. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. L'exemple de code ne sauvegarde pas ces valeurs de manière sûre. Il ne devrait en aucun cas être utilisé dans un environnement de production. Des exemples de code se trouvent peut-être là où ces valeurs sont stockées, sous un format HTML. L'exemple suivant montre ce que vous devriez EVITER de faire dans un Environnement de production : <form method=post action=https://api-3t.sandbox.paypal.com/nvp> <!-- UNPROTECTED VALUES. DO NOT USE IN PRODUCTION! --> <input type=hidden name=USER value=xxxxxx.paypal.com> <input type=hidden name=PWD value=abcdefg> <input type=hidden name=SIGNATURE value=xxxxxxxxxxxxxxx> ... </form> Paramètres API Le corps de la requête doit contenir le nom de la méthode API dans le paramètre METHODE. En outre, chaque méthode nécessite des paramètres obligatoires et facultatifs : METHOD=methodName&requiredAndOptionalParameters Toutes les méthodes d'API et leurs paramètres sont detaillés dans l'Annexe A, «Liste de référence des méthodes et des champs de l'API NVP». Des exemples d'utilisation sont présentés aux Chapitre 2, « Débiter une carte bancaire en utilisant DoDirectPayment», Chapitre 2, « Accepter PayPal dans la fonction Paiement express», et Chapitre 4, « Fonctions de gestion». Format de la réponse Une réponse en provenance des serveurs PayPal consiste en une chaîne de paires nom-valeur encodée au format URL, à l'instar de la requête, si ce n'est qu'elle se présente sous le format général suivant : TABLEAU 1.5 Format genéral d'une réponse indiquant une réussite Champs d'une réponse indiquant une réussite ACK=Success&TIMESTAMP=date/timeOfResponse &CORRELATIONID=debuggingToken&VERSION=2.300000 &BUILD=buildNumber Champs de la réponse API &NAME1=value1&NAME2=value2&NAME3=value3&... L'en-tête de la réponse de réussite apparaît dans les exemples sous la forme suivante : [champsDeRéponseRéussie] Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Mai 2007 19 Présentation Détails techniques Chaque réponse comprend le champ ACK. Si la valeur du champ est Success ou SuccessWithWarning, il vous faut alors traiter les champs de la réponse API. Dans le cas d'une réponse indiquant une réussite, vous pouvez ignorer tous les champs jusqu'au et y compris le champ BUILD. Les champs d'importance se trouve après le champ BUILD. Les champs susceptibles de se trouver dans une réponse de réussite sont détaillés pour chaque méthode dans l'Annexe A, «Liste de référence des méthodes et des champs de l'API NVP». Les actions que vous prenez en ce qui concerne les champs dépendent du mode API spécifique que vous appelez, par exemple Remplir un formulaire FORM pour votre utilisateur, mettre à jour votre base de données, etc. Réponses d'erreur Si la valeur ACK est Erreur ou Avertissement, les champs de réponse API ne sont pas renvoyés. Une réponse d'erreur se présente sous le format général suivant. TABLEAU 1.6 Format d'une réponse d'erreur Champs de la réponse sur l'erreur ACK=Error&TIMESTAMP=date/timeOfResponse& CORRELATIONID=debuggingToken&VERSION=2.300000& BUILD=buildNumber&L_ERRORCODE0=errorCode& L_SHORTMESSAGE0=shortMessage L_LONGMESSAGE0=longMessage &L_SEVERITYCODE0=severityCode Il est possible que des erreurs multiples soient renvoyées. Chaque groupe d'erreur est caractérisé par un suffixe numérique différent, en commençant par 0 et incrémenté d'une unité à chaque erreur. Pour connaitre les causes possibles des erreurs et savoir comment les corriger, reportez-vous à l'explication du code spécifique de l'erreur, son message court et son message long dans l'Annexe B, «Liste de référence des messages d'erreur». Valeurs du paramètre ACK Le tableau ci-dessous répertorie les valeurs du paramètre ACK. TABLEAU 1.7 Valeurs du paramètre ACK Type de réponse Valeur Réponse de réussite Success SuccessWithWarning Réponse d'erreur Error Warning Envois utilisant HTTPS Votre application Web envoie la chaîne NVP encodée au format URL via une connexion HTTPS à l'un des serveurs API de PayPal. PayPal fournit un serveur réel ainsi qu'un serveur 20 Mai 2007 Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Présentation Détails techniques en Environnement de test qui vous permet de traiter les transations dans un Environnement de test. Serveurs API pour la sécurité des signatures API Si vous utilisez une signature API, envoyez la requête à l'un des serveurs suivants : Environnement de test : https://api-3t.sandbox.paypal.com/nvp Réel: https://api-3t.paypal.com/nvp Serveurs API garantissant la sécurité des certificats d'API Si vous utilisez un certificat d'API, envoyez la requête à l'un des serveurs suivants : Environnement de test : https://api.sandbox.paypal.com/nvp Réel : https://api.paypal.com/nvp Guide de développement et référence de l'API Paire Nom-Valeur (NVP) Mai 2007 21 Présentation Détails techniques 22 Mai 2007 Guide de développement et référence de l'API Paire Nom-Valeur (NVP) 2 Accepter PayPal dans la fonction Paiement express S'il choisit l'option Paiement express PayPal, le client économisera du temps : plusieurs étapes de la procédure de paiement seront ignorées car les informations de facturation et de livraison déjà enregistrées auprès de PayPal seront utilisées. Cette section vous explique comment utiliser la fonction Paiement express PayPal pour accepter des paiements via PayPal. Elle se compose des rubriques suivantes : z « Procédure de paiement de base via PayPal » page 23 z « Vérifier l'adresse de livraison à l'aide de SetExpressCheckout » page 26 z « GetExpressCheckoutDetails renvoie l'adresse de livraison ignorée » page 28 z « Modifier le Logo des pages PayPal à l'aide de SetExpressCheckout » page 28 z z « Remplir le formulaire de votre page de vérification de paiement à l'aide de GetExpressCheckoutDetails » page 30 « Effectuer une vente à l'aide de DoExpressCheckoutPayment » page 31 z « Autoriser une collecte unique à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment » page 31 z « Autoriser des collectes multiples à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment » page 32 z « Changer l'URL de la Notification instantanée de paiement (IPN) à l'aide de DoExpressCheckoutPayment » page 32 z « Inclure le détail des objets à l'aide de DoExpressCheckoutPayment » page 33 z « Inclure les sous-totaux à l'aide de DoExpressCheckoutPayment » page 34 z z « Mettre à jour les détails de la commande à l'aide de DoExpressCheckoutPayment » page 35 « Mettre à jour l'adresse de livraison à l'aide de DoExpressCheckoutPayment » page 35 Procédure de paiement de base via PayPal Consultez le guide d'intégration de Paiement express pour obtenir des informations sur cette fonction, en particulier le flux des pages au fil de la procédure, les points d'intégration, le placement des boutons et la conception des pages. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 23 Accepter PayPal dans la fonction Paiement express Procédure de paiement de base via PayPal La procédure de Paiement express via PayPal doit se dérouler selon les étapes suivantes : 1. Initialiser le paiement à l'aide de SetExpressCheckout 2. Rediriger le navigateur du client vers la page de connexion à PayPal 3. Récupérer les informations du client à l'aide de GetExpressCheckoutDetails 4. Effectuer une vente à l'aide de DoExpressCheckoutPayment La réponse SetExpressCheckout, vous fournit un TOKEN qui identifie de manière unique cette transaction en trois étapes. Vous devez transmettre ce TOKEN dans les requêtes GetExpressCheckoutDetails et DoExpressCheckoutPayment. GetExpressCheckoutDetails et DoExpressCheckoutPayment renvoient toutes les deux la valeur de TOKEN dans la réponse. Cet exemple illustre un paiement de base utilisant un nombre minimum de paramètres. 1. Initialiser le paiement à l'aide de SetExpressCheckout Le mode de requête SetExpressCheckout indique à PayPal que vous utilisez Paiement express PayPal pour obtenir un paiement de votre client. Vous devez toujours inclure les paramètres suivants dans la requête SetExpressCheckout : z AMT z RETURNURL z CANCELURL TABLEAU 2.1 Initialiser le paiement Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& Réponse [champsDeRéponseRéussie]&TOKEN=EC-3DJ78083ES565113B R E M A R Q U E : du fait que nous ne la spécifions pas, la valeur de l'élément PAYMENTACTION sera sa valeur par défaut : Vente. Sauvegardez le TOKEN en vue de son utilisation lors des appels Paiement express PayPal restants. 2. Rediriger le navigateur du client vers la page de connexion à PayPal Lorsque vous avez reçu une réponse de SetExpressCheckout, ajoutez la valeur de TOKEN fournie dans la réponse SetExpressCheckout sous forme de paire nom-valeur à l'URL suivante et redirigez le navigateur du client vers cette URL : https://www.paypal.com/fr/cgi-bin/webscr?cmd=_express-checkout& token=value_from_SetExpressCheckoutResponse 24 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Accepter PayPal dans la fonction Paiement express Procédure de paiement de base via PayPal Pour rediriger le navigateur d'un client vers la page de connexion à PayPal, PayPal vous recommande d'utiliser la réponse HTTPS 302 « Objet déplacé » avec l'URL ci-dessus comme valeur de l'en-tête Location dans la réponse HTTPS. Si votre serveur utilise le protocole SSL, vous évitez que le navigateur ne reçoive des avertissements à propos d'un mélange d'images sécurisées et non sécurisées. 3. Récupérer les informations du client à l'aide de GetExpressCheckoutDetails Le mode GetExpressCheckoutDetails renvoie les informations du client, y compris son nom et son adresse enregistrés par PayPal. Vous devez toujours inclure les paramètres suivants dans GetExpressCheckoutDetails : z TOKEN: utilisez la valeur fournie par la réponse SetExpressCheckout La réponse contient ce TOKEN ainsi que les informations du client. TABLEAU 2.2 Obtenir les informations du client Requête [paramètresDeSécuritéRequis]&METHOD=GetExpressCheckoutDetails& TOKEN=EC-3DJ78083ES565113B Réponse [champsDeRéponseRéussie]&TOKEN=EC-3DJ78083ES565113B&[email protected]& PAYERID=95HR9CM6D56Q2&PAYERSTATUS=vérifié&FIRSTNAME=Pierre& LASTNAME=Dupont&COUNTRYCODE=FR& SHIPTONAME=Pierre Dupont&SHIPTOSTREET=by 10 rue de la République& SHIPTOCITY=Paris&SHIPTOSTATE=CA&SHIPTOCOUNTRYCODE=FR& SHIPTOZIP=75015&ADDRESSID=PayPal& ADDRESSSTATUS=Confirmé Assurez-vous que la valeur de TOKEN corresponde à la valeur contenue dans la réponse SetExpressCheckout. Sauvegarder PAYERID en vue de son utilisation lors du prochain appel. 4. Effectuer une vente à l'aide de DoExpressCheckoutPayment Requête pour obtenir le paiement via la fonction <:v "Express Checkout" 1> de PayPal à l'aid de l'API DoExpressCheckoutPayment. Par défaut, vous accomplissez la vente finale à l'aide de l'API DoExpressCheckoutPayment. Vous pouvez également demander une autorisation pour collecte ultérieure du paiement. Pour en savoir plus, reportez-vous à la section « Autoriser des collectes multiples à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment » page 32. Vous devez toujours inclure les paramètres suivants dans la requête SetExpressCheckout TOKEN : utilisez la valeur fournie par la réponse SetExpressCheckoutDetails PAYERID : utilisez la valeur fournie par la réponse SetExpressCheckoutDetails Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 25 Accepter PayPal dans la fonction Paiement express Vérifier l'adresse de livraison à l'aide de SetExpressCheckout PAYMENTACTION : choisissez Vente. Il s'agit de la valeur par défaut de SetExpressCheckout. AMT : utilisez la même valeur que pour la requêtet TABLEAU 2.3 Effectuer une vente Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& TOKEN=EC-0E881823PA052770A&AMT=10.00& PAYERID=95HR9CM6D56Q2&PAYMENTACTION=Sale Réponse [champsDeRéponseRéussie]&TOKEN=EC-0E881823PA052770A& TRANSACTIONID=8SC56973LM923823H&TRANSACTIONTYPE=expresscheckout& PAYMENTTYPE=instant&ORDERTIME=2006-08-22T20:16:05Z&AMT=10.00& CURRENCYCODE=EUR&FEEAMT=0.59&TAXAMT=0.00& PAYMENTSTATUS=Completed&PENDINGREASON=None&REASONCODE=None Vérifier l'adresse de livraison à l'aide de SetExpressCheckout Vous pouvez modifier le comportement de l'adresse de livraison grâce aux paramètres REQCONFIRMSHIPPING, NOSHIPPING, et ADDROVERRIDE dans la requête SetExpressCheckout. L'adresse de livraison est spécifiée dans les paramètres SHIPTOxxx. Exiger une adresse confirmée Pour exiger que l'adresse de livraison soit une adresse PayPal confirmée, donnez à REQCONFIRMSHIPPING la valeur 1 dans la requête SetExpressCheckout. R E M A R Q U E : la valeur de REQCONFIRMSHIPPING remplace le paramètre situé dans vos Préférences de compte marchand. TABLEAU 2.4 Exiger une adresse confirmée Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& &REQCONFIRMSHIPPING=1 Réponse 26 [champsDeRéponseRéussie]&TOKEN=EC-0E881823PA052770A Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Accepter PayPal dans la fonction Paiement express Vérifier l'adresse de livraison à l'aide de SetExpressCheckout Supprimer l'affichage de l'adresse de livraison sur PayPal Pour faire en sorte que l'adresse de livraison du client ne s'affiche pas sur les pages Web de PayPal, donnez à NOSHIPPING la valeur 1 dans la requête SetExpressCheckout. Cette fonction peut être utile dans les cas où le produit ou le service que vous vendez ne nécessite pas de livraison. TABLEAU 2.5 Supprimer l'adresse de livraison Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& &NOSHIPPING=1 Réponse [champsDeRéponseRéussie]&TOKEN=EC-17C76533PL706494P GetExpressCheckoutDetails ne renvoie pas l'adresse de livraison. TABLEAU 2.6 GetExpressCheckoutDetails Requête [paramètresDeSécuritéRequis]&METHOD=GetExpressCheckoutDetails& TOKEN=EC-17C76533PL706494P Réponse [champsDeRéponseRéussie]&TOKEN=EC17C76533PL706494P&EMAIL=abcdef@masociété.com&PAYERID=95HR9CM6D56Q2& PAYERSTATUS=vérifié&FIRSTNAME=Pierre&LASTNAME=Dupont&COUNTRYCODE=FR& ADDRESSID=PayPal&ADDRESSSTATUS=Aucun Ignorer l'adresse de livraison enregistrée auprès de PayPal Pour ne pas tenir compte de l'adresse de livraison enregistrée auprès de PayPal, appelez SetExpressCheckout afin de pouvoir donner à l'élémentADDROVERRIDE la valeur 1 et définissez les champs de l'adresse de livraison (consultez le Tableau A.5, « Adresse de livraison (facultatif) »). Si l'adresse est ignorée, le client ne peut pas la modifier. TABLEAU 2.7 Ignorer l'adresse de livraison Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& &SHIPTONAME=Peter+Dupont&SHIPTOSTREET=by 10 rue de la République&SHIPTOCITY=Paris &SHIPTOSTATE=CA&SHIPTOCOUNTRYCODE=FR&SHIPTOZIP=99911& ADDROVERRIDE=1 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 27 Accepter PayPal dans la fonction Paiement express Changer la langue de la page de connexion à PayPal à l'aide de SetExpressCheckout [champsDeRéponseRéussie]&TOKEN=EC-17C76533PL706494P Réponse GetExpressCheckoutDetails renvoie l'adresse de livraison ignorée TABLEAU 2.8 GetExpressCheckoutDetails Requête [paramètresDeSécuritéRequis]&METHOD=GetExpressCheckoutDetails&TOKEN=EC17C76533PL706494P Réponse [champsDeRéponseRéussie]&TOKEN=EC-17C76533PL706494P& PAYER=abcdef@masociété.com&PAYERID=95HR9CM6D56Q2&PAYERSTATUS=vérifié& FIRSTNAME=Pierre&LASTNAME=Dupont& COUNTRYCODE=FR&SHIPTONAME=Peter+Dupont&SHIPTOSTREET=by 10 rue de la République& SHIPTOCITY=Paris&SHIPTOSTATE=CA&SHIPTOCOUNTRYCODE=FR&SHIPTOZIP=75015& ADDRESSID=PayPal&ADDRESSSTATUS=non confirmé Changer la langue de la page de connexion à PayPal à l'aide de SetExpressCheckout Pour changer la langue de la page de connexion à PayPal, donner à LOCALECODE une des valeurs autorisées dans SetExpressCheckout. Pour obtenir plus d'informations au sujet des valeurs de LOCALECODE, consultez le Tableau A.4, « Paramètres de la requête SetExpressCheckout ». Dans l'exemple suivant nous donnons à LOCALECODE la valeur Français. TABLEAU 2.9 Changer la langue de la page de connexion à PayPal pour la valeur Français Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& CURRENCYCODE=EUR& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& &LOCALECODE=fr_FR Réponse [champsDeRéponseRéussie]&TOKEN=EC-17C76533PL706494P Modifier le Logo des pages PayPal à l'aide de SetExpressCheckout Il existe deux façons de modifier le logo et d'autres paramètres de couleur sur les pages PayPal : 28 z en sélectionnant un style de pages de paiement prédéfini z en définissant les paramètres du logo et des couleurs individuellement Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Accepter PayPal dans la fonction Paiement express Modifier le Logo des pages PayPal à l'aide de SetExpressCheckout Sélectionner un style de pages de paiement prédéfini Pour spécifier un style de pages de paiement pour les pages PayPal, définissez le paramètre PAGESTYLE dans SetExpressCheckout. Définissez PAGESTYLE en sélectionnant un nom parmi les styles de page créés par vous dans vos pages de paiement personnalisées sur https://www.paypal.fr. L'exemple suivant définit la valeur de PAGESTYLE comme DesignerFotos-Yellow dans le mode SetExpressCheckout TABLEAU 2.10 Sélectionner un style de pages de paiement prédéfini Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& PAGESTYLE=DesignerFotos-Yellow Réponse [champsDeRéponseRéussie]&TOKEN=EC-17C76533PL706494P Spécifier les paramètres du Logo et des couleurs individuellement Pour faire en sorte que les pages Web de PayPal ressemblent à vos propres pages Web, il vous suffit de définir les paramètres suivants dans SetExpressCheckout : z HDRIMG : spécifie l'image que vous désirez afficher en haut à gauche de la page de paiement z HDRBORDERCOLOR : définit la couleur de bordure de l'en-tête de la page de paiement z HDRBACKCOLOR : définit la couleur d'arrière-plan de l'en-tête de la page de paiement z PAYFLOWCOLOR : définit la couleur d'arrière-plan de la page de paiement TABLEAU 2.11 Spécifier les paramètres du Logo et des couleurs individuellement Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& HDRIMG=https://www.masociété.com/images/HeaderImage.gif& HDRBORDERCOLOR=3366FF&HDRBACKCOLOR=D3EFF5&PAYFLOWCOLOR=F8F5F5 Réponse [champsDeRéponseRéussie]&TOKEN=EC-17C76533PL706494P Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 29 Accepter PayPal dans la fonction Paiement express Remplir le formulaire de votre page de vérification de paiement à l'aide de GetExpressCheckoutDetails Remplir le formulaire de votre page de vérification de paiement à l'aide de GetExpressCheckoutDetails Utilisez le nom et l'adresse de livraison du payeur fournis par la réponse GetExpressCheckoutDetails pour renseigner les champs du formulaire sur la page de vérification de paiement affichée une fois le client revenu de PayPal sur votre site. TABLEAU 2.12 Remplir le formulaire de votre page de vérification de paiement Requête [paramètresDeSécuritéRequis]&METHOD=GetExpressCheckoutDetails& TOKEN=EC-3DJ78083ES565113B Réponse [champsDeRéponseRéussie]&TOKEN=EC-3DJ78083ES565113B&[email protected]& PAYERID=95HR9CM6D56Q2&PAYERSTATUS=vérifié&FIRSTNAME=Pierre&LASTNAME=Dupont& COUNTRYCODE=FR&SHIPTONAME=Pierre Dupont&SHIPTOSTREET=by 10 rue de la République& SHIPTOCITY=Paris&SHIPTOSTATE=CA&SHIPTOCOUNTRYCODE=FR&SHIPTOZIP=75015& ADDRESSID=PayPal&ADDRESSSTATUS=Confirmé Obtenez le nom du payeur à partir des paramètres suivants de la réponse GetExpressCheckoutDetails : z SALUTATION z FIRSTNAME z MIDDLENAME z LASTNAME z SUFFIX Obtenez l'adresse de livraison à partir des paramètres suivants de la réponse GetExpressCheckoutDetails : 30 z SHIPTONAME z SHIPTOSTREET z SHIPTOSTREET2 z SHIPTOCITY z SHIPTOSTATE z SHIPTOCOUNTRYCODE z SHIPTOPHONENUM z SHIPTOZIP Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Accepter PayPal dans la fonction Paiement express Effectuer une vente à l'aide de DoExpressCheckoutPayment Effectuer une vente à l'aide de DoExpressCheckoutPayment Utilisez DoExpressCheckoutPayment pour effectuer une vente finale. Pour en savoir plus, reportez-vous à la section « Procédure de paiement de base via PayPal », page 23. Autoriser une collecte unique à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment Vous pouvez autoriser le paiement d'une vente finale en attribuant la valeur Authorization au champ PAYMENTACTION des API SetExpressCheckout et DoExpressCheckoutPayment. Pour en savoir plus sur la fonction Autorisation et collecte, consultez « Effectuer une collecte unique dans une commande à l'aide de DoCapture », page 49. Pour en savoir plus sur Autorisation et collecte. TABLEAU 2.13 Autoriser une collecte unique à l'aide de SetExpressCheckout Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=10.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& PAYMENTACTION=Authorization Réponse [champsDeRéponseRéussie]& TOKEN=EC-30P862430W113011F TABLEAU 2.14 Autoriser une collecte unique à l'aide de DoExpressCheckoutPayment Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& TOKEN=EC-30P862430W113011F&PAYERID=95HR9CM6D56Q2&AMT=10.00 PAYMENTACTION=Authorization Réponse [champsDeRéponseRéussie]&TOKEN=EC-30P862430W113011F& TRANSACTIONID=4D479374VP578364Y&TRANSACTIONTYPE=expresscheckout& PAYMENTTYPE=instant&ORDERTIME=2006-08-22T22:02:42Z&AMT=10.00& CURRENCYCODE=EUR&TAXAMT=0.00&PAYMENTSTATFR=Pending& PENDINGREASON=authorization&REASONCODE=None Enregistrez TRANSACTIONID et utilisez-la comme valeur de AUTHORIZATIONID pour la requête DoCapture. Pour en savoir plus sur DoCapture, reportez-vous à la section « Collecter, Autoriser, Annuler et Demander une nouvelle autorisation », page 49. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 31 Accepter PayPal dans la fonction Paiement express Autoriser des collectes multiples à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment Autoriser des collectes multiples à l'aide de SetExpressCheckout et de DoExpressCheckoutPayment Vous pouvez autoriser le paiement de plusieurs collectes en attribuant la valeur Order au champ PAYMENTACTION des API SetExpressCheckout et DoExpressCheckoutPayment. Pour en savoir plus sur la fonction Autorisation et collecte, consultez « Effectuer plusieurs collectes partielles dans une commande à l'aide de DoCapture », page 50. TABLEAU 2.15 Autoriser des collectes multiples à l'aide de SetExpressCheckout Requête [paramètresDeSécuritéRequis]&METHOD=SetExpressCheckout&AMT=1.00& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& PAYMENTACTION=Order Réponse [champsDeRéponseRéussie]&TOKEN=EC-8NB10343BA3562027 TABLEAU 2.16 Autoriser des collectes multiples à l'aide de DoExpressCheckoutPayment Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& TOKEN=EC-8NB10343BA3562027&PAYERID=95HR9CM6D56Q2&AMT=1.00& PAYMENTACTION=Order Réponse [champsDeRéponseRéussie]&TOKEN=EC-8NB10343BA3562027& TRANSACTIONID=O-2YX05090CA6454418&TRANSACTIONTYPE=expresscheckout& PAYMENTTYPE=None&ORDERTIME=2006-08-22T22:22:03Z&AMT=1.00& CURRENCYCODE=EUR&TAXAMT=0.00&PAYMENTSTATUS=None&PENDINGREASON=order& REASONCODE=None Enregistrez TRANSACTIONID et utilisez-la comme valeur de AUTHORIZATIONID pour la requête DoCapture. Pour en savoir plus sur DoCapture, reportez-vous à la section « Collecter, Autoriser, Annuler et Demander une nouvelle autorisation » page 49. Changer l'URL de la Notification instantanée de paiement (IPN) à l'aide de DoExpressCheckoutPayment Pour changer l'URL permettant de recevoir la Notification instantanée de paiement (IPN) pour cette transaction, spécifiez le paramètre NOTIFYURL dans DoExpressCheckoutPayment. Si vous ne spécifiez pas cette valeur dans la requête, c'est l'URL de notification de vos Préférences de marchand qui est utilisée, si elle existe. 32 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Accepter PayPal dans la fonction Paiement express Inclure le détail des objets à l'aide de DoExpressCheckoutPayment Pour plus d’informations concernant la fonction IPN, consultez le Guide d’intégration de la gestion des commandes. TABLEAU 2.17 Changer l'URL de la Notification instantanée de paiement (IPN) Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& TOKEN=EC-8AX1275942659774U&PAYERID=95HR9CM6D56Q2&AMT=10.00& PAYMENTACTION=Sale&NOTIFYURL=https://www.masociété.com/process-ipn/ Réponse [champsDeRéponseRéussie]&TOKEN=EC-8AX1275942659774U& TRANSACTIONID=1MA55216691247718&TRANSACTIONTYPE=expresscheckout& PAYMENTTYPE=instant&ORDERTIME=2006-08-22T22:39:13Z&AMT=10.00& CURRENCYCODE=EUR&FEEAMT=0.59&TAXAMT=0.00&PAYMENTSTATUS=Completed& PENDINGREASON=None&REASONCODE=None Inclure le détail des objets à l'aide de DoExpressCheckoutPayment Vous pouvez insérer des lignes de détails sur les objets en définissant les paramètres suivants pour DoExpressCheckoutPayment: z L_NAMEn : le nom ou la description de l'objet z L_NUMBERn : le numéro de l'objet z L_QTYn : la quantité z L_TAXAMTn : le montant de la taxe pour l'objet z L_AMTn : le coût de l'objet Vous pouvez détailler autant d'objets que vous le souhaitez. En commençant par 0, ajoutez un numéro au nom de champ et incrémentez ce numéro d'une unité pour chaque champ. L'exemple suivant définit le détail de deux objets. Ces détails sont enregistrés par PayPal TABLEAU 2.18 Ajouter le détail des objets Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& TOKEN=EC-4XH62109C8044521N&PAYERID=95HR9CM6D56Q2&PAYMENTACTION=Sale&AMT=6.24& ITEMAMT=5.75&TAXAMT=0.49&L_NUMBER0=1&L_NAME0=A+Tale+of+Two+Cities&L_AMT0=2.50& L_QTY0=1&L_TAXAMT0=0.21&L_NAME1=Oliver+Twist&L_NUMBER1=2&L_AMT1=3.25&L_QTY1=1& L_TAXAMT1=0.28 Réponse [champsDeRéponseRéussie]&TOKEN=EC-4XH62109C8044521N& TRANSACTIONID=77U91743M2649930P&TRANSACTIONTYPE=expresscheckout& PAYMENTTYPE=instant&ORDERTIME=2006-08-22T22:49:50Z&AMT=6.24& CURRENCYCODE=EUR&FEEAMT=0.48&TAXAMT=0.28&PAYMENTSTATUS=Completed& PENDINGREASON=None&REASONCODE=None Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 33 Accepter PayPal dans la fonction Paiement express Inclure les sous-totaux à l'aide de DoExpressCheckoutPayment Si vous spécifiez L_AMTn">, vous devez préciser le paramètre ITEMAMT. La somme des valeurs de L_AMTn and L_QTYn doit être égale au ITEMAMT. Si vous spécifiez L_TAXAMTn, vous devez préciser le paramètre TAXAMT. La somme des valeurs de L_TAXAMTn and L_QTYn doit être égale au TAXAMT. Veuillez trouver ci-dessous des exemples de ITEMAMT and TAXAMT: ITEMAMT = (L_AMT0 * L_QTY0) + (L_AMT1 + L_QTY1) + L_AMT2 TAXAMT = (L_TAXAMT0 * L_QTY0) + (L_TAXAMT1 * L_QTY1) + L_TAXAMT2 R E M A R Q U E : si la somme du détail des objets ne correspond pas au ITEMAMT ou au TAXAMT, les détails sont rejetés et la transaction est traitée en utilisant les valeurs de ITEMAMT or TAXAMT. La valeur ACK de la réponse est définie par SuccessWithWarning. Inclure les sous-totaux à l'aide de DoExpressCheckoutPayment Si vous désirez que l'utilisateur PayPal puisse voir les sous-totaux correspondant au coût des objets, aux frais de livraison, aux frais de dossier et aux taxes, incluez les paramètres suivants pour DoExpressCheckoutPayment: z ITEMAMT z SHIPPINGAMT z HANDLINGAMT z TAXAMT R E M A R Q U E : vérifiez que la somme des valeurs de ITEMAMT, SHIPPINGAMT, HANDLINGAMT, ET TAXAMT soit égale à la valeur de AMT. Ces champs ne peuvent pas avoir une valeur nulle et doivent tous être définis. TABLEAU 2.19 IInclure les sous-totaux 34 Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment TOKEN=EC-0EU150885J108392M&PAYERID=95HR9CM6D56Q2&PAYMENTACTION=Sale&AMT=6.24& AMT=192.22&ITEMAMT=176.02&SHIPPINGAMT=14.34&HANDLINGAMT=1.10&TAXAMT=0.76 Réponse [champsDeRéponseRéussie]&TOKEN=EC0EU150885J108392M&TRANSACTIONID=29W817045L6797418&TRANSACTIONTYPE=expresscheck out&PAYMENTTYPE=instant&ORDERTIME=2006-0823T16:20:22Z&AMT=192.22&CURRENCYCODE=EUR&FEEAMT=5.87&TAXAMT=0.76&PAYMENTSTATUS =Completed&PENDINGREASON=None&REASONCODE=None Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Accepter PayPal dans la fonction Paiement express Mettre à jour les détails de la commande à l'aide de DoExpressCheckoutPayment Mettre à jour les détails de la commande à l'aide de DoExpressCheckoutPayment Il est possible que vous ayez à mettre à jour le détail de la commande sur le site PayPal si le client modifie la commande lorsqu'il retourne à la page de vérification de la commande. Si une modification implique de nouvelles valeurs pour l'un des paramètres suivants, vous devez mettre à jour le détail de la commande sur le site PayPal à l'aide de l'API DoExpressCheckoutPayment: z DESC : la description de l'objet z CUSTOM : un champ que vous pouvez utiliser librement z INVNUM : votre numéro de facture ou de suivi Ces trois paramètres ont pu être définis pour l'API SetExpressCheckout. TABLEAU 2.20 Mettre à jour les détails Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& TOKEN=EC-5JA9268562132991T&PAYERID=95HR9CM6D56Q2&PAYMENTACTION=Sale&AMT=10.00& DESC=Order+for+5+books&CUSTOM=Thank+you+for+your+business!&INVNUM=ABC1234567 Réponse [champsDeRéponseRéussie]&TOKEN=EC5JA9268562132991T&TRANSACTIONID=9JJ517146A732773R&TRANSACTIONTYPE=expresscheck out&PAYMENTTYPE=instant&ORDERTIME=2006-0823T16:14:54Z&AMT=10.00&CURRENCYCODE=EUR&FEEAMT=0.59&TAXAMT=0.00&PAYMENTSTATUS= Completed&PENDINGREASON=None&REASONCODE=None Mettre à jour l'adresse de livraison à l'aide de DoExpressCheckoutPayment Il est possible que vous ayez à mettre à jour l'adresse de livraison sur le site PayPal si le client modifie l'adresse de livraison lorsqu'il retourne à la page de vérification de la commande. Le cas échéant, vous devez mettre à jour l'adresse de livraison associée à cette transaction sur le site PayPal. Vous pouvez mettre à jour l'adresse de livraison en définissant les paramètres suivants pour l'API DoExpressCheckoutPayment : z SHIPTONAME z SHIPTOSTREET z SHIPTOSTREET2 z SHIPTOCITY z SHIPTOSTATE z SHIPTOCOUNTRYCODE Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 35 Accepter PayPal dans la fonction Paiement express Mettre à jour l'adresse de livraison à l'aide de DoExpressCheckoutPayment z SHIPTOPHONENUM z SHIPTOZIP TABLEAU 2.21 Mettre à jour l'adresse de livraison 36 Requête [paramètresDeSécuritéRequis]&METHOD=DoExpressCheckoutPayment& METHOD=DoExpressCheckoutPayment&TOKEN=EC-47C20533CU265432F& PAYERID=95HR9CM6D56Q2&PAYMENTACTION=Sale&AMT=10.00& SHIPTONAME=Michael+Brown&SHIPTOSTREET=22+First+Street&SHIPTOCITY=Chicago& SHIPTOCOUNTRYCODE=FR&SHIPTOSTATE=IL&SHIPTOZIP=60605 Réponse [champsDeRéponseRéussie]&TOKEN=EC-47C20533CU265432F& TRANSACTIONID=59L39584YA765250B&TRANSACTIONTYPE=expresscheckout& PAYMENTTYPE=instant&ORDERTIME=2006-08-23T16:08:12Z&AMT=10.00& CURRENCYCODE=EUR&FEEAMT=0.59&TAXAMT=0.00&PAYMENTSTATUS=Completed& PENDINGREASON=None&REASONCODE=None Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) 3 Comment utiliser l'API Paiements récurrents L'API Paiements récurrents vous permet de facturer un client pour une somme d'argent fixe selon un calendrier pré-défini. L'acheteur s'inscrit à la fonction Paiements récurrents lorsqu'il effectue un paiement sur votre site. Examinons les exemples suivants : z Un acheteur s'abonne à une revue ou à un bulletin d'information sur votre site et accepte de payer une somme forfaitaire mensuelle. z Un acheteur accepte de verser une somme forfaitaire trimestrielle à un fournisseur d'accès à Internet pour l'hébergement de son site Ces exemples présentent des transactions de paiements récurrentes et à montant fixe. L'API Paiements récurrents ne doit pas être confondue avec la fonction Abonnements et paiements récurrents disponible pour les Paiements sur site marchand. Consultez les sections Abonnements et paiements récurrents de la Présentation de l'API pour plus d'informations sur ces fonctions. Présentation Les paiements récurrents sont créés lorsque vous appelez l'API Paiements récurrents pendant la procédure de paiement de votre site. Lors de la création d'un paiement récurrent pour un acheteur, vous créez un profil de paiements récurrents. Un profil regroupe les informations relatives aux paiements récurrents et comprend les détails d'une période d'essai facultative et d'une période de paiement. Chaque période contient des informations sur la fréquence et les montants des paiements, frais de livraison et taxe inclus le cas échéant. Une fois le profil créé, PayPal y rajoute automatiquement une file de paiements en fonction de la date, de la fréquence et du montant de la facturation, jusqu'au terme du profil ou jusqu'à son annulation par le client ou le marchand. Le client et le marchand peuvent tous deux accéder aux détails des paiements récurrents ou supprimer le profil de paiements récurrents depuis leur compte PayPal respectif. Vous pouvez consulter les rapports relatifs aux paiements récurrents via le Portail des rapports marchands de PayPal. Limites Les paiements récurrents utilisant l'API du même nom sont limités dans la version actuelle. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 37 Comment utiliser l'API Paiements récurrents Limites 38 z Un profil ne dispose que d'une seule période d'essai et d'une seule période de paiement. z Le panier du client ne peut pas contenir à la fois des objets réglables par paiements récurrents et d'autres réglables par paiements simultanés. z Un seul paiement récurrent peut être créé au cours d'une procédure de paiement. z L'API Paiements récurrents ne peut pas être utilisée pour modifier ou annuler un profil de paiements récurrents. Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Comment utiliser l'API Paiements récurrents Créer un paiement récurrent Créer un paiement récurrent Le schéma suivant illustre le flux type des étapes de création d'un paiement récurrent lors d'une procédure de paiement. Les étapes numérotées du schéma sont expliquées dans le Tableau 3.1. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 39 Comment utiliser l'API Paiements récurrents Procédure de création des paiements récurrents Procédure de création des paiements récurrents TABLEAU 3.1 Procédure de création des paiements récurrents Etape Le marchand... PayPal... 1 Appelle SetCustomerBillingAgreement ; le type de facturation est défini par RecurringPayment, pour initier une transaction de paiements récurrents 2 3 Renvoie au marchand un jeton identifiant la transaction. Redirige le navigateur du client vers : https://www.paypal.com/cgibin/webscr?cmd=_customer-billingagreement&token=<token returned by SetCustomerBillingAgreement> Affiche la page de connexion. Permet à l'utilisateur de modifier l'adresse de livraison. 4 5 Redirige le navigateur du client vers successURL transmise à SetCustomerBillingAgreement. Appelle GetBillingAgreementCustomerDetails pour obtenir les informations du client (facultatif). Renvoie une réponse GetBillingAgreeementCustomerDetails. Affiche une page de vérification à l'attention du client. 6 Appelle CreateRecurringPaymentsProfile. Renvoie ProfileID dans la réponse CreateRecurringPaymentsProfile si la création du profil a été réussie. 7 Affiche une page de transaction réussie. Lancer la procédure à l'aide de SetCustomerBillingAgreement La requête SetCustomerBillingAgreement avertit PayPal que vous êtes en train d'amorçer une transaction de paiements récurrents avec votre client. 40 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Comment utiliser l'API Paiements récurrents Spécifier un style de page de paiement personnalisé Vous devez obligatoirement inclure les paramètres suivants dans la requête SetCustomerBillingAgreement : z BILLINGTYPE z RETURNURL z CANCELURL Le Tableau 3.2 illustre un exemple de requête et réponse utilisant l'API NVP pour SetCustomerBillingAgreement. La réponse SetCustomerBillingAgreement fournit un jeton qui identifie la transaction de manière unique et sera utilisé dans le cas de redirections et d'appels API ultérieurs. TABLEAU 3.2 Requête et réponse SetCustomerBillingAgreement Requête [paramètresDeSécuritéRequis]&METHOD=SetCustomerBillingAgreement&BILLINGTYPE=Recu rringPayments& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& TABLEAU 3.3 Réponse [champsDeRéponseRéussie]&TOKEN=RP-6WV965525F6410539 Spécifier un style de page de paiement personnalisé Vous pouvez personnaliser le style des pages de paiement PayPal en définissant le paramètre PAGESTYLE dans SetCustomerBillingAgreement. Donnez à PAGESTYLE le nom de l'une des pages de paiement personnalisées que vous avez créées sur https://www.paypal.fr. Connectez-vous, cliquez sur Préférences puis sur Pages de paiement personnalisées. L'exemple suivant définit PAGESTYLE comme DesignerFotos-Yellow dans la méthode SetCustomerBillingAgreement TABLEAU 3.4 Spécifier un style de page de paiement personnalisé Requête [paramètresDeSécuritéRequis]&METHOD=SetCustomerBillingAgreement&BILLINGTYPE=Recu rringPayments& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& PAGESTYLE=DesignerFotos-Yellow TABLEAU 3.5 Réponse [champsDeRéponseRéussie]&TOKEN=RP-6WV965525F6410539 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 41 Comment utiliser l'API Paiements récurrents Personnaliser le logo et les couleurs Personnaliser le logo et les couleurs Modifiez les pages Web de PayPal de manière à ce qu'elles ressemblent à votre propre page Web en définissant les paramètres suivants dans SetCustomerBillingAgreement : z HDRIMG : spécifie l'image que vous souhaitez voir apparaître en haut à gauche de la page de paiement z HDRBORDERCOLOR : définit la couleur de bordure de l'en-tête de la page de paiement z HDRBACKCOLOR : définit la couleur d'arrière-plan de l'en-tête de la page de paiement z PAYFLOWCOLOR : définit la couleur d'arrière-plan de la page de paiement. TABLEAU 3.6 Personnaliser le logo et les couleurs individuellement Requête [paramètresDeSécuritéRequis]&METHOD=SetCustomerBillingAgreement&BILLINGTYPE=Recu rringPayments& RETURNURL=https://www.masociété.com/traitement_commandes/affich_commande.html& CANCELURL=https://www.masociété.com/traitement_commandes/infoslivraison.html& HDRIMG=https://www.masociété.com/images/HeaderImage.gif& HDRBORDERCOLOR=3366FF&HDRBACKCOLOR=D3EFF5&PAYFLOWCOLOR=F8F5F5 TABLEAU 3.7 Réponse [champsDeRéponseRéussie]&TOKEN=RP-6WV965525F6410539 Rediriger le navigateur du client vers PayPal Lorsque SetCustomerBillingAgreeement vous renvoie une réponse de réussite, ajouter la valeur de l'élément TOKEN fourni par la réponse SetCustomerBillingAgreeement sous forme de paire nom-valeur à l'URL suivante. Redirigez ensuite le navigateur de votre client vers cette URL : https://www.paypal.com/cgi-bin/webscr?cmd=_customer-billing-agreement& token=value_from_SetExpressCheckoutResponse Pour rediriger le navigateur d'un client vers l'URL de PayPal, PayPal vous recommande d'utiliser la réponse HTTPS 302 «Objet déplacé» avec votre URL comme valeur de l'en-tête Location dans la réponse HTTPS. Si votre serveur utilise le protocole SSL, vous évitez que le navigateur ne reçoive des avertissements à propos d'un mélange d'images sécurisées et non sécurisées. 42 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Comment utiliser l'API Paiements récurrents Obtenir les informations du payeur à l'aide de GetBillingAgreementCustomerDetails Obtenir les informations du payeur à l'aide de GetBillingAgreementCustomerDetails La méthode GetBillingAgreementCustomerDetails renvoie les informations du client, y compris ses nom et adresse enregistrés par PayPal. Vous pouvez, si vous le désirez, appeler cette API dès que PayPal a redirigé le navigateur du client vers l'URL de renvoi que vous avez spécifié dans la requête SetCustomerBillingAgreement. R E M A R Q U E : appeler GetBillingAgreementCustomerDetails n'est pas obligatoire. La requête GetBillingAgreementCustomerDetails contient un paramètre obligatoire, TOKEN, qui correspond à la valeur renvoyée dans la réponse SetCustomerBillingAgreement. La réponse GetBillingAgreementCustomerDetails contient ce TOKEN ainsi que les informations du client. TABLEAU 3.8 Obtenir les informations du payeur Requête [paramètresDeSécuritéRequis]&METHOD=GetBillingAgreementCustomerDetails& TOKEN=RP-6WV965525F6410539 TABLEAU 3.9 Réponse [champsDeRéponseRéussie]&TOKEN=RP-6WV965525F6410539&[email protected]& PAYERID=95HR9CM6D56Q2&PAYERSTATUS=vérifié&FIRSTNAME=Pierre& LASTNAME=Dupont&COUNTRYCODE=US& SHIPTONAME=Pierre Dupont&SHIPTOSTREET=by 10 rue de la République& SHIPTOCITY=Paris&SHIPTOSTATE=CA&SHIPTOCOUNTRYCODE=US& SHIPTOZIP=75015&ADDRESSID=PayPal& ADDRESSSTATUS=Confirmé Effectuer la transaction à l'aide de CreateRecurringPaymentsProfile Dès que votre client a approuvé la transaction sur votre page de confirmation, appelez CreateRecurringPaymentsProfile afin de créer le profil et de clôturer la transaction. IMPO RTANT : la transaction de paiement récurrent n'est pas terminée tant que vous n'avez pas appelé CreateRecurringPaymentsProfile. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 43 Comment utiliser l'API Paiements récurrents Effectuer la transaction à l'aide de CreateRecurringPaymentsProfile Vous devez toujours inclure les paramètres obligatoires dans la requête CreateRecurringPaymentsProfile. TABLEAU 3.10 Champs de CreateRecurringPaymentsProfile Nom Obligatoire ? TOKEN Oui PROFILESTARTDATE Oui BILLINGPERIOD Oui BILLINGFREQUENCY Oui AMT Oui TOTALBILLINGCYCLES Non SHIPPINGAMT Non TAXAMT Non MAXFAILEDPAYMENTS Non DESCRIPTION Non PROFILEREFERENCE Non Dans le champ MaxFailedPayments, spécifiez le nombre de paiements rejetés autorisé. Vous pouvez vous servir librement des champs Description et ProfileReference. En outre, si vous désirez ajouter une période d'essai au profil, vous devez inclure les champs suivants : TABLEAU 3.11 Champs supplémentaires pour la période d'essai 44 Nom Obligatoire TRIALBILLINGPERIOD Oui TRIALBILLINGFREQUENCY Oui TRIALAMT Oui TRIALTOTALBILLINGCYCLES Non TRIALSHIPPINGAMT Non TRIALTAXAMT Non Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Comment utiliser l'API Paiements récurrents Effectuer la transaction à l'aide de CreateRecurringPaymentsProfile Effectuer la transaction à l'aide de CreateRecurringPaymentsProfile TABLEAU 3.12 Requête et réponse CreateRecurringPaymentsProfile Requête [paramètresDeSécuritéRequis]&METHOD=CreateRecurringPaymentsProfile& TOKEN=RP-6WV965525F6410539&PROFILESTARTDATE=2007-10-12& TRIALBILLINGPERIOD=Month&TRIALBILLINGFREQUENCY=3&TRIALTOTALBILLINGCYCLES=2& TRIALAMT=5.99&BILLINGPERIOD=Month&BILLINGFREQUENCY=3&TOTALBILLINGCYCLES=6& AMT=12.99 Réponse [champsDeRéponseRéussie]&PROFILEID=4DK48DKD9D030 Affichage et annulation des préférences relatives aux paiements récurrents L'acheteur et le marchand peuvent tout les deux afficher ou annuler les préférences des paiements récurrents depuis le site PayPal. Il n'existe actuellement aucun accès API permettant aux marchands de modifier ou d'annuler des préférences. Affichage des préférences relatives aux paiements récurrents. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 45 Comment utiliser l'API Paiements récurrents Récapitulatif des Préférences de paiements récurrents Pour afficher les préférences relatives aux paiements récurrents, connectez-vous à votre compte, puis cliquez sur le lien Paiements récurrents dans la page Préférences. Récapitulatif des Préférences de paiements récurrents Cliquez sur le lien Afficher les détails d'une page de préférences pour afficher un récapitulatif de ces préférences, ainsi qu'illustré en Figure 3.1. 46 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Comment utiliser l'API Paiements récurrents Récapitulatif des Préférences de paiements récurrents FIGURE 3.1 Détails des paiements récurrents Annulation des préférences relatives aux paiements récurrents L'acheteur et le vendeur sont tout deux en mesure d'annuler les préférences relatives aux paiements récurrents. Il suffit pour cela de cliquer sur Annuler dans l'écran affichant les détails des paiements récurrents. La fenêtre en Figure 3.2 s'affiche. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 47 Comment utiliser l'API Paiements récurrents Récapitulatif des Préférences de paiements récurrents FIGURE 3.2 Annuler les Préférences de paiements récurrents Si le client clique sur Oui, les préférences sont annulées. 48 Mai 2007Guide de développement et référence de l’API Paire Nom-Valeur (NVP) 4 Fonctions de gestion Cette section présente des exemples des fonctions suivantes : z « Collecter, Autoriser, Annuler et Demander une nouvelle autorisation » page 49 z « Effectuer un remboursement à l'aide de RefundTransaction » page 51 z « Rechercher une transaction à l'aide de TransactionSearch » page 52 z « Visualiser les détails d'une seule transaction à l'aide de GetTransactionDetails » page 53 Collecter, Autoriser, Annuler et Demander une nouvelle autorisation Quatre API se rapportent à la fonction Autorisation et collecte : z DoCapture z DoAuthorization z DoVoid z DoReauthorization IMPO RTANT : pour les utiliser, vous devez connaitre la valeur TRANSACTIONID de la transaction initiale. Utilisez la valeur initiale de TRANSACTIONID comme valeur d'AUTHORIZATIONID avec DoCapture, DoAuthorization, DoVoid et DoReauthorization. Effectuer une collecte unique dans une commande à l'aide de DoCapture Pour effectuer une collecte unique, vous devez définir le numéro d'identification de l'autorisation et le montant sur DoCapture. IMPO RTANT : effectuer la collecte une seule fois est la valeur par défaut. Par souci de précision, vous pouvez également définir COMPLETETYPE=Complete. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 49 Fonctions de gestion Effectuer plusieurs collectes partielles dans une commande à l'aide de DoCapture COMPLETETYPE=Complete clôture toutes les autorisations en cours de la commande. Vous ne pouvez plus effectuer de collecte. FIGURE 4.1 Collecter l'intégralité du montant d'une autorisation Requête [paramètresDeSécuritéRequis]&METHOD=DoCapture&AUTHORIZATIONID=01987219673867 &AMT=99.12&COMPLETETYPE=Complete Réponse [champsDeRéponseRéussie]&AUTHORIZATIONID=01987219673867 &TRANSACTIONID=7JZ9679864YA2699519&PARENTTRANSACTIONID=01987219673867 &RECEIPTID=5151-0525-2028-5336&TRANSACTIONTYPE=express-checkout &PAYMENTTYPE=instant&ORDERTIME=2006-08-15T17:31:38Z&AMT=99.12 &CURRENCYCODE=EUR&FEEAMT=3.29&TAXAMT=0.00&PAYMENTSTATUS=Completed &PENDINGREASON=None&REASONCODE=None Effectuer plusieurs collectes partielles dans une commande à l'aide de DoCapture Vous pouvez collecter une partie du montant d'une autorisation en définissant COMPLETETYPE=NotComplete Lors de la collecte finale, définissez COMPLETETYPE=Complete ou omettez de spécifier COMPLETETYPE. Cet exemple illustre trois collectes : z Les deux premières collectes sont partielles. La valeur de COMPLETETYPE est NotComplete z Le dernière collecte est effectuée pour l'intégralité du montant restant. La valeur de COMPLETETYPE est Complete. FIGURE 4.2 Collecter une partie du montant d'une autorisation 50 Première requête de collecte partielle [paramètresDeSécuritéRequis]&METHOD=DoCapture&AUTHORIZATIONID=4EL6476506322203 &AMT=112.00&COMPLETETYPE=NotComplete Réponse [champsDeRéponseRéussie]&AUTHORIZATIONID=4EL6476506322203 &TRANSACTIONID=4Y117666R06578920&PARENTTRANSACTIONID=4EL6476506322203 &RECEIPTID=5151-0525-2028-5336&TRANSACTIONTYPE=webaccept &PAYMENTTYPE=instant&ORDERTIME=2006-08-15T17:23:15Z&AMT=112.00 &CURRENCYCODE=EUR&FEEAMT=3.55&TAXAMT=0.00&PAYMENTSTATUS=Completed &PENDINGREASON=None&REASONCODE=None Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Fonctions de gestion Insérer un numéro de facture et une remarque lors de la collecte à l'aide de DoCapture Deuxième requête de collecte partielle [paramètresDeSécuritéRequis]&METHOD=DoCapture&AUTHORIZATIONID=4EL6476506322203 &AMT=103.12&COMPLETETYPE=NotComplete Réponse [champsDeRéponseRéussie]&AUTHORIZATIONID=4EL6476506322203 &TRANSACTIONID=7JY48864YA2699519&PARENTTRANSACTIONID=4EL6476506322203 &RECEIPTID=5151-0525-2028-5336&TRANSACTIONTYPE=webaccept &PAYMENTTYPE=instant&ORDERTIME=2006-08-15T17:31:38Z&AMT=103.12 &CURRENCYCODE=EUR&FEEAMT=3.29&TAXAMT=0.00&PAYMENTSTATUS=Completed &PENDINGREASON=None&REASONCODE=None Requête de collecte finale [paramètresDeSécuritéRequis]&METHOD=DoCapture&AUTHORIZATIONID=4EL6476506322203 &AMT=103.12&COMPLETETYPE=Complete Réponse [champsDeRéponseRéussie]&AUTHORIZATIONID=4EL6476506322203 &TRANSACTIONID=7JZ89864YA2699519&PARENTTRANSACTIONID=4EL6476506322203 &RECEIPTID=5151-0525-2028-5336&TRANSACTIONTYPE=webaccept &PAYMENTTYPE=instant&ORDERTIME=2006-08-15T17:31:38Z&AMT=90.80 &CURRENCYCODE=EUR&FEEAMT=3.29&TAXAMT=0.00&PAYMENTSTATUS=Completed &PENDINGREASON=None&REASONCODE=None Insérer un numéro de facture et une remarque lors de la collecte à l'aide de DoCapture Que la collecte soit effectuée pour un montant intégral ou partiel, vous avez la possibilité d'insérer une remarque sur la collecte ainsi que votre propre numéro de facture ou tout autre numéro d'identification. FIGURE 4.3 Inclure un numéro de facture et une remarque lors de la collecte Requête [paramètresDeSécuritéRequis]&METHOD=DoCapture&AUTHORIZATIONID=4EL6476506322203 &COMPLETETYPE=Complete&AMT=304.92&INVNUM=H091234&NOTE=UPS+trk#+b86283978 Réponse [champsDeRéponseRéussie]&AUTHORIZATIONID=4EL6476506322203 &TRANSACTIONID=7JZ89864YA2694419&PARENTTRANSACTIONID=4EL6476506322203 &RECEIPTID=5151-0525-2028-5336&TRANSACTIONTYPE=webaccept &PAYMENTTYPE=instant&ORDERTIME=2006-08-15T17:31:38Z&AMT=304.92 &CURRENCYCODE=EUR&FEEAMT=3.29&TAXAMT=0.00&PAYMENTSTATUS=Completed &PENDINGREASON=None&REASONCODE=None Effectuer un remboursement à l'aide de RefundTransaction Grâce à RefundTransaction, vous pouvez effectuer un remboursement du montant intégral ou d'un montant partiel d'une transaction. Spécifiez le numéro de la transaction initiale et le type de remboursement : Intégral ou Partiel. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 51 Fonctions de gestion Rechercher une transaction à l'aide de TransactionSearch Remboursement intégral IMPO RTANT : si vous désirez rembourser le montant dans son intégralité, n'assignez pas de valeur au champ AMT. FIGURE 4.4 Rembourser le montant intégral de la transaction Requête [paramètresDeSécuritéRequis]&METHOD=RefundTransaction& TRANSACTIONID=019454569673867&REFUNDTYPE=Full Réponse [champsDeRéponseRéussie]&REFUNDTRANSACTIONID=4RP55200GJ177180N &FEEREFUNDAMT=4.01&GROSSREFUNDAMT=127.87&NETREFUNDAMT=123.86 Remboursements partiels Pour effectuer un remboursement partiel, assignez à REFUNDTYPE la valeur Partiel et définissez AMT. FIGURE 4.5 Rembourser une partie du montant Requête [paramètresDeSécuritéRequis]&METHOD=RefundTransaction &TRANSACTIONID=9CX07910UV614511L&REFUNDTYPE=Partial&AMT=12.95 Réponse [champsDeRéponseRéussie]&REFUNDTRANSACTIONID=1H0011898K637700R &FEEREFUNDAMT=0.38&GROSSREFUNDAMT=12.95&NETREFUNDAMT=12.57 Insérer une remarque lors du remboursement Que le remboursement soit intégral ou partiel, vous avez également la possibilité d'insérer une remarque à son sujet. FIGURE 4.6 Insérer une remarque lors du remboursement Requête [paramètresDeSécuritéRequis]&METHOD=RefundTransaction& TRANSACTIONID=019454569673867&REFUNDTYPE=Partial&AMT=12.95& NOTE=Customer+changed+mind. Réponse [champsDeRéponseRéussie]&REFUNDTRANSACTIONID=1H0011898K637700R &FEEREFUNDAMT=0.38&GROSSREFUNDAMT=12.95&NETREFUNDAMT=12.57 Rechercher une transaction à l'aide de TransactionSearch Pour trouver toutes les transactions effectuées à une date particulière, utilisez TransactionSearch et saisissez la date de votre choix dans le champ STARTDATE. La date doit obligatoirement être au format UTC/GMT. 52 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Fonctions de gestion Visualiser les détails d'une seule transaction à l'aide de GetTransactionDetails . FIGURE 4.7 Rechercher des transactions par STARTDATE Requête [paramètresDeSécuritéRequis]&METHOD=TransactionSearch &STARTDATE=2006-08-15T17:00:00Z Réponse [champsDeRéponseRéussie]&L_TIMESTAMP0=2006-08-18T05:58:41Z& L_TIMEZONE0=GMT&L_TYPE0=Authorization&L_NAME0=Pierre+Doe& L_TRANSACTIONID0=3XK029742B016373C&L_STATUS0=Pending&L_AMT0=1.00& L_TIMESTAMP1=2006-08-18T05:56:20Z&L_TIMEZONE1=GMT&L_TYPE1=Payment& L_NAME1=Pierre+Doe&L_TRANSACTIONID1=4BV19600WF261673U&L_STATUS1=Completed &L_AMT1=1.00&L_FEEAMT1=-0.33&L_NETAMT1=0.67& L_TIMESTAMP2=2006-08-18T05:53:22Z&L_TIMEZONE2=GMT&L_TYPE2=Payment &L_NAME2=Pierre+Doe&L_TRANSACTIONID2=6XB50622KC566325C&L_STATUS2=Completed &L_AMT2=1.00&L_FEEAMT2=-0.33&L_NETAMT2=0.67& L_TIMESTAMP3=2006-08-18T05:38:04Z&L_TIMEZONE3=GMT &L_TYPE3=Payment&L_NAME3=Pierre+Doe&L_TRANSACTIONID3=80774637LP956560E& L_STATUS3=Completed&L_AMT3=1.00&L_FEEAMT3-0.33&L_NETAMT3=0.67& L_TIMESTAMP4=2006-08-17T03:02:44Z&L_TIMEZONE4=GMT&L_TYPE4=Payment& L_NAME4=Pettibone+Smythe-Jones&L_TRANSACTIONID4=8G40321568512733L& L_STATUS4=Completed&L_AMT4=104.00&L_FEEAMT4=-3.32&L_NETAMT4=100.68 TransactionSearch renvoie un tableau multi-valeurs de toutes les transactions correspondant aux critères de recherche. Chaque transaction débute par sa date : L_TIMESTAMPn, où n commence par 0 et augmente d'une unité pour chaque transaction. Visualiser les détails d'une seule transaction à l'aide de GetTransactionDetails Pour visualiser tous les détails d'une seule transaction, utiliser GetTransactionDetails. FIGURE 4.8 Visualiser les détails d'une transaction Requête [paramètresDeSécuritéRequis]&METHOD=GetTransactionDetails &TRANSACTIONID=3B288546P5019992D Réponse [champsDeRéponseRéussie]&RECEIVERBUSINESS=Jims+Hardware &[email protected]&RECEIVERID=WNSJNN89XVWFA &PAYERID=B3KS3VFYNG9SN&PAYERSTATUS=invérifié&FIRSTNAME=James& LASTNAME=Biguy&COUNTRYCODE=US&SHIPTOSTATE=&ADDRESSID=PayPal&ADDRESSSTATUS=None &TRANSACTIONID=3B288546P5019992D&RECEIPTID=3596-6202-14612615 &TRANSACTIONTYPE=webaccept&PAYMENTTYPE=instant& ORDERTIME=2006-08-15T17:00:00Z&AMT=127.87&CURRENCYCODE=EUR&FEEAMT=4.01 &TAXAMT=0.00&PENDINGREASON=None&REASONCODE=None&SALESTAX=0.00&L_QTY0=1 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 53 Fonctions de gestion Visualiser les détails d'une seule transaction à l'aide de GetTransactionDetails 54 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) A Liste de référence des méthodes et des champs de l'API NVP Caractéristiques générales des requêtes et des paramètres Paramètres La chaîne des paramètres d'une requête obéit à la syntaxe des composants d'une demande définie dans l'Uniform Resource Identifier (URI) : syntaxe générique. Les noms et les valeurs des paramètres peuvent être soit en lettres majuscules, soit en lettres minuscules. Par souci de clarté, nous utiliserons ici des majuscules. L'encodage dans l'URL de toutes les valeurs doit être assuré. Champs multi-valeurs Les champs acceptant des valeurs multiples ont des noms tels que : L_FIELDNAMEn où L_ est littéral, FIELDNAME est le nom du paramètre et n est le numéro d'index, en commençant avec 0 et incrémenté d'une unité pour chaque valeur du champ. Les numéros d'index doivent être séquentiels. Par exemple, dans le cas d'une commande d'objets multiples, il vous est possible d'ajouter un coût d'objet pour chaque objet à l'aide du paramètre L_AMTn : L_AMT0=4.95&L_AMT1=6.72&L_AMT2=7.95 Devises acceptées par PayPal Les devises suivantes sont acceptées par PayPal. TABLEAU A.1 Devises acceptées par PayPal et codes de devises pour les transactions Code ISO4217 Devise AUD Dollar australien CAD Dollar canadien CHF Franc suisse CZK Couronne tchèque DKK Couronne danoise Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 55 Liste de référence des méthodes et des champs de l'API NVP Caractéristiques générales des requêtes et des paramètres TABLEAU A.1 Devises acceptées par PayPal et codes de devises pour les transactions (suite) Code ISO4217 Devise EUR Euro GBP Livre sterling HKD Dollar de Hong-Kong HUF Forint hongrois JPY Yen japonais NOK Couronne norvégienne NZD Dollar néo-zélandais PLN Zloty polonais SEK Couronne suédoise SGD Dollar de Singapour USD Dollar américain TABLEAU A.2 Adresse de livraison (facultatif) 56 Paramètre Description Obligatoire ? SHIPTONAME Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères d'un octet. Oui SHIPTOSTREET Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Oui SHIPTOCITY Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. Oui SHIPTOSTATE Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. Pour une abréviations des états ou provinces, reportez-vous à l’ «Abréviations des états ou provinces» page 57. Requis pour les adresses américaines (USA) seulement. Non SHIPTOZIP Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. Oui Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Caractéristiques générales des requêtes et des paramètres TABLEAU A.2 Adresse de livraison (facultatif) (suite) Paramètre Description Obligatoire ? SHIPTOCOUNTRYCODE Code pays. Nombre de caractères limite : 2 caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». Oui SHIPTOSTREET2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Non SHIPTOPHONENUM Numéro de téléphone. Nombre de caractères limite : 20 caractères d'un octet. Non Abréviations des états ou provinces Le tableau ci-dessous répertorie abréviations pour les provinces canadiennes et les états américains. Entrez ces valeurs dans les paramètres STATE ou SHIPTOSTATE. TABLEAU A.3 Abréviations pour les provinces canadiennes et les états américains Province canadienne ou état américain Abréviation Alberta AB Colombie-Britannique BC Manitoba MB Nouveau Brunswick NB Terre-Neuve et Labrador NF Territoires du Nord-Ouest NT Nouvelle-Ecosse NS Nunavut NU Ontario ON Ile du Prince-Edouard PE Québec QC Saskatchewan SK Yukon YK Alabama AL Alaska AK Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 57 Liste de référence des méthodes et des champs de l'API NVP Caractéristiques générales des requêtes et des paramètres TABLEAU A.3 Abréviations pour les provinces canadiennes et les états américains (suite) 58 Province canadienne ou état américain Abréviation Samoa Américaines AS Arizona AZ Arkansas AR Californie CA Colorado CO Connecticut CT Delaware DE District de Columbia DC Etats fédérés de Micronésie FM Floride FL Géorgie GA Guam GU Hawaii HI Idaho ID Illinois IL Indiana IN Iowa IA Kansas KS Kentucky KY Louisiane LA Maine ME Iles Marshall MH Maryland MD Massachusetts MA Michigan MI Minnesota MN Mississippi MS Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Caractéristiques générales des requêtes et des paramètres TABLEAU A.3 Abréviations pour les provinces canadiennes et les états américains (suite) Province canadienne ou état américain Abréviation Missouri MO Montana MT Nebraska NE Nevada NV New Hampshire NH New Jersey NJ Nouveau Mexique NM New York NY Caroline du Nord NC Dakota du Nord ND Iles Mariannes du Nord MP Ohio OH Oklahoma OK Oregon OR Palaos PW Pennsylvanie PA Porto Rico PR Rhode Island RI Caroline du Sud SC Dakota du Sud SD Tennessee TN Texas TX Utah UT Vermont VT Iles Vierges VI Virginie VA Washington WA Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 59 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.3 Abréviations pour les provinces canadiennes et les états américains (suite) Province canadienne ou état américain Abréviation Virginie-Occidentale WV Wisconsin WI Wyoming WY Forces armées Amériques AA Forces armées Europe AE Forces armées Pacifique AP Paiement express PayPal Requête SetExpressCheckout TABLEAU A.4 Paramètres de la requête SetExpressCheckout Paramètre Description Obligatoire METHOD Nom de l'API : SetExpressCheckout Oui RETURNURL URL vers laquelle le navigateur du client est renvoyé après avoir choisi de payer avec PayPal. Oui REMAR QUE : PayPal recommande que la valeur corresponde à la page de vérification finale sur laquelle le client confirme la commande et le paiement ou l'autorisation de facturation. Nombre de caractères limite : pas de limite. CANCELURL URL vers laquelle le client est renvoyé s'il n'approuve pas l'utilisation de PayPal pour vous payer. Oui REMAR QUE : PayPal recommande que la valeur corresponde à la page initiale sur laquelle le client a choisi de payer avec PayPal ou d'établir une autorisation de facturation. Nombre de caractères limite : pas de limite. 60 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.4 Paramètres de la requête SetExpressCheckout (suite) Paramètre Description Obligatoire AMT Coût total de la commande pour le client. Si vous connaissez les frais d'expédition, de livraison et de TVA, incluez-les dans cette valeur; dans le cas contraire, cette valeur doit correspondre au sous-total actuel de la commande. Oui REMAR QUE : limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être un point (.). CURRENCYCODE Un code de devise à trois caractères pour une des devises répertoriées dans Non «Devises acceptées par PayPal» page 55. Par défaut : USD. MAXAMT Montant total maximum prévu de la commande complète, y compris frais d'expédition, de livraison et de TVA. Non REMAR QUE : limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être un point (.). PAYMENTACTION Mode d'obtention du paiement : z Authorization indique que ce paiement est une autorisation de base qui sera traitée par Autorisation et collecte. z Order indique que ce paiement est une autorisation de commande qui sera traitée par la fonction Autorisation et collectede PayPal. z Sale indique qu'il s'agit d'une vente finale pour laquelle vous demandez un paiement. Non REMAR QUE : vous ne pouvez pas définir cette valeur sur Sale dans la requête SetExpressCheckout, puis la définir sur Authorization dans la requête DoExpressCheckoutPayment de l'API finale. Nombre de caractères limite : jusqu'à 13 caractères alphabétiques d'un octet. Valeurs autorisées: z Authorization z Order z Sale Par défaut : La transaction résultant de la requête DoExpressCheckoutPayment est une vente finale.. EMAIL Adresse email de l'acheteur entrée pendant le paiement. PayPal utilise cette valeur pour pré-remplir la partie réservée à l'inscription pour l'adhésion à PayPal de la page de connexion PayPal. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non DESC Description des objets achetés par le client. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 61 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.4 Paramètres de la requête SetExpressCheckout (suite) Paramètre Description Obligatoire CUSTOM Champ à structure non imposée que vous utilisez librement, par exemple un numéro de suivi ou toute autre valeur que vous souhaitez que PayPal renvoie dans la réponse GetExpressCheckoutDetails et dans la réponse DoExpressCheckoutPayment. Nombre de caractères limite : 256 caractères alphanumériques d'un octet. Non INVNUM Votre numéro de facture ou de suivi personnel. PayPal vous renvoie cette valeur dans la réponse DoExpressCheckoutPayment. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non REQCONFIRMSHIPPING La valeur 1 indique que vous demandez que l'adresse de livraison du client enregistrée chez PayPal soit une adresse confirmée. Non REMAR QUE : si vous définissez ce champ, le paramètre que vous avez indiqué dans vos Préférences de compte marchand est remplacé. Nombre de caractères limite : un caractère numérique d'un octet. Valeurs autorisées : 0, 1 Par défaut : 0 NOSHIPPING La valeur 1 indique qu'aucun champ d'adresse de livraison ne doit apparaître sur les pages de PayPal. Nombre de caractères limite : quatre caractères numériques d'un octet. Valeurs autorisées : 0, 1 Par défaut : 0 Non ADDROVERRIDE La valeur 1 indique que les pages de PayPal doivent afficher l'adresse de livraison que vous avez définie dans la requête SetExpressCheckout , et non celle enregistrée chez PayPal pour ce client. Non REMAR QUE : le fait d'afficher l'adresse postale enregistrée chez PayPal ne permet pas au client de modifier cette adresse. Valeurs autorisées : 0, 1 Par défaut : 0 TOKEN Jeton horodaté par lequel vous indiquez à PayPal que vous traitez ce paiement avec la fonction Paiement express PayPal. Non REMAR QUE : le jeton expire au bout de trois heures. Si vous avez défini le jeton dans la requête SetExpressCheckout, sa valeur dans la réponse est identique à celle de la requête. Nombre de caractères limite : 20 caractères d'un octet. Valeurs autorisées : Consultez la description de la variable TOKEN dans Tableau A.6, «Champs de la réponse SetExpressCheckout». 62 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.4 Paramètres de la requête SetExpressCheckout (suite) Paramètre Description Obligatoire LOCALECODE Paramètre régional des pages affichées par PayPal pendant la procédure de Paiement express PayPal. Nombre de caractères limite : N'importe quel code pays de deux caractères. Les codes pays de deux caractères suivants sont pris en charge par PayPal : z AU z DE z FR z IT z GB z ES z US Toute autre valeur sera remplacée par défaut par US. Non REMAR QUE : pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». PAGESTYLE Détermine le style personnalisé des pages de paiement associées à ce bouton/lien. Cette valeur correspond à la variable HTML page_style qui permet de personnaliser ces pages. La valeur est identique au nom du style choisi lors de l'ajout ou de la modification du style de page du sous-onglet Préférences de l'onglet Mon compte sur le site PayPal. Nombre de caractères limite : 30 caractères alphabétiques d'un octet. Non HDRIMG URL de l'image que vous souhaitez voir apparaître dans la partie supérieure gauche de la page de paiement. La taille maximale de l'image est de 750 pixels en largeur et de 90 pixels en hauteur. PayPal vous recommande de fournir une image stockée sur un serveur sécurisé (https). Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non HDRBORDERCOLOR Définit la couleur de bordure de l'en-tête de la page de paiement. La bordure est un périmètre de 2 pixels autour de l'espace d'en-tête, qui dispose d'une taille de 750 pixels de large sur 90 pixels de haut. Nombre de caractères limite : code couleur hexadécimal HTML de six caractères en ASCII. Non HDRBACKCOLOR Définit la couleur d'arrière-plan de l'en-tête de la page de paiement. Nombre de caractères limite : code couleur hexadécimal HTML de six caractères en ASCII. Non PAYFLOWCOLOR Définit la couleur d'arrière-plan de la page de paiement. Nombre de caractères limite : code couleur hexadécimal HTML de six caractères en ASCII. Non L_PROMOCODE0 Un code de promotion tel que le Code financier promotionnel des services marchands. Vous pouvez combiner des promotions en utilisant des paires nom-valeur telles que L_PROMOCODE1, L_PROMOCODE2, etc. Non Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 63 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.4 Paramètres de la requête SetExpressCheckout (suite) Paramètre Description Obligatoire Adresse de livraison Adresse de livraison facultative. Les paramètres de l'adresse de livraison facultative sont décrits dans Tableau A.5, «Adresse de livraison (facultatif)». Non I M P O R T A N T : l'adresse de livraison est facultative mais si vous l'incluez, certains champs doivent être saisis. TABLEAU A.5 Adresse de livraison (facultatif) 64 Paramètre Description Obligatoire SHIPTONAME Nom de la personne associée à cette adresse de livraison. Nombre de caractères limite : 32 caractères d'un octet. Oui SHIPTOSTREET Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Oui SHIPTOCITY Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. Oui SHIPTOSTATE Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. Requis pour les adresses américaines (USA) seulement. Non SHIPTOCOUNTRYCODE Code Pays. Nombre de caractères : deux caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». Oui SHIPTOZIP Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet Oui SHIPTOSTREET2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Non PHONENUM Numéro de téléphone. Nombre de caractères limite : 20 caractères d'un octet. Non Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal Réponse SetExpressCheckout TABLEAU A.6 Champs de la réponse SetExpressCheckout Paramètre Description TOKEN Jeton horodaté par lequel vous indiquez à PayPal que vous traitez ce paiement avec la fonction Paiement express PayPal. RE MARQUE : le jeton expire au bout de trois heures. Si vous avez défini le jeton dans la requête SetExpressCheckout, sa valeur dans la réponse est identique à celle de la requête. Nombre de caractères limite : 20 caractères d'un octet. Rediriger le navigateur du client vers la page de connexion PayPal Lorsque vous avez reçu une réponse de SetExpressCheckout, ajoutez la valeur de l'élément TOKEN de SetExpressCheckout sous forme de paire nom-valeur à l'URL suivante et redirigez-y le navigateur de votre client : https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout& token=value_from_SetExpressCheckoutResponse Pour rediriger le navigateur d'un client vers la page de connexion PayPal, PayPal vous recommande d'utiliser la réponse HTTPS 302 «Objet déplacé» avec l'URL ci-dessus comme valeur de l'en-tête Location dans la réponse HTTPS. Si votre serveur utilise le protocole SSL, vous évitez que le navigateur ne reçoive des avertissements à propos d'un mélange d'images sécurisées et non sécurisées. Requête GetExpressCheckoutDetails TABLEAU A.7 Paramètres de GetExpressCheckoutDetails Paramètre Description Obligatoire ? METHOD Nom de l'API : GetExpressCheckoutDetails Oui TOKEN Jeton horodaté dont la valeur a été renvoyée par la réponse SetExpressCheckout. Nombre de caractères limite : 20 caractères d'un octet. Valeurs autorisées : Un jeton non périmé Oui Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 65 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal Réponse GetExpressCheckoutDetails TABLEAU A.8 Champs de la réponse GetExpressCheckoutDetails 66 Champ Description TOKEN Valeur du jeton horodaté qui a été renvoyée par la réponse SetExpressCheckout et transmise dans la requête GetExpressCheckoutDetails. Nombre de caractères limite : 20 caractères d'un octet. Valeurs possibles : Consultez la description de JETON dans Tableau A.6, «Champs de la réponse SetExpressCheckout». EMAIL Adresse email du payeur. Nombre de caractères limite : 127 caractères d'un octet. PAYERID Numéro de compte unique du client PayPal. Nombre de caractères limite:13 caractères alphanumériques d'un octet. PAYERSTATUS Etat du payeur. Nombre de caractères limite : 10 caractères alphabétiques d'un octet. Valeurs possibles : verified, unverified SALUTATION Formule d'appel du payeur. Nombre de caractères limite : 20 caractères d'un octet. FIRSTNAME Prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. MIDDLENAME Deuxième prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. LASTNAME Nom du payeur. Nombre de caractères limite : 25 caractères d'un octet. SUFFIX Suffixe du payeur. Nombre de caractères limite : 12 caractères d'un octet. COUNTRYCODE Pays de résidence du payeur sous forme de code pays ISO 3166 à deux caractères. Nombre de caractères limite : deux caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». BUSINESS Raison sociale du payeur. Nombre de caractères limite : 127 caractères d'un octet. SHIPTONAME Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères d'un octet. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.8 Champs de la réponse GetExpressCheckoutDetails (suite) Champ Description SHIPTOSTREET Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. SHIPTOSTREET2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. SHIPTOCITY Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. SHIPTOSTATE Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. SHIPTOCOUNTRYCODE Code pays. Nombre de caractères : deux caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». SHIPTOZIP Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. ADDRESSSTATUS Etat de l'adresse postale enregistrée chez PayPal CUSTOM Champ à structure non imposée que vous utilisez librement et défini par vos soins dans l'élément Custom de la requête SetExpressCheckout. Nombre de caractères limite : 256 caractères alphanumériques d'un octet. INVNUM Votre numéro de facture ou de suivi personnel, défini par vos soins dans l'élément du même nom dans la requête SetExpressCheckout. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. PHONENUM Numéro de téléphone à contacter du payeur. RE MARQUE : PayPal renvoie ce type de numéro uniquement si les paramètres de vos Préférences de compte marchand nécessitent que l'acheteur en saisisse un. Nombre de caractères limite : le masque du champ est XXX-XXXXXXX (pour les numéros aux Etats-Unis) ou +XXX XXXXXXXX (pour les autres numéros) Requête DoExpressCheckoutPayment Requête pour obtenir le paiement via la fonction Paiement express PayPal de PayPal. IMPO RTANT : PayPal exige qu'un vendeur utilisant Paiement express PayPal affiche pour le client un montant identique à celui qu'il envoie à PayPal dans le paramètre AMT avec la requête API DoExpressCheckoutPayment. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 67 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.9 Paramètre DoExpressCheckoutPayment Paramètre Description Obligatoire ? METHOD Nom de l'API : DoExpressCheckoutPayment Oui TOKEN Valeur du jeton horodaté qui a été renvoyée par la réponse SetExpressCheckout et transmise dans la requête GetExpressCheckoutDetails. Nombre de caractères limite : 20 caractères d'un octet. Oui PAYMENTACTION Mode d'obtention du paiement : z Authorization indique que ce paiement est une autorisation de base qui sera traitée par Autorisation et collecte. z Order indique que ce paiement est une autorisation de commande qui sera traitée par la fonction Autorisation et collectede PayPal. z Sale indique qu'il s'agit d'une vente finale pour laquelle vous demandez un paiement. Oui RE MARQUE : vous ne pouvez pas définir cette valeur sur Sale dans la requête SetExpressCheckout, puis la définir sur Authorization dans la requête DoExpressCheckoutPayment de l'API finale. Nombre de caractères limite : jusqu'à 13 caractères alphabétiques d'un octet. Valeurs autorisées : z Authorization z Order z Sale Par défaut : la transaction résultant de requête DoExpressCheckoutPayment une vente finale.. PAYERID Numéro de compte client PayPal unique renvoyé par la réponse GetExpressCheckoutDetails. Nombre de caractères limite : 13 caractères alphanumériques d'un octet. Oui AMT Total de la commande, incluant les frais d'expédition et de livraison, de dossier et le montant de la TVA. Oui RE MARQUE : Limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être un point (.). 68 DESC Description des objets achetés par le client. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non CUSTOM Champ à structure non imposée que vous utilisez librement. Nombre de caractères limite : 256 caractères alphanumériques d'un octet. Non Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.9 Paramètre DoExpressCheckoutPayment (suite) Paramètre Description Obligatoire ? INVNUM Votre numéro de facture ou de suivi personnel. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non BUTTONSOURCE Code d'identification permettant aux applications tierces d'identifier les transactions. Nombre de caractères limite : 32 caractères alphanumériques d'un octet. Non NOTIFYURL Votre URL pour la réception de la Notification instantanée de paiement (NIP) concernant cette transaction. Non RE MARQUE : si vous ne spécifiez pas cette valeur dans la requête, c'est l'URL de notification de vos Préférences du marchand qui est utilisée, s'il en existe une. Nombre de caractères limite : 2 048 caractères alphanumériques d'un octet. ITEMAMT Somme des frais de tous les objets de cette commande. Limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être un point (.). Non RE MARQUE : ITEMAMT est nécessaire si vous spécifiez une valeur pour L_AMTn. SHIPPINGAMT Total des frais d'expédition et de livraison de cette commande. Non RE MARQUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. HANDLINGAMT Total des frais de dossier de cette commande. Non RE MARQUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. TAXAMT Somme des frais de TVA de tous les objets de cette commande. Non RE MARQUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. RE MARQUE : TAXAMT est nécessaire si vous spécifiez une valeur pour L_TAXAMTn. CURRENCYCODE Un code de devise à trois caractères pour une des devises répertoriées dans Devises de transaction acceptées par PayPal. Par défaut : USD Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 Non 69 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.9 Paramètre DoExpressCheckoutPayment (suite) Paramètre Description Obligatoire ? L_NAMEn Nom de l'objet Non Nombre de caractères limite : 127 caractères d'un octet. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_NAME0, L_NAME1, et ainsi de suite. L_NUMBERn Numéro de l'objet. Nombre de caractères limite : 127 caractères d'un octet. Non Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_NUMBER0, L_NUMBER1, et ainsi de suite. L_QTYn Quantité d'objets. Nombre de caractères limite : n'importe quel chiffre entier positif. Non Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_QTY0, L_QTY1, et ainsi de suite. L_TAXAMTn TVA concernant l'objet. Nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Non Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_TAXAMT0, L_TAXAMT1, et ainsi de suite. L_AMTn Coût de l'objet. Nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Non Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_AMT0, L_AMT1, et ainsi de suite. L_PROMOCODE0 Un code de promotion tel que le Code financier promotionnel des services marchands. Vous pouvez combiner des promotions en utilisant des paires nom-valeur telles que L_PROMOCODE1, L_PROMOCODE2, etc. Non Adresse de livraison Adresse de livraison facultative. Les paramètres de l'adresse de livraison facultative sont décrits dans Tableau A.10, «Facultatif Adresse de livraison». Non I M P O R T A N T : l'adresse de livraison est facultative mais si vous l'incluez, certains champs doivent être saisis. 70 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.10 Facultatif Adresse de livraison Paramètre Description Obligatoire ? SHIPTONAME Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères d'un octet. Oui SHIPTOSTREET Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Oui SHIPTOCITY Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. Oui SHIPTOSTATE Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. Requis pour les adresses américaines (USA) seulement. Non SHIPTOCOUNTRYCODE Code pays. Nombre de caractères : deux caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». Oui SHIPTOZIP Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. Oui SHIPTOSTREET2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Non SHIPTOPHONENUM Numéro de téléphone. Nombre de caractères limite : 20 caractères d'un octet. Non Réponse DoExpressCheckoutPayment TABLEAU A.11 Champs de la réponse Paiement DoExpressCheckout Champ Description TOKEN Valeur du jeton horodaté qui a été renvoyée par la réponse SetExpressCheckout et transmise dans la requête GetExpressCheckoutDetails. Nombre de caractères limite : 20 caractères d'un octet. Valeurs autorisées : Consultez la description de JETON dans Tableau A.6, «Champs de la réponse SetExpressCheckout». Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 71 Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.11 Champs de la réponse Paiement DoExpressCheckout (suite) Champ Description TRANSACTIONID Numéro de transaction unique du paiement. RE MARQUE : si l'élément PaymentAction de la requête est défini sur Authorization ou sur Order, cette valeur correspond à votre AuthorizationID à utiliser avec les API Autorisation et collecte. Nombre de caractères limite : 19 caractères d'un octet. Valeurs possibles : Spécifique à la transaction 72 TRANSACTIONTYPE Type de transaction Nombre de caractères limite : 15 caractères d'un octet. Valeurs possibles : z cart z express-checkout PAYMENTTYPE Indique si le paiement est immédiat ou différé. Nombre de caractères limite : sept caractères d'un octet Valeurs possibles : z none z echeck z instant ORDERTIME Horodatage du paiement Valeurs possibles : Spécifique à la transaction AMT Montant final facturé, incluant les frais d'expédition, de livraison et de TVA de vos Préférences du marchand. Nombre de caractères limite : ne dépasse $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Valeurs possibles : Spécifique à la transaction CURRENCYCODE Un code de devise à trois caractères pour une des devises répertoriées dans Devises de transaction acceptées par PayPal. Par défaut : USD. FEEAMT Montant de la commission de PayPal facturée pour la transaction Nombre de caractères limite : ne dépasse $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Valeurs possibles : Spécifique à la transaction SETTLEAMT Montant déposé sur votre compte PayPal après conversion de devise. Valeurs possibles : Spécifique à la transaction Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiement express PayPal TABLEAU A.11 Champs de la réponse Paiement DoExpressCheckout (suite) Champ Description TAXAMT TVA facturée pour la transaction. Nombre de caractères limite : ne dépasse $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Valeurs possibles : Spécifique à la transaction EXCHANGERATE Taux de change utilisé en cas de conversion de devise. S'applique uniquement si vous facturez dans une devise secondaire. Si l'utilisateur choisit de payer dans une devise autre que la devise secondaire, la conversion a lieu sur son compte. Nombre de caractères limite : une décimale qui ne dépasse pas 17 caractères, y compris la virgule décimale. Valeurs possibles : Spécifique à la transaction PAYMENTSTATUS Etat du paiement : Completed : le paiement est terminé et les fonds ont été ajoutés au solde de votre compte. Pending : le paiement est en attente. Pour en savoir plus, reportez-vous à l'élément PendingReason. PENDINGREASON Motif pour lequel le paiement est en attente : z none: pas de motif de mise en attente. z address : le paiement est en attente parce que l'utilisateur n'a pas indiqué d'adresse de livraison confirmée et que vos préférences de réception de paiements sont configurées pour que vous puissiez accepter ou refuser manuellement chacun de ces paiements. Pour modifier votre préférence, accédez à la section Préférences de notification instantanée de paiement dans les Préférences de votre Préférences. z echeck : le paiement est en attente parce qu'il a été effectué par le biais d'un chèque électronique qui n'a pas encore été compensé. z intl : le paiement est en attente parce que vous détenez un compte hors des Etats-Unis et que vous ne disposez pas de système de virement. Vous devez accepter ou refuser manuellement ce paiement à partir de votre Aperçu du compte. z multi-currency : vous ne disposez pas de solde dans la devise qui vous a été envoyée et vos Préférences de réception de paiements ne sont pas configurées pour convertir automatiquement ce paiement et l'accepter. Vous devez accepter ou refuser manuellement ce paiement. z verify : le paiement est en attente parce que vous n'avez pas encore le statut Vérifié. Vous devez vérifier votre compte avant de pouvoir accepter ce paiement. z other : le paiement est en attente pour une autre raison que celles indiquées ci-dessus. Pour en savoir plus, contactez le Service clientèle de PayPal. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 73 Liste de référence des méthodes et des champs de l'API NVP Autorisation et collecte TABLEAU A.11 Champs de la réponse Paiement DoExpressCheckout (suite) Champ Description REASONCODE Motif d'une annulation si TransactionType a la valeur reversal : z none: aucun code de motif. z chargeback : cette transaction a été annulée en raison d'un rejet de débit de la part de votre client. z guarantee : cette transaction a été annulée car votre client a demandé à faire jouer la garantie de remboursement. z buyer-complaint : cette transaction a été annulée car votre client a déposé une réclamation concernant cette transaction. z refund : cette transaction a été annulée car vous avez remboursé le client. z other : cette transaction a été annulée pour un motif autre que celles indiquées ci-dessus. Autorisation et collecte DoAuthorization TABLEAU A.12 Paramètres DoAuthorization Paramètre Description Obligatoire ? METHOD Nom de l'API : DoAuthorization Oui TRANSACTIONID Valeur du numéro de transaction de la commande renvoyée par PayPal Oui Nombre de caractères limite : caractères d'un octet au maximum AMT Montant à autoriser Oui Limites : la valeur est un nombre positif qui ne doit excéder $10.000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule>(,) et le séparateur des milliers facultatif doit être un point (.). Non TRANSACTIONENTITY CURRENCYCODE Un code de devise à trois caractères pour une des devises répertoriées dans Non «Devises acceptées par PayPal» page 55. Par défaut : USD. 74 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Autorisation et collecte TABLEAU A.13 Champs de la réponse DoAuthorization Field Description TRANSACTIONID Numéro d'identification d'autorisation. Nombre de caractères limite 19 caractères d'un octet. Montant spécifié dans la requête. AMT DoCapture TABLEAU A.14 Paramètres DoCapture Paramètre Description Obligatoire ? METHOD Nom de l'API : DoCapture Oui AUTHORIZATIONID Numéro d'autorisation du paiement à collecter. Il s'agit du numéro de transaction renvoyé par DoExpressCheckoutPayment ou DoDirectPayment. Nombre de caractères limite : 19 caractères d'un octet au maximum. Oui AMT Montant à collecter Oui Limites : la valeur est un nombre positif qui ne doit excéder $10.000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule >(,) et le séparateur des milliers facultatif doit être un point (.). CURRENCYCODE Un code de devise à trois caractères pour une des devises répertoriées dans Non «Devises acceptées par PayPal» page 55. Par défaut : USD. COMPLETETYPE La valeur Complete "> indique s'il s'agit de la dernière collecte que vous avez l'intention d'exécuter. La valeur NotComplete indique que vous avez l'intention d'exécuter des collectes supplémentaires Oui RE MARQUE : si vous conservez la valeur Complete, tout montant restant de la transaction initiale autorisée est automatiquement annulé et toutes les autorisations ouvertes restantes sont annulées. Nombre de caractères limite : 12 caractères alphanumériques d'un octet. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 75 Liste de référence des méthodes et des champs de l'API NVP Autorisation et collecte TABLEAU A.14 Paramètres DoCapture (suite) Paramètre Description Obligatoire ? INVNUM Votre numéro de facture ou un autre numéro d'identification affiché pour le marchand ou le client dans son historique des transactions Non RE MARQUE : cette valeur de on DoCapture remplace la valeur précédemment définie pour DoAuthorization. RE MARQUE : la valeur n'est enregistrée que si l'autorisation que vous collectez est une autorisation de commande et pas une autorisation de base. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. NOTE Note d'information sur le règlement concerné, envoyée par email à l'émetteur du paiement et qui apparaît dans l'historique de ses transactions. Non Nombre de caractères limite : 255 caractères d'un octet TABLEAU A.15 Champs de la réponse DoCapture Champ Description AUTHORIZATIONID Numéro d'autorisation spécifié dans la requête. Nombre de caractères limite : 19 caractères d'un octet au maximum TRANSACTIONID Numéro de transaction unique du paiement. Nombre de caractères limite : 17 caractères d'un octet. PARENTTRANSACTIONID Numéro de transaction parent ou liée. Ce champ est rempli pour les types de transaction suivants : z Annulation. Collecte d'une transaction autorisée. z Annulation. Nouvelle autorisation d'une transaction. z Collecte d'une commande. La valeur de ParentTransactionID correspond au OrderID initial. z Autorisation d'une commande. La valeur de ParentTransactionID correspond au OrderID initial. z Collecte d'une autorisation de commande. z Annulation d'une commande. La valeur de ParentTransactionID correspond au OrderID initial. Nombre de caractères limite : 16 chiffres au format xxxx-xxxx-xxxx-xxxx RECEIPTID Numéro d'avis de réception Nombre de caractères limite : 16 chiffres au format xxxx-xxxx-xxxx-xxxx TRANSACTIONTYPE Type de transaction z cart z express-checkout Nombre de caractères limite 15 caractères d'un octet. PAYMENTTYPE Indique si le paiement est immédiat ou différé Nombre de caractères limite sept caractères d'un octet 76 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Autorisation et collecte TABLEAU A.15 Champs de la réponse DoCapture (suite) Champ Description ORDERTIME Horodatage du paiement. Exemple :2006-08-15T17:23:15Z. AMT Montant final facturé, incluant les frais d'expédition, de livraison et de TVA de vos Préférences du marchand. FEEAMT Montant de la commission de PayPal facturée pour la transaction SETTLEAMT Montant déposé sur votre compte PayPal en cas de conversion de devise TAXAMT TVA appliquée à la transaction, le cas échéant EXCHANGERATE ExTaux de change utilisé en cas de conversion de devise. S'applique uniquement si vous facturez dans la devise secondaire de l'utilisateur. Si l'utilisateur choisit de payer dans une devise autre que la devise secondaire, la conversion a lieu sur son compte. Nombre de caractères limite : multiplicateur décimal. PAYMENTSTATUS Etat du paiement. Etat du paiement : z None : aucun état. z Canceled-Reversal : indique qu'une contre-opération a été annulée. Par exemple, si un litige avec le client a été réglé en votre faveur et que les fonds de la transaction annulée vous ont été remboursés. z Completed : le paiement est terminé et les fonds ont été ajoutés au solde de votre compte. z Denied : vous avez refusé le paiement. Cela se produit si le paiement était précédemment en attente pour l'une des raisons décrites dans l'élément PendingReason. z Expired : la durée d'autorisation pour ce paiement a expiré. z Failed : le paiement a échoué. Cela se produit uniquement si le paiement a été effectué à partir du compte bancaire de votre client. z Pending : le paiement est en attente. Pour en savoir plus, reportezvous au champ PendingReason. z Refunded : vous avez remboursé le paiement. z Reversed : un paiement a été annulé en raison d'un rejet de débit ou d'un autre type de contre-opération. Les fonds ont été retirés du solde de votre compte et rendus à l'acheteur. La raison de l'annulation est spécifiée dans l'élément ReasonCode. z Processed : un paiement a été accepté. z Voided : l'autorisation pour cette transaction a été annulée. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 77 Liste de référence des méthodes et des champs de l'API NVP Autorisation et collecte DoReauthorization TABLEAU A.16 Paramètres de la requête DoReauthorization Paramètre Description Obligatoire ? METHOD Nom de l’API : DoReauthorization Oui AUTHORIZATIONID Valeur du numéro d'une transaction préalablement autorisée, renvoyée par PayPal Nombre de caractères limite : 19 caractères d'un octet au maximum Oui AMT Montant à autoriser à nouveau. Limites : la valeur est un nombre positif qui ne doit excéder $10.000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être un point (.). Oui Un code de devise à trois caractères pour une des devises répertoriées dans Non CURRENCYCODE «Devises acceptées par PayPal» page 55. Par défaut : USD. TABLEAU A.17 Champs de la réponse DoReauthorization Champ Description AUTHORIZATIONID Nouveau numéro d'autorisation Nombre de caractères limite : 19 caractères d'un octet. DoVoid TABLEAU A.18 Paramètres de la requête DoVoid Request Paramètre Description Obligatoir e? METHOD Nom de l’API : DoVoid Oui AUTHORIZATIONID Valeur du numéro d'autorisation initial renvoyée par un produit PayPal. Oui I M P O R T A N T : si vous annulez une transaction qui a fait l'objet d'une nouvelle autorisation, utilisez le numéro de l'autorisation initiale, pas celui de la nouvelle autorisation. Nombre de caractères limite : 19 caractères d'un octet NOTE 78 Note d'information sur cette annulation, envoyée par email à l'émetteur du paiement et qui apparaît dans l'historique de ses transactions. Nombre de caractères limite : 255 caractères d'un octet. Non Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP RefundTransaction TABLEAU A.19 Champs de la réponse DoVoid Champ Description AUTHORIZATIONID Numéro d'autorisation spécifié dans la requête. Nombre de caractères limite : 19 Numéro caractères d'un octet. RefundTransaction TABLEAU A.20 Paramètres de la requête RefundTransaction Paramètre Description Obligatoire ? METHOD Nom de l'appel API : RefundTransaction Oui TRANSACTIONID Identifiant unique d'une transaction. Nombre de caractères limite : 17 numéro caractères d'un octet. Oui REFUNDTYPE Type de remboursement effectué. z Autre z Full z Partial Oui AMT Montant du remboursement. Edoit être défini si RefundType is Partial. Non RE MARQUE : si RefundType a la valeur Full, ne définissez pas Amount. NOTE Mémo personnalisé concernant le remboursement. Nombre de caractères limite : 255 caractères alphanumériques d'un octet. Non TABLEAU A.21 Champs de la réponse DoRefund Champ Description REFUNDTRANSACTIONID Numéro de transaction unique du remboursement. Nombre de caractères limite : 17 Numéro caractères d'un octet. NETREFUNDAMT Montant soustrait du solde PayPal du destinataire initial du paiement pour effectuer ce remboursement. FEEREFUNDAMT Commission sur transaction remboursée au destinataire initial du paiement. GROSSREFUNDAMT Somme d'argent remboursée au payeur initial. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 79 Liste de référence des méthodes et des champs de l'API NVP TransactionSearch TransactionSearch Avec TransactionSearch vous devez toujours définir le champ StartDate. Autre comportement : z Lorsqu'elle est définie, la valeur de TransactionID remplace celles de tous les autres champs (y compris le champ StartDate obligatoire). z La définition d'autres éléments s'ajoute à l'existant ou peut modifier les critères de recherche. TransactionSearch renvoie jusqu'à 100 correspondances. Les correspondances partielles avec le système de vérification d'adresse s'affichent. Par exemple, l'attribution de la valeur « Jess » à l'élément FirstName de TransactionSearchRequest renvoie des résultats tels que « Jessica » et « Jesse ». L'élément renvoyé le plus important est TransactionID que vous pouvez transmettre à GetTransactionDetails afin de récupérer toutes les informations disponibles sur une transaction spécifique. TABLEAU A.22 Paramètres de TransactionSearch Request Paramètre Description Obligatoire METHOD Nom de l'appel API : TransactionSearch Oui STARTDATE Date de transaction la plus ancienne à partir de laquelle lancer la recherche. Oui REMAR QUE : aucun caractère générique n'est autorisé. La valeur doit être au format UTC/GMT. ENDDATE Date de transaction la plus récente à inclure dans la recherche. Non EMAIL Recherche par adresse email de l'acheteur. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non RECEIVER Recherche par adresse email du bénéficiaire. Si le compte marchand possède un seul email, celui-ci sera l'email principal. Peut également être un email autre que l'email principal. Non RECEIPTID Recherche par numéro d'avis de réception du compte PayPal facultatif. Non TRANSACTIONID Recherche par numéro de transaction. Non REMAR QUE : les résultats renvoyés proviennent des registres des transactions du marchand. Nombre de caractères limite : 19 caractères d'un octet au maximum INVNUM Recherche par clé de demande de paiement que vous avez définie pour la transaction initiale. Ce champ recherche les objets vendus par le marchand dans les registres et non les objets achetés. Non REMAR QUE : aucun caractère générique n'est autorisé. Nombre de caractères limite : 127 caractères d'un octet au maximum 80 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP TransactionSearch TABLEAU A.22 Paramètres de TransactionSearch Request (suite) Paramètre Description Obligatoire ACCT Recherche par numéro de carte bancaire que vous avez défini pour la transaction initiale. Ce champ recherche les objets vendus par le marchand dans les registres et non les objets achetés. Non REMAR QUE : aucun caractère générique n'est autorisé. Nombre de caractères limite : entre 11 et 25 caractères numériques d'un octet. Les signes de ponctuation spéciaux, par exemple les tirets ou les espaces, sont ignorés. SALUTATION Formule d'appel de l'acheteur. Nombre de caractères limite : 20 caractères d'un octet. Non FIRSTNAME Prénom de l'acheteur. Nombre de caractères limite : 25 caractères d'un octet. Non MIDDLENAME Deuxième prénom de l'acheteur. Nombre de caractères limite : 25 caractères d'un octet. Non LASTNAME Nom de l'acheteur. Nombre de caractères limite : 2025 caractères d'un octet. Non SUFFIX Suffixe du payeur. Nombre de caractères limite : 12 caractères d'un octet. Non AUCTIONITEMNUMBER Recherche par numéro d'enchère des biens achetés. Non Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 81 Liste de référence des méthodes et des champs de l'API NVP TransactionSearch TABLEAU A.22 Paramètres de TransactionSearch Request (suite) Paramètre Description Obligatoire TRANSACTIONCLASS Recherche par classification de la transaction. Non REMAR QUE : certains types de classes de transactions possibles ne peuvent pas être recherchés avec ce champ. Par exemple, vous ne pouvez pas rechercher les virements bancaires. z z z z z z z z z z z z z z z z z z z AMT 82 All : toutes les classifications de transactions Sent : uniquement les paiements envoyés Received : uniquement les paiements reçus MassPay : uniquement les paiements groupés MoneyRequest : uniquement les demandes de paiement FundsAdded : uniquement les fonds crédités au solde FundsWithdrawn : uniquement les fonds débités du solde Referral : uniquement les transactions impliquant des parrainages Fee : uniquement les transactions impliquant des commissions Subscription : uniquement les transactions impliquant des abonnements Dividend : uniquement les transactions impliquant des dividendes Billpay : uniquement les transactions impliquant des transactions BillPay Refund : uniquement les transactions impliquant des fonds CurrencyConversions : uniquement les transactions impliquant des conversions de devises BalanceTransfer : uniquement les transactions impliquant des transferts de solde Reversal : uniquement les transactions impliquant des annulations BillPay Shipping : uniquement les transactions impliquant des frais d'envoi UPS BalanceAffecting : uniquement les transactions affectant le solde du compte ECheck : uniquement les transactions impliquant des chèques électroniques Recherche par montant de transaction. Non Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP TransactionSearch TABLEAU A.22 Paramètres de TransactionSearch Request (suite) Paramètre Description Obligatoire STATUS Recherche par état de transaction : z Pending : le paiement est en attente. Le motif spécifique de mise en attente du paiement est renvoyé par le champ PendingReason de l'API GetTransactionDetails. z Processing : le paiement est en cours de traitement. z Success : le paiement est effectué et les fonds ont été ajoutés au solde de votre compte. z Denied : vous avez refusé le paiement. Cela se produit uniquement si le paiement a été précédemment mis en attente. z Reversed : un paiement a été annulé en raison d'un rejet de débit ou d'un autre type de contre-opération. Les fonds ont été retirés du solde de votre compte et rendus à l'acheteur. Non TABLEAU A.23 Champs de la réponse TransactionSearch Champ Description L_TIMESTAMPn Date et heure (au format UTC/GMT) de la transaction Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_TIMESTAMP0, L_TIMESTAMP1, et ainsi de suite. L_TIMEZONEn Fuseau horaire de la transaction Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_TIMEZONE0, L_TIMEZONE1, et ainsi de suite. L_TYPEn Type de la transaction Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_TYPE0, L_TYPE1, et ainsi de suite. L_EMAILn Adresse email du payeur ou du destinataire du paiement (le « bénéficiaire du paiement »). Si le montant du paiement est positif, ce champ indique le destinataire des fonds. S'il est négatif, ce champ indique le client qui paie. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_EMAIL0, L_EMAIL1, et ainsi de suite. L_NAMEn Affiche le nom du payeur Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_NAME0, L_NAME1, et ainsi de suite. L_TRANSACTIONIDn Numéro de transaction du vendeur Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_TRANSACTIONID0, L_TRANSACTIONID1, et ainsi de suite. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 83 Liste de référence des méthodes et des champs de l'API NVP GetTransactionDetails TABLEAU A.23 Champs de la réponse TransactionSearch (suite) Champ Description L_STATUSn Etat de la transaction. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_STATUS0, L_STATUS1, et ainsi de suite. L_AMTn Montant total hors taxe débité, y compris les frais d'expédition et de livraison et les taxes Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_AMT0, L_AMT1, et ainsi de suite. L_FEEAMTn Frais débités par PayPal pour la transaction Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_FEEAMT0, L_FEEAMT1, et ainsi de suite. L_NETAMTn Montant net de la transaction. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_NETAMT0, L_NETAMT1, et ainsi de suite. GetTransactionDetails TABLEAU A.24 Paramètres de la requête GetTransactionDetails Paramètre Description Obligatoire ? METHOD Nom de l'API : GetTransactionDetails Oui TRANSACTIONID Identifiant unique d'une transaction. Oui RE MARQUE : les détails de certains types de transactions ne peuvent pas être extraits avec GetTransactionDetails. Par exemple, vous ne pouvez pas obtenir les détails des virements bancaires. Nombre de caractères limite : 17 caractères alphanumériques d'un octet. TABLEAU A.25 Champs de la réponse GetTransactionDetails 84 Paramètre Description RECEIVERBUSINESS Adresse email ou numéro de compte du destinataire du paiement (le vendeur). Equivalent à Receiver si le paiement est envoyé au compte principal. Nombre de caractères limite : 127 caractères alphanumériques d'un octet RECEIVEREMAIL Adresse email principale du destinataire du paiement (le vendeur). Si vous êtes le destinataire du paiement et que celui-ci est envoyé à une adresse email autre que l'adresse principale, la valeur de Receiver reste votre adresse email principale. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP GetTransactionDetails TABLEAU A.25 Champs de la réponse GetTransactionDetails (suite) Paramètre Description RECEIVERID Numéro de compte unique du destinataire du paiement (le vendeur). Cette valeur est identique à celle du code parrainage du destinataire. EMAIL Adresse email du payeur. Nombre de caractères limite : 127 caractères d'un octet. PAYERID Numéro client unique. Nombre de caractères limite : 13 caractères alphanumériques d'un octet. PAYERSTATUS Etat de l'adresse email du payeur : Vérifié Non-Vérifié FIRSTNAME Prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. LASTNAME Nom du payeur. Nombre de caractères limite : 25 caractères d'un octet. MIDDLENAME Deuxième prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. PAYERBUSINESS Raison sociale du payeur. Nombre de caractères limite : 127 caractères d'un octet. SHIPTOCOUNTRYCODE Pays de résidence de l'expéditeur du paiement, indiqué par un code pays ISO 3166 à deux caractères. Nombre de caractères limite : deux caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». SALUTATION Formule d'appel du payeur. Nombre de caractères limite : 20 caractères d'un octet. SUFFIX Suffixe du payeur. Nombre de caractères limite : 12 caractères d'un octet. ADDRESSOWNER Société eBay qui gère cette adresse. ADDRESSSTATUS Etat de l'adresse enregistrée chez PayPal : None Confirmed Unconfirmed SHIPTOCITY Nom de la ville. Nombre de caractères limite : 120 caractères alphanumériques d'un octet. SHIPTONAME Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères alphanumériques d'un octet. SHIPTOPHONENUM Numéro de téléphone associé à cette adresse. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 85 Liste de référence des méthodes et des champs de l'API NVP GetTransactionDetails TABLEAU A.25 Champs de la réponse GetTransactionDetails (suite) 86 Paramètre Description SHIPTOZIP Code postal SHIPTOSTATE Etat ou province. Nombre de caractères limite : 120 caractères alphanumériques d'un octet Requis pour les adresses américaines (USA) seulement. SHIPTOSTREET Première adresse postale. Nombre de caractères limite : 300 caractères alphanumériques d'un octet. SHIPTOSTREET2 Seconde adresse postale. Nombre de caractères limite : 300 caractères alphanumériques d'un octet. PARENTTRANSACTIONID Transaction initiale à laquelle cette transaction est associée. Ce champ est rempli pour les types de transaction suivants : z Annulation z Collecte d'une transaction autorisée. z Nouvelle autorisation d'une transaction. z Collecte d'une commande. La valeur de ParentTransactionID correspond au OrderID initial. z Autorisation d'une commande. La valeur de ParentTransactionID correspond au OrderID initial. z Collecte d'une autorisation de commande. z Annulation d'une commande. La valeur de ParentTransactionID correspond au OrderID initial. Nombre de caractères limite : 19 caractères d'un octet. TRANSACTIONID Numéro de transaction de PayPal. Nombre de caractères limite : 19 caractères d'un octet. RECEIPTID Numéro d'avis de réception Nombre de caractères limite : 16 chiffres au format xxxx-xxxx-xxxx-xxxx format TRANSACTIONTYPE Type de transaction cart : transaction créée par le client via la fonction Panier de PayPal. send-money : transaction créée par le client à partir de l'onglet Paiement du site PayPal. web-accept : transaction créée par le client via les logos malins Acheter maintenant, Dons ou Enchères. subscr-*: transaction créée par le client via la fonction Abonnement. eot signifie « fin de la durée d'abonnement ». merch-pmt : paiement pré-approuvé. mass-pay: Transaction créée via MassPay. virtual-terminal : transaction créée via le terminal virtuel du marchand. PAYMENTTYPE Indique si le paiement est immédiat ou différé. Nombre de caractères limite : sept caractères d'un octet. ORDERTIME Date et heure du paiement. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP GetTransactionDetails TABLEAU A.25 Champs de la réponse GetTransactionDetails (suite) Paramètre Description AMT Montant total du paiement du client, avant soustraction des commissions sur les transactions. FEEAMT Commissions sur transaction associées au paiement. SETTLEAMT Montant déposé sur le solde principal du compte après conversion automatique de la devise (par le biais de vos Payment Receiving Preferences) ou conversion manuelle (en acceptant manuellement un paiement). Ce montant est calculé après évaluation des frais et des taxes. TAXAMT Montant des taxes pour la transaction. EXCHANGERATE Taux de change pour la transaction. PAYMENTSTATUS Etat du paiement. Etat du paiement : z None : aucun état. z Canceled-Reversal : indique qu'une contre-opération a été annulée. Par exemple, si un litige avec le client a été réglé en votre faveur et que les fonds de la transaction annulée vous ont été remboursés. z Completed : le paiement est terminé et les fonds ont été ajoutés au solde de votre compte. z Denied : vous avez refusé le paiement. Cela se produit si le paiement était précédemment en attente pour l'une des raisons décrites dans l'élément PendingReason. z Expired : la durée d'autorisation pour ce paiement a expiré. z Failed : le paiement a échoué. Cela se produit uniquement si le paiement a été effectué à partir du compte bancaire de votre client. z Pending : le paiement est en attente. Pour en savoir plus, reportez-vous au champ PendingReason. z Refunded : vous avez remboursé le paiement. z Reversed : un paiement a été annulé en raison d'un rejet de débit ou d'un autre type de contre-opération. Les fonds ont été retirés du solde de votre compte et rendus à l'acheteur. La raison de l'annulation est spécifiée dans l'élément ReasonCode. z Processed : un paiement a été accepté. z Voided : l'autorisation pour cette transaction a été annulée. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 87 Liste de référence des méthodes et des champs de l'API NVP GetTransactionDetails TABLEAU A.25 Champs de la réponse GetTransactionDetails (suite) Paramètre Description PENDINGREASON RE MARQUE : PendingReason est renvoyé dans la réponse uniquement si PaymentStatus a la valeur Pending. Motif pour lequel le paiement est en attente : z none: pas de motif de mise en attente. z address : le paiement est en attente parce que l'utilisateur n'a pas indiqué d'adresse de livraison confirmée et que vos préférences de réception de paiements sont configurées pour que vous puissiez accepter ou refuser manuellement chacun de ces paiements. Pour modifier votre préférence, accédez à la section Préférences de notification instantanée de paiement dans les Préférences de votre Préférences. z echeck : le paiement est en attente parce qu'il a été effectué par le biais d'un chèque électronique qui n'a pas encore été compensé. z intl : le paiement est en attente parce que vous détenez un compte hors des EtatsUnis et que vous ne disposez pas de système de virement. Vous devez accepter ou refuser manuellement ce paiement à partir de votre Aperçu du compte. z multi-currency : vous ne disposez pas de solde dans la devise qui vous a été envoyée et vos Préférences de réception de paiements ne sont pas configurées pour convertir automatiquement ce paiement et l'accepter. Vous devez accepter ou refuser manuellement ce paiement. z verify : le paiement est en attente parce que vous n'avez pas encore le statut Vérifié. Vous devez vérifier votre compte avant de pouvoir accepter ce paiement. z other : le paiement est en attente pour une autre raison que celles indiquées cidessus. Pour en savoir plus, contactez le Service clientèle de PayPal. 88 REASONCODE Motif d'une annulation si TransactionType a la valeur reversal : z none: aucun code de motif. z chargeback : cette transaction a été annulée en raison d'un rejet de débit de la part de votre client. z guarantee : cette transaction a été annulée car votre client a demandé à faire jouer la garantie de remboursement. z buyer-complaint : cette transaction a été annulée car votre client a déposé une réclamation concernant cette transaction. z refund : cette transaction a été annulée car vous avez remboursé le client. z other : cette transaction a été annulée pour un motif autre que celles indiquées cidessus. INVNUM Numéro de facture défini dans la transaction initiale. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. CUSTOM Champ personnalisé défini dans la transaction initiale. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. NOTE Mémo saisi par votre client dans le champ note des paiements sur site marchand de PayPal. Nombre de caractères limite : 255 caractères alphanumériques d'un octet. SALESTAX Montant des taxes débitées pour le paiement. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP GetTransactionDetails TABLEAU A.25 Champs de la réponse GetTransactionDetails (suite) Paramètre Description L_DESCn Nom de l'objet défini par vous ou saisi par le client. S'il s'agit d'une transaction effectuée via le Panier, PayPal ajoute le numéro de l'objet à la variable HTML item_name. Par exemple, item_name1, item_name2, etc. Nombre de caractères limite : 127 caractères alphanumériques d'un octet Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_DESC0, L_DESC1, et ainsi de suite. L_NUMBERn Numéro de l'objet que vous avez défini. S'il s'agit d'une transaction effectuée via le Panier, PayPal ajoute le numéro de l'objet à la variable HTML item_number. Par exemple, item_number1, item_number2, etc. Nombre de caractères limite : 127 caractères alphanumériques d'un octet Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_NUMBER0, L_NUMBER1, et ainsi de suite. L_QTYn Quantité définie par vous ou saisie par le client. Nombre de caractères limite : pas de limite. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_QTY0, L_QTY1, et ainsi de suite. L_AMTn Coût de l'objet. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_AMT0, L_AMT1, et ainsi de suite. L_OPTIONSn Options des objets PayPal pour le Panier. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_OPTIONS0, L_OPTIONS1, et ainsi de suite. SUBSCRIPTIONID Numéro généré par PayPal pour l'abonné. Nombre de caractères limite : pas de limite. SUBSCRIPTIONDATE Date de début de l'abonnement. EFFECTIVEDATE Date d'entrée en vigueur de la modification de l'abonnement. RETRYTIME Date à laquelle PayPal va à nouveau essayer le paiement d'abonnement qui a échoué. USERNAME Identifiant généré par PayPal et donné à l'abonné pour accéder à l'abonnement. Nombre de caractères limite : 64 caractères alphanumériques d'un octet PASSWORD Mot de passe généré par PayPal et donné à l'abonné pour accéder à l'abonnement. Pour des raisons de sécurité, la valeur du mot de passe est hachée. Nombre de caractères limite : 128 caractères alphanumériques d'un octet RECURRENCES Le nombre de versements qui auront lieu au tarif standard. Nombre de caractères limite : pas de limite. REATTEMPT Indique si de nouvelles tentatives doivent être effectuées en cas d'échec de paiement. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 89 Liste de référence des méthodes et des champs de l'API NVP Paiement groupé TABLEAU A.25 Champs de la réponse GetTransactionDetails (suite) Paramètre Description RECURRING Indique s'il y a une base récurrente de facturation. 1 = Oui PERIOD Durée pendant laquelle l'abonné sera débité. Nombre de caractères limite : pas de limite. BUYERID Identification d'enchère du client. CLOSINGDATE Date de clôture des enchères. MULTIITEM Compteur utilisé pour les paiements pour enchères de plusieurs objets. Paiement groupé TABLEAU A.26 Paramètres MassPay Paramètre Description Obligatoire ? METHOD Nom de l'API : MassPay Oui RECEIVERTYPE Indique comment identifier les destinataires des paiements pour tous les éléments : à l'aide de EmailAddress (L_EMAILn dans chaque objet) or by UserID (L_RECEIVERID_n dans chaque objet). Oui L_AMTn Montant du paiement. Oui CURRENCYCODE Un code de devise à trois caractères pour une des devises répertoriées dans «Devises acceptées par PayPal» page 55 Par défaut : USD. Oui L_EMAILn Adresse email du destinataire. Dépend de la RECEIVERTYPE RE MARQUE : vous devez préciser le paramètre L_EMAILn ou L_RECEIVERIDn, mais vous ne pouvez pas les associer. Utilisez uniquement l'un ou l'autre, mais pas les deux, dans la même requête. Nombre de caractères limite 127 caractères d’un octet maximum. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_EMAIL0, L_EMAIL1, Ces paramètres devraient êtreet ainsi de suite. L_RECEIVERIDn Numéro de compte unique du client PayPal. Cette valeur correspond à la valeur de PAYERID renvoyée par GetTransactionDetails. Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_RECEIVERID0, L_RECEIVERID1, Ces paramètres devraient êtreet ainsi de suite. 90 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.26 Paramètres MassPay (suite) Paramètre Description Obligatoire ? L_UNIQUEIDn Numéro de transaction spécifique permettant d'assurer le suivi dans un système comptable. Nombre de caractères limite 30 caractères d’un octet. Aucun espace n'est autorisé. Non Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_UNIQUEID0, L_UNIQUEID1, ces paramètres devraient êtreet ainsi de suite. Remarque personnalisée pour chaque destinataire. Nombre de caractères limite : 4,000 caractères alphanumériques d'un octet L_NOTEn Non Il est conseillé d’organiser ces paramètres de manière séquentielle en commençant par 0, par exemple, L_NOTE0, L_NOTE1, Ces paramètres devraient êtreet ainsi de suite. EMAILSUBJECT Ligne Objet de l'email envoyé par PayPal une fois la transaction terminée. Cette ligne est la même pour tous les destinataires.. Nombre de caractères limite : 255 caractères alphanumériques d'un octet Non TABLEAU A.27 Champs de la réponse MassPay Response Les champs de la réponse sont les champs d'en-tête de réponse standard. Voir [successResponseHeader]. Paiements récurrents SetCustomerBillingAgreement SetCustomerBillingAgreementRequest Le message SetCustomerBillingAgreementRequest se compose des champs identifiés dans Tableau A.28. TABLEAU A.28 Champs de SetCustomerBillingAgreementRequest Nom Description et type de données Obligatoire METHOD Nom de l'API : SetCustomerBillingAgreement Oui BILLINGTYPE Le type d'autorisation de facturation devant être établie entre le marchand et le client. Dans le cas de paiements récurrents, la valeur doit être RecurringPayments. Oui Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 91 Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.28 Champs de SetCustomerBillingAgreementRequest (suite) Nom Description et type de données Obligatoire DESC Description des biens ou des services associés à l'autorisation de facturation. PayPal vous recommande d'inclure dans la description un court récapitulatif des conditions générales d'autorisation de facturation. Nombre de caractères limite : 127 caractères alphanumériques d'un octet Non CUSTOM Champ d'annotation personnalisé que vous utilisez librement. Nombre de caractères limite : 256 caractères alphanumériques d'un octet Non PAYMENTTYPE Indique le type paiement PayPal dont vous avez besoin pour le paiement récurrent ou pour l'autorisation de facturation. Dans le cas de paiements récurrents, la valeur doit être InstantOnly. Non RETURNURL URL vers laquelle le navigateur du client est renvoyé après avoir choisi de payer avec PayPal. Oui RE MARQUE : PayPal recommande que la valeur corresponde à la page de vérification finale sur laquelle le client confirme l'autorisation de facturation. Nombre de caractères limite : pas de limite. CANCELURL URL vers laquelle le client est renvoyé s'il n'approuve pas l'utilisation de PayPal pour vous payer. Oui RE MARQUE : PayPal recommande que la valeur corresponde à la page initiale sur laquelle le client a choisi de payer avec PayPal ou d'établir une autorisation de facturation. Nombre de caractères limite : pas de limite. 92 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.28 Champs de SetCustomerBillingAgreementRequest (suite) Nom Description et type de données Obligatoire LOCALECODE Paramètre régional des pages affichées par PayPal pendant la procédure de paiement. Nombre de caractères limite : N'importe quel code pays de deux caractères. Les codes pays de deux caractères suivants sont pris en charge par PayPal : z AU z DE z FR z IT z GB z ES z US Toute autre valeur sera remplacée par défaut par US. Non RE MARQUE : dans le cas de paiements récurrents, le paramètre régional doit être US. RE MARQUE : pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays». PAGESTYLE Détermine le style personnalisé des pages de paiement associées à ce bouton/lien. Cette valeur correspond à la variable HTML page_style qui permet de personnaliser ces pages. La valeur est identique au nom du style choisi lors de l'ajout ou de la modification du style de page du sous-onglet Préférences de l'onglet Mon compte sur le site PayPal. Nombre de caractères limite : 30 caractères alphabétiques d'un octet. Non HDRIMG URL de l'image que vous souhaitez voir apparaître dans la partie supérieure gauche de la page de paiement. La taille maximale de l'image est de 750 pixels en largeur et de 90 pixels en hauteur. PayPal vous recommande de fournir une image stockée sur un serveur sécurisé (https). Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non HDRBORDERCOLOR Définit la couleur de bordure de l'en-tête de la page de paiement. La bordure est un périmètre de 2 pixels autour de l'espace d'en-tête, qui dispose d'une taille de 750 pixels de large sur 90 pixels de haut. Nombre de caractères limite : code couleur hexadécimal HTML de six caractères en ASCII. Non HDRBACKCOLOR Définit la couleur d'arrière-plan de l'en-tête de la page de paiement. Nombre de caractères limite : code couleur hexadécimal HTML de six caractères en ASCII. Non Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 93 Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.28 Champs de SetCustomerBillingAgreementRequest (suite) Nom Description et type de données Obligatoire PAYFLOWCOLOR Définit la couleur d'arrière-plan de la page de paiement. Nombre de caractères limite : code couleur hexadécimal HTML de six caractères en ASCII. Non EMAIL Adresse email de l'acheteur entrée pendant le paiement. PayPal utilise cette valeur pour pré-remplir la partie réservée à l'inscription pour l'adhésion à PayPal de la page de connexion PayPal. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non SetCustomerBillingAgreementResponse Le message SetCustomerBillingAgreementRequest se compose des champs identifiés dans Tableau A.29. TABLEAU A.29 Champs de SetCustomerBillingAgreementResponse Elément Description et type de données TOKEN Un jeton horodaté qui identifie cette transaction de manière unique en vue d'appels API ultérieurs. REMAR QUE : le jeton expire au bout de trois heures. Nombre de caractères limite : 20 caractères d'un octet. GetBillingAgreementCustomerDetails GetBillingAgreementCustomerDetails Request Le message GetBillingAgreementCustomerDetailsRequest se compose des champs identifiés dans Tableau A.30. TABLEAU A.30 Champs de GetBillingAgreementCustomerDetailsRequest Elément Description et type de données Obligatoire METHOD Nom de l’API : GetBillingAgreementCustomerDetails Oui TOKEN Le jeton horodaté renvoyé dans la réponse SetCustomerBillingAgreement response. Oui REMAR QUE : le jeton expire au bout de trois heures. Nombre de caractères limite : 20 Numéro caractères d'un octet. 94 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents Réponse GetBillingAgreementCustomerDetails Le message GetBillingAgreementCustomerDetailsResponse se compose des champs identifiés dans Tableau A.31 TABLEAU A.31 Champs de GetBillingAgreementCustomerDetailsResponse Elément Description et type de données EMAIL Adresse email du payeur. Nombre de caractères limite : 127 caractères d'un octet. PAYERID Numéro client unique. Nombre de caractères limite : 13 caractères alphanumériques d'un octet. PAYERSTATUS Etat de l'adresse email du payeur : Vérifié Non-Vérifié SALUTATION Formule d'appel du payeur. Nombre de caractères limite : 20 caractères d'un octet. FIRSTNAME Prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. MIDDLENAME Deuxième prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. LASTNAME Nom du payeur. Nombre de caractères limite : 25 caractères d'un octet. SUFFIX Suffixe du payeur. Nombre de caractères limite : 12 caractères d'un octet. SHIPTOCOUNTRYCODE Pays de résidence de l'expéditeur du paiement, indiqué par un code pays ISO 3166 à deux caractères. Nombre de caractères limite : deux caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’Annexe F, «Codes pays».» PAYERBUSINESS Raison sociale du payeur. Nombre de caractères limite : 127 caractères d'un octet. Adresse de livraison Reportez-vous à la section Tableau A.8 « Champs de la réponse GetExpressCheckoutDetails », page 66. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 95 Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents CreateRecurringPaymentsProfile Requête CreateRecurringPaymentsProfile Le message CreateRecurringPaymentsProfileRequest se compose des champs identifiés dans Tableau A.32. TABLEAU A.32 Requête CreateRecurringPaymentsProfile Nom Description et type de données Obligatoire METHOD Nom de l’API : CreateRecurringPaymentsProfile Oui TOKEN Jeton horodaté dont la valeur a été renvoyée par la réponse SetCustomerBillingAgreement. Oui RE MARQUE : le jeton expire au bout de trois heures. Nombre de caractères limite : 20 Numéro caractères d'un octet. SUBSCRIBERNAME Nom de la personne associée à cette adresse. Sinon, le nom spécifié dans le compte PayPal de l'abonné est utilisé. Nombre de caractères limite : 32 Numéro caractères d'un octet. Non Adresse de livraison L'adresse de livraison de l'acheteur,le cas échéant. Si l’adresse n’est pas spécifiée, l’adresse du compte PayPal de l'abonné sera utilisée. Pour en savoir plus, reportez-vous au Tableau A.5 « Adresse de livraison (facultatif) », page 64. Non Tableau A.5 « Adresse de livraison (facultatif) », page 64 RE MARQUE : l'adresse de livraison est facultative mais si vous l'incluez, certains champs doivent être saisis. PROFILESTARTDATE La date de début de facturation pour ce profil. Doit être une date valable, de format AAAA-MM-JJ. Oui RE MARQUE : l'activation des préférences peut prendre jusqu'à 24 heures. 96 PROFILEREFERENCE La référence unique ou le numéro de facture du marchand. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non DESC Description du paiement récurrent. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.32 Requête CreateRecurringPaymentsProfile (suite) Nom Description et type de données Obligatoire TRIALBILLINGPERIOD Unité de facturation pour cette période. Une des valeurs suivantes : z Day z Week z SemiMonth z Month z Year Pour créer un période d'essai TRIALBILLINGPERIOD est obligatoire. Si ce n'est pas le cas, il est également facultatif. Il est possible de créer seulement une période d'essai par préférence. Voir la description RE MARQUE : la combinaison deTRIALBILLINGPERIOD a et deTRIALBILLINGFREQUENCY ne doit pas excéder une année. TRIALBILLINGFREQUENCY Le nombre de périodes de facturation constituant un cycle de facturation. Pour créer un période d'essai , TRIALBILLINGFREQUENCY est obligatoire. Si ce n'est pas le cas, il est également facultatif. Voir la description RE MARQUE : TRIALBILLINGFREQUENCY est ignoré si TRIALBILLINGPERIOD est SemiMonth. Si TRIALBILLINGFREQUENCY est SemiMonth, la facturation est effectuée le 1er et le 15 du mois. La combinaison deTRIALBILLINGPERIOD et deTRIALBILLINGFREQUENCY ne pouvant excéder une année, les valeurs maximales de TRIALBILLINGFREQUENCY sont: z Day: 365 z Week: 52 z SemiMonth: N/A z Month: 12 z Year: 1 TRIALTOTALBILLINGCYCLES Le nombre de cycles de facturation avant que la facturation standard ne commence. z Si aucune valeur n'est spécifiée ou si la valeur est 0, la période se poursuit jusqu'à annulation ou désactivation des préférences. z Si la valeur est supérieure à 0, la période finira au terme de la période d'essai et se poursuivra à BillingFrequency pour TotalBillingCycles cycles. Pour créer un période d'essai, TRIALTOTALBILLINGCYCLES est obligatoire. Si ce n'est pas le cas, il est également facultatif. z Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 Voir la description 97 Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.32 Requête CreateRecurringPaymentsProfile (suite) Nom Description et type de données Obligatoire TRIALAMT Montant de la facturation pour chaque période. Pour créer une période d'essai, TRIALAMT est obligatoire. Si ce n'est pas le cas, il est également facultatif. Nombre de caractères limite : ne dépasse $10,000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Voir la description TRIALSHIPPINGAMT Montant de la livraison par cycle de facturation pour chaque période d'essai. Nombre de caractères limite : ne dépasse $10,000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Non TRIALTAXAMT Montant de taxe par cycle de facturation pour chaque période d'essai. Nombre de caractères limite : ne dépasse $10,000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Non BILLINGPERIOD Jeton horodaté dont la valeur a été renvoyée par la réponse SetCustomerBillingAgreement . Nombre de caractères limite : 20 scaractères d'un octet. Valeurs autorisées : Jeton non expiré Oui BILLINGFREQUENCY Le nombre de périodes de facturation constituant un cycle de facturation. Oui RE MARQUE : BILLINGFREQUENCY est ignoré si BILLINGPERIOD est SemiMonth. La combinaison de BillingPeriod et de BillingFrequency ne pouvant excéder une année, les valeurs maximales de BillingFrequency sont : z Day: 365 z Week: 52 z SemiMonth: N/A z Month: 12 z Year: 1 98 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Paiements récurrents TABLEAU A.32 Requête CreateRecurringPaymentsProfile (suite) Nom Description et type de données Obligatoire TOTALBILLINGCYCLES Le nombre de cycles de facturation avant que la facturation standard ne commence. z Si aucune valeur n'est spécifiée ou si la valeur est 0, la période se poursuit jusqu'à annulation ou désactivation des préférences. z Si la valeur est supérieure à 0, la période finira au terme de la période d'essai et se poursuivra à BillingFrequency pour TotalBillingCycles. Non AMT Montant de la facturation pour chaque période. Nombre de caractères limite : ne dépasse $10,000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Oui SHIPPINGAMT Montant des frais de livraison pour chaque période Nombre de caractères limite : ne dépasse $10,000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Non TAXAMT Montant de taxe pour chaque période. Nombre de caractères limite : ne dépasse $10,000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Non MAXFAILEDPAYMENTS Le nombre d'échecs de paiement autorisés avant que les préférences ne soient automatiquement annulées. Nombre de caractères limite : numéro de chaîne représentant un chiffre entier Non Réponse à CreateRecurringPaymentsProfile TABLEAU A.33 Réponse à CreateRecurringPaymentsProfile Champ Description PROFILEID Un identifiant unique pour toute référence ultérieure aux détails de ce paiement récurrent. Nombre de caractères limite : 20 caractères alphanumériques d'un octet Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 99 Liste de référence des méthodes et des champs de l'API NVP Transactions de référence Transactions de référence DoReferenceTransaction DoReferenceTransactionRequest TABLEAU A.34 Champs de DoReferenceTransactionRequest Nom NVP Type de données et description Obligatoire REFERENCEID Créer une nouvelle transaction à partir de n'importe lequel des éléments suivants : Oui PAYMENTACTION Mode d'obtention du paiement : z Authorization indique que ce paiement est une autorisation de base qui sera traitée par Autorisation et collecte. z Sale indique qu'il s'agit d'une vente finale pour laquelle vous demandez un paiement. Non IPADDRESS Adresse IP du navigateur du payeur. Non I M P O R T A N T : PayPal enregistre cette adresse IP afin de détecter des fraudes éventuelles. Nombre de caractères limite : 15 caractères d'un octet, y compris les points, par exemple : 255.255.255.25. 100 EMAIL Adresse email du payeur. Nombre de caractères limite : 127 caractères d'un octet. PAYERID Numéro de compte unique du client PayPal. Nombre de caractères limite:13 caractères alphanumériques d'un octet. FIRSTNAME Prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. Oui LASTNAME Nom du payeur. Nombre de caractères limite : 25 caractères d'un octet. Oui STREET Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Non CITY Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. Non STATE Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. Pour une abréviations des états ou provinces, reportez-vous à l’ «Abréviations des états ou provinces» page 57. Non Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Transactions de référence TABLEAU A.34 Champs de DoReferenceTransactionRequest (suite) Nom NVP Type de données et description Obligatoire COUNTRYCODE Code pays. Nombre de caractères limite : 2 caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’ Annexe F, «Codes pays». Non ZIP Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. Non AMT Total de la commande, incluant les frais d'expédition et de livraison, de dossier et le montant de la TVA. Oui REMAR QUE : limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être une virgule (,). Vous devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. ITEMAMT Somme des frais de tous les objets de cette commande. Limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être un point (.). Non SHIPPINGAMT Total des frais d'expédition et de livraison de cette commande. Non REMAR QUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Vous devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. HANDLINGAMT Total des frais de dossier de cette commande. Non REMAR QUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Vous devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 101 Liste de référence des méthodes et des champs de l'API NVP Transactions de référence TABLEAU A.34 Champs de DoReferenceTransactionRequest (suite) Nom NVP Type de données et description Obligatoire TAXAMT Somme des frais de TVA de tous les objets de cette commande. Non REMAR QUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. Vous devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. Le code de devise doit être le même que celui défini pour OrderTotal. DESC Description des objets achetés par le client. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non CUSTOM Champ à structure non imposée que vous utilisez librement. Nombre de caractères limite : 256 caractères alphanumériques d'un octet. Non INVNUM Votre numéro de facture ou de suivi personnel. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Non BUTTON SOURCE Code d'identification permettant aux applications tierces d'identifier les transactions. Nombre de caractères limite : 32 caractères alphanumériques d'un octet. Non NOTIFYURL Votre URL pour la réception de la Notification instantanée de paiement (NIP) concernant cette transaction. Non REMAR QUE : si vous ne spécifiez pas cette valeur dans la requête, c'est l'URL de notification de vos Préférences du marchand qui est utilisée, s'il en existe une. Nombre de caractères limite : 2 048 caractères alphanumériques d'un octet. SHIPTONAME Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères d'un octet. Oui SHIPTOSTREET Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Oui SHIPTOCITY Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. Oui SHIPTOSTATE Etat ou province. Non Nombre de caractères limite : 40 caractères d'un octet. Pour une abréviations des états ou provinces, reportez-vous à l’ «Abréviations des états ou provinces» page 57. Requis pour les adresses américaines (USA) seulement. 102 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des méthodes et des champs de l'API NVP Transactions de référence TABLEAU A.34 Champs de DoReferenceTransactionRequest (suite) Nom NVP Type de données et description Obligatoire SHIPTOZIP Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. Oui SHIPTOCOUNTRYCODE Code pays. Oui Nombre de caractères limite : 2 caractères d'un octet. Pour consulter la liste des codes pays, reportez-vous à l’ Annexe F, «Codes pays». SHIPTOSTREET2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. Non SHIPTOPHONENUM Numéro de téléphone. Nombre de caractères limite : 20 caractères d'un octet. Non L_DESCn Nom de l'objet Nombre de caractères limite : 127 caractères d'un octet. Non L_AMTn Coût de l'objet. Non REMAR QUE : nombre de caractères limite : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Quelle que soit la devise, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif un point (.). Equivalent à neuf caractères au maximum pour USD. REMAR QUE : vous devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. L_NUMBERn Numéro de l'objet. Nombre de caractères limite : 127 caractères d'un octet. Non L_QTYn Quantité d'objets. Nombre de caractères limite : n'importe quel chiffre entier positif. Non L_TAXAMTn TVA concernant l'objet. Limites : ne doit dépasser $10 000 USD dans aucune devise. Pas de symbole de devise. Doit comporter deux positions décimales, le séparateur décimal doit être une virgule (,) et le séparateur des milliers facultatif doit être une virgule (,). Le code de devise doit être le même que celui défini pour OrderTotal. Non DoReferenceTransactionResponse Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 103 Liste de référence des méthodes et des champs de l'API NVP Transactions de référence 104 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) B Liste de référence des messages d'erreur Ce chapitre inventorie les messages d'erreur de l'API Format des réponses d'erreur Si la valeur ACK est Error ou Warning, des champs de réponse spécifiques de l'API ne sont pas renvoyés. Une réponse d'erreur se présente sous le format général suivant TABLEAU B.1 Format d'une réponse d'erreur Champs de la réponse sur l'erreur ACK=Error&TIMESTAMP=date/timeOfResponse &CORRELATIONID=debuggingToken&VERSION=2.300000 &BUILD=buildNumber&L_ERRORCODE0=errorCode& L_SHORTMESSAGE0=shortMessage &L_LONGMESSAGE0=longMessage&L_SEVERITYCODE0=severityCode Il est possible que des erreurs multiples soient renvoyées. Chaque groupe d'erreur est caractérisé par un suffixe numérique différent, en commençant par 0 et incrémenté d'une unité à chaque erreur. Erreurs de validation TABLEAU B.1 Erreurs de validation Code d'erreur Message court Message long 81000 Missing Parameter Le paramètre requis est manquant : impossible d'identifier le paramètre 81001 Invalid Parameter Un paramètre est incorrecte : impossible d'identifier le paramètre 81002 Unspecified Method Méthode spécifiée non prise en charge 81003 Unspecified Method Aucune méthode spécifiée 81004 Unspecified Method Aucune requête reçue 81100 Missing Parameter OrderTotal (Amt) : le paramètre requis est manquant 81101 Missing Parameter MaxAmt : le paramètre requis est manquant 81102 Missing Parameter ReturnURL: le paramètre requis est manquant Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 105 Liste de référence des messages d'erreur Erreurs de validation TABLEAU B.1 Erreurs de validation (suite) 106 Code d'erreur Message court Message long 81103 Missing Parameter NotifyURL : le paramètre requis est manquant 81104 Missing Parameter CancelURL : le paramètre requis est manquant 81105 Missing Parameter ShipToStreet : le paramètre requis est manquant 81106 Missing Parameter ShipToStreet2 : le paramètre requis est manquant 81107 Missing Parameter ShipToCity : le paramètre requis est manquant 81108 Missing Parameter ShipToState : le paramètre requis est manquant 81109 Missing Parameter ShipToZip : le paramètre requis est manquant 81110 Missing Parameter Country : le paramètre requis est manquant 81111 Missing Parameter ReqConfirmShipping : le paramètre requis est manquant 81112 Missing Parameter NoShipping : le paramètre requis est manquant 81113 Missing Parameter AddrOverride : le paramètre requis est manquant 81114 Missing Parameter LocaleCode : le paramètre requis est manquant 81115 Missing Parameter PaymentAction : le paramètre requis est manquant 81116 Missing Parameter Email : le paramètre requis est manquant 81117 Missing Parameter Token : le paramètre requis est manquant 81118 Missing Parameter PayerID : le paramètre requis est manquant 81119 Missing Parameter ItemAmt : le paramètre requis est manquant 81120 Missing Parameter ShippingAmt : le paramètre requis est manquant 81121 Missing Parameter HandlingTotal Amt : le paramètre requis est manquant 81122 Missing Parameter TaxAmt : le paramètre requis est manquant 81123 Missing Parameter IPAddress : le paramètre requis est manquant 81124 Missing Parameter ShipToName : le paramètre requis est manquant 81125 Missing Parameter L_Amt : le paramètre requis est manquant 81126 Missing Parameter Amt : le paramètre requis est manquant 81127 Missing Parameter L_TaxAmt : le paramètre requis est manquant 81128 Missing Parameter AuthorizationID : le paramètre requis est manquant 81129 Missing Parameter CompleteType : le paramètre requis est manquant 81130 Missing Parameter CurrencyCode : le paramètre requis est manquant 81131 Missing Parameter TransactionID : le paramètre requis est manquant Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de validation TABLEAU B.1 Erreurs de validation (suite) Code d'erreur Message court Message long 81132 Missing Parameter TransactionEntity : le paramètre requis est manquant 81133 Missing Parameter Acct : le paramètre requis est manquant 81134 Missing Parameter ExpDate : le paramètre requis est manquant 81135 Missing Parameter FirstName : le paramètre requis est manquant 81136 Missing Parameter LastName : le paramètre requis est manquant 81137 Missing Parameter Street : le paramètre requis est manquant 81138 Missing Parameter Street2 : le paramètre requis est manquant 81139 Missing Parameter City : le paramètre requis est manquant 81140 Missing Parameter State : le paramètre requis est manquant 81141 Missing Parameter Zip : le paramètre requis est manquant 81142 Missing Parameter CountryCode : le paramètre requis est manquant 81143 Missing Parameter RefundType : le paramètre requis est manquant 81144 Missing Parameter StartDate : le paramètre requis est manquant 81145 Missing Parameter EndDate : le paramètre requis est manquant 81146 Missing Parameter MPID : le paramètre requis est manquant 81147 Missing Parameter CreditCardType : le paramètre requis est manquant 81148 Missing Parameter User : le paramètre requis est manquant 81149 Missing Parameter Pwd : le paramètre requis est manquant 81150 Missing Parameter Version : le paramètre requis est manquant 81200 Invalid Parameter Amt : paramètre incorrect 81201 Invalid Parameter MaxAmt : paramètre incorrect 81203 Invalid Parameter NotifyURL : paramètre incorrect 81205 Invalid Parameter ShipToStreet : paramètre incorrect 81206 Invalid Parameter ShipToStreet2 : paramètre incorrect 81207 Invalid Parameter ShipToCity : paramètre incorrect 81208 Invalid Parameter ShipToState : paramètre incorrect 81209 Invalid Parameter ShipToZip : paramètre incorrect 81210 Invalid Parameter Country : paramètre incorrect 81211 Invalid Parameter ReqConfirmShipping : paramètre incorrect Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 107 Liste de référence des messages d'erreur Erreurs de validation TABLEAU B.1 Erreurs de validation (suite) 108 Code d'erreur Message court Message long 81212 Invalid Parameter Noshipping : paramètre incorrect 81213 Invalid Parameter AddrOverride : paramètre incorrect 81214 Invalid Parameter LocaleCode : paramètre incorrect 81215 Invalid Parameter PaymentAction : paramètre incorrect 81219 Invalid Parameter ItemAmt : paramètre incorrect 81220 Invalid Parameter ShippingAmt : paramètre incorrect 81221 Invalid Parameter HandlingTotal Amt : paramètre incorrect 81222 Invalid Parameter TaxAmt : paramètre incorrect 81223 Invalid Parameter IPAddress : paramètre incorrect 81224 Invalid Parameter ShipToName : paramètre incorrect 81225 Invalid Parameter L_Amt : paramètre incorrect 81226 Invalid Parameter Amt : paramètre incorrect 81227 Invalid Parameter L_TaxAmt : paramètre incorrect 81229 Invalid Parameter CompleteType : paramètre incorrect 81230 Invalid Parameter CurrencyCode : paramètre incorrect 81232 Invalid Parameter TransactionEntity : paramètre incorrect 81234 Invalid Parameter ExpDate : paramètre incorrect 81235 Invalid Parameter FirstName : paramètre incorrect 81236 Invalid Parameter LastName : paramètre incorrect 81237 Invalid Parameter Street : paramètre incorrect 81238 Invalid Parameter Street2 : paramètre incorrect 81239 Invalid Parameter City : paramètre incorrect 81243 Invalid Parameter RefundType : paramètre incorrect 81244 Invalid Parameter StartDate : paramètre incorrect 81245 Invalid Parameter EndDate : paramètre incorrect 81247 Invalid Parameter CreditCardType : paramètre incorrect 81248 Invalid Parameter Username : paramètre incorrect 81249 Invalid Parameter Password : paramètre incorrect 81250 Invalid Parameter Version : paramètre incorrect Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs d'API générales TABLEAU B.1 Erreurs de validation (suite) Code d'erreur Message court Message long 81251 Internal Error Erreur de service interne Erreurs d'API générales TABLEAU B.2 Erreurs d'API générales Code d'erreur Message court 10002 Authentication /Authorization Failed L'identifiant ou le mot de passe est incorrect 10002 Authentication /Authorization Failed Vous ne disposez pas des permissions requises pour effectuer cet appel API 10002 Authentication /Authorization Failed Le compte est verrouillé ou inactif 10002 Internal Error Erreur interne 10002 Authentication /Authorization Failed Erreur interne 10002 Authentication /Authorization Failed Le compte n'est pas vérifié 10002 Authentication /Authorization Failed Cet appel n'est pas défini dans la base de données 10002 Authentication /Authorization Failed Le jeton n'est pas valable Message long Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 Traitement de cette erreur Cette erreur peut être due à un identifiant API, un mot de passe API ou une signature API incorrect(e). Vérifiez que ces trois valeurs sont correctes. Pour votre sécurité, PayPal ne précise pas laquelle de ces trois valeurs est incorrecte. 109 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.2 Erreurs d'API générales (suite) Code d'erreur Message court 10002 Restricted account Le compte a un accès restreint 10002 Authentication /Authorization Failed Le jeton n'est pas valable 10002 Authentication /Authorization Failed L'accès à l'API est désactivé pour ce compte 10002 Authentication /Authorization Failed Le certificat du client est désactivé 10002 Restricted account Le compte a un accès restreint Message long Traitement de cette erreur Votre compte marchand PayPayl restreint. Contactez votre chargé de compte PayPal pour résoudre ce problème. Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout 110 Code d'erreur Message court 10001 ButtonSource value truncated. Impossible de charger la transaction 10001 Internal Error Erreur interne 10004 Transaction refused because of an invalid argument. See additional error messages for details. Transaction refusée à cause d'un argument incorrect. Pour en savoir plus, reportez-vous aux messages d'erreur supplémentaires. Message long Traitement de cette erreur… Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) Code d'erreur Message court 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10102 PaymentActio n of Order Temporarily Unavailable L'élément PaymentAction défini sur Order est temporairement indisponible. Veuillez essayer ultérieurement ou utiliser une autre valeur PaymentAction. 10103 Please use another Solution Type. Votre type de solution est momentanément indisponible. Si possible, veuillez utiliser un autre type de solution. 10402 Authorization only is not allowed for merchant. Ce compte marchand n'a pas le droit de définir PaymentAction sur Authorization. Veuillez contacter le Service clientèle. 10404 Transaction refused because of an invalid argument. See additional error messages for details. ReturnURL manquant. 10405 Transaction refused because of an invalid argument. See additional error messages for details. CancelURL manquant. Message long Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 Traitement de cette erreur… 111 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) 112 Code d'erreur Message court 10407 Transaction refused because of an invalid argument. See additional error messages for details. Adresse email de l'acheteur (BuyerEmail) incorrecte. 10409 You're not authorized to access this info. Le jeton de Paiement express PayPal a été émis pour un compte marchand autre que le vôtre. 10410 Invalid token Jeton incorrect. Message long Traitement de cette erreur… Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) Code d'erreur Message court 10411 This Express Checkout session has expired. Message long Cette session de Paiement express PayPal a expiré. La valeur du jeton n'est plus valable. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 Traitement de cette erreur… Le jeton renvoyé par SetExpressCheckoutRes ponse expire au bout de trois heures. Si vous essayez d'envoyer DoExpressCheckoutPaym ent après ce délai, vous recevez un code d'erreur 10411 dans la réponse DoExpressCheckoutPaym ent. Si vous recevez cette erreur, vous devez renvoyer votre client vers PayPal pour qu'il en réapprouve l'utilisation. Affichez un message d'erreur informant le client que la transaction a expiré et fournissez un bouton permettant de retourner à PayPal. Dans ce cas, vous redémarrez en fait la totalité de la procédure de paiement. (Ne réutilisez pas la valeur du jeton ayant expiré dans SetExpressCheckoutReq uest.) Toutefois, comme vous connaissez déjà la valeur finale de OrderTotal, n'oubliez pas d'en actualiser la valeur, le cas échéant. Vous devrez peut-être aussi actualiser la valeur de ReturnURL et de CancelURL, si nécessaire. 113 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) 114 Code d'erreur Message court Message long Traitement de cette erreur… 10412 Duplicate invoice Un paiement a déjà été effectué pour cet élément InvoiceID. PayPal s'assure que les valeurs de InvoiceID sont uniques pour chaque marchand. Si vous envoyez une valeur de InvoiceID déjà associée à une autre transaction dans le système PayPal, PayPal renvoie le code d'erreur 10412. Vous ne pourrez peut-être pas corriger cette erreur pendant une procédure de paiement. Si vous recevez cette erreur, recherchez-en la cause et modifiez votre intégration de Paiement express PayPal de façon à générer des numéros de demande de paiement uniques. 10415 Transaction refused because of an invalid argument. See additional error messages for details. Une transaction a déjà été réalisée pour ce jeton. PayPal autorise un jeton une seule fois par transaction. Traitement de cette erreur Si vos clients ont tendance à cliquer deux fois sur le bouton « Passer commande », PayPal vous recommande de le désactiver après avoir cliqué dessus. 10425 Express Checkout has been disabled for this merchant. La fonction Paiement express PayPal a été désactivée pour ce marchand. Veuillez contacter le Service clientèle. 10432 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de InvoiceID dépasse la longueur maximale autorisée. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) Code d'erreur Message court 10433 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de l'élément OrderDescription est tronquée. 10434 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de l'élément Custom est tronquée. 10436 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de PageStyle dépasse la longueur maximale autorisée. 10437 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-image dépasse la longueur maximale autorisée. 10438 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-image dépasse la longueur maximale autorisée. Message long Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 Traitement de cette erreur… 115 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) 116 Code d'erreur Message court 10439 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-image dépasse la longueur maximale autorisée. 10440 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-image dépasse la longueur maximale autorisée. 10471 Transaction refused because of an invalid argument. See additional error messages for details. ReturnURL: Paramètre incorrect 10472 Transaction refused because of an invalid argument. See additional error messages for details. CancelURL incorrect. 10537 Risk Control Country Filter Failure La transaction a été refusée car le pays est interdit dans vos paramètres de contrôle des risques pour les pays sous surveillance. 10538 Risk Control Max Amount Failure La transaction a été refusée car le montant maximum a été dépassé dans vos paramètres de contrôle des risques pour le montant maximum. Message long Traitement de cette erreur… Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.3 Erreurs de l'API SetExpressCheckout (suite) Code d'erreur Message court Traitement de cette erreur… 10539 Payment declined by your Risk Controls settings: PayPal Risk Model. Paiement rejeté par vos paramètres de contrôle des risques : modèle PayPal de gestion des risques. 10725 Shipping Address Country Error Une erreur s'est produite dans le champ indiquant le pays livraison 10727 Shipping Address1 Empty Le champ Adresse de livraison1 doit être rempli. 10728 Shipping Address City Empty Le champ Ville de livraison doit être rempli. 10729 Shipping Address State Empty Le champ Etat de livraison doit être rempli. 10730 Shipping Address Postal Code Empty Le champ Code postal de livraison doit être rempli. 10731 Shipping Address Country Empty Le champ Pays de livraison doit être rempli. 10736 Shipping Address Invalid City State Postal Code Incompatibilité entre la ville, l'état et le code postale de l'adresse de livraison. Message long TABLEAU B.4 Erreurs de l'API GetExpressCheckoutDetails Code d'erreur Message court Message long 10001 Internal Error Erreur interne 10001 Internal Error La transaction a échoué en raison d'une erreur interne Traitement de cette erreur… Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 117 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.4 Erreurs de l'API GetExpressCheckoutDetails (suite) 118 Code d'erreur Message court 10001 ButtonSource value truncated. Impossible de charger la transaction 10001 ButtonSource value truncated. Impossible de charger la transaction 10004 Transaction refused because of an invalid argument. See additional error messages for details. Transaction refusée à cause d'un argument incorrect. Pour en savoir plus, reportez-vous aux messages d'erreur supplémentaires. 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect 10004 Invalid transaction type Vous ne pouvez pas accéder aux détails de ce type de transaction 10004 Transaction refused because of an invalid argument. See additional error messages for details. Impossible de charger la transaction 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect Message long Traitement de cette erreur… Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.4 Erreurs de l'API GetExpressCheckoutDetails (suite) Code d'erreur Message court 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10007 Permission denied Vous ne disposez pas des permissions requises pour accéder aux détails de cette transaction 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10408 Express Checkout token is missing. Le jeton de Paiement express PayPal est manquant. 10409 You're not authorized to access this info. Le jeton de Paiement express PayPal a été émis pour un compte marchand autre que le vôtre. 10410 Invalid token Jeton incorrect. 10411 This Express Checkout session has expired. Cette session de Paiement express PayPal a expiré. La valeur du jeton n'est plus valable. Message long Traitement de cette erreur… TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment Code d'erreur Message court 10001 Internal Error La transaction a échoué en raison d'une erreur interne 10001 Internal Error Indique qu'une erreur interne s'est produite. Il est possible que le numéro de transaction soit incorrect 10001 ButtonSource value truncated. Impossible de charger la transaction 10001 Internal Error Erreur interne Message long Traitement de cette erreur… Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 119 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) 120 Code d'erreur Message court 10004 Transaction refused because of an invalid argument. See additional error messages for details. Transaction refusée à cause d'un argument incorrect. Pour en savoir plus, reportez-vous aux messages d'erreur supplémentaires. 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10406 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de PayerID est incorrecte. 10408 Express Checkout token is missing. Le jeton de Paiement express PayPal est manquant. 10409 You're not authorized to access this info. Le jeton de Paiement express PayPal a été émis pour un compte marchand autre que le vôtre. 10410 Invalid token Jeton incorrect. 10411 This Express Checkout session has expired. Cette session de Paiement express PayPal a expiré. La valeur du jeton n'est plus valable. Message long Traitement de cette erreur… Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) Code d'erreur Message court Message long 10412 Duplicate invoice Un paiement a déjà été effectué pour cet élément InvoiceID. 10413 Transaction refused because of an invalid argument. See additional error messages for details. Les montants totaux des objets du panier ne correspondent pas aux montants de la commande. 10414 Transaction refused because of an invalid argument. See additional error messages for details. Le montant dépasse le montant maximum autorisé pour une seule transaction. 10415 Transaction refused because of an invalid argument. See additional error messages for details. Une transaction a déjà été réalisée pour ce jeton. 10416 Transaction refused because of an invalid argument. See additional error messages for details. Vous avez dépassé le nombre maximum de tentatives de paiement pour ce jeton. Traitement de cette erreur… Si vous incluez la valeur des éléments suivants avec DoExpressCheckoutPayment, la somme de leurs valeurs doit être égale à la valeur de OrderTotal. z ItemTotal z ShippingTotal z HandlingTotal z TaxTotal Si vous recevez cette erreur, recherchez-en la cause et modifiez votre intégration de Paiement express PayPal de façon à obtenir la somme correcte de ces valeurs. Vous pouvez envoyer 10 appels API DoExpressCheckoutPayment au maximum pour une valeur de jeton unique, après quoi ce jeton n'est plus valable. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 121 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) 122 Code d'erreur Message court 10417 Message long Traitement de cette erreur… Transaction cannot complete. La transaction ne peut pas s'effectuer. Demandez au client d'utiliser un autre mode de paiement. Il est possible que le mode de paiement choisi par le client sur PayPal ne soit pas accepté lorsque vous envoyez DoExpressCheckoutPayment. Dans la plupart des cas, la banque a refusé d'autoriser la carte bancaire du client. Il se peut aussi, mais plus rarement, que la valeur finale de OrderTotal soit nettement supérieure à la valeur estimée de OrderTotal que vous avez envoyée avec SetExpressCheckout au point d'intégration 1 et que la valeur finale de OrderTotal soit refusée par l'analyse du modèle PayPal de gestion des risques. Si aucune autre source d'approvisionnement PayPal du client n'est acceptable, la réponse DoExpressCheckoutPayment renvoie le code d'erreur 10417. Informez le client que PayPal ne peut pas traiter le paiement et réaffichez les autres modes de paiement avec lesquels il peut payer. 10418 Transaction refused because of an invalid argument. See additional error messages for details. Les devises des montants du panier doivent être identiques. 10419 Express Checkout PayerID is missing. L'élément PayerID de Paiement express PayPal est manquant. 10420 Transaction refused because of an invalid argument. See additional error messages for details. L'élément PaymentAction de Paiement express PayPal est manquant. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) Code d'erreur Message court 10421 Message long Traitement de cette erreur… This Express Checkout session belongs to a different customer. Cette session de Paiement express PayPal appartient à un autre client. Non-concordance de la valeur de Token. Lorsque votre client se connecte à PayPal, la valeur de PayerID de PayPal est associée au jeton de Paiement express PayPal. Cette erreur est due au mélange de jetons pour deux PayerID différents. Les valeurs de Token et PayerID renvoyées pour un client par GetExpressCheckoutDetails response doivent être identiques à celles que vous avez envoyées avec DoExpressCheckoutPayment. Vérifiez que vos programmes associent correctement les éléments Token et PayerID. 10422 Customer must choose new funding sources. Le client doit revenir à PayPal pour sélectionner de nouvelles sources d'approvisionnement. Il est possible que le mode de paiement choisi par le client sur PayPal ne soit pas accepté lorsque vous envoyez une requête DoExpressCheckoutPayment. Si le client dispose d'une source d'approvisionnement susceptible d'être acceptée, la réponse DoExpressCheckoutPayment renvoie le code d'erreur 10422 pour que vous le redirigiez vers PayPal. 10423 Transaction refused because of an invalid argument. See additional error messages for details. Cette transaction ne peut pas s'effectuer avec PaymentAction défini sur Authorization. Cette erreur se produit si au point d'intégration 1, vous avez défini PaymentAction sur Sale avec SetExpressCheckout request mais qu'au point d'intégration 3, vous avez défini PaymentAction sur Authorization avec DoExpressCheckoutPayment. PayPal n'autorise pas ce passage de Sale à Authorization dans une même session de paiement. Néanmoins, PayPal autorise l'inverse. Vous pouvez définir PaymentAction sur Authorization avec SetExpressCheckout au point d'intégration 1 et faire passer PaymentAction sur Sale avec DoExpressCheckoutPayment au point d'intégration 3. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 123 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) 124 Code d'erreur Message court 10424 Message long Traitement de cette erreur… Transaction refused because of an invalid argument. See additional error messages for details. L'adresse de livraison est incorrecte. Si vous recevez ce message d'erreur, PayPal vous recommande de renvoyer votre client vers PayPal pour qu'il consulte et approuve de nouvelles sources d'approvisionnement correctes. Bien que cette erreur se produise rarement, pensez à la récupérer afin d'afficher un message auprès du client décrivant ce qu'il s'est passé, avec un bouton ou un lien permettant de revenir vers PayPal. Pour connaître les règles de ce calcul, consultez le chapitre concernant les pratiques recommandées dans le Guide d'intégration de Paiement express PayPal. 10426 Transaction refused because of an invalid argument. See additional error messages for details. Le total des objets est incorrect. 10427 Transaction refused because of an invalid argument. See additional error messages for details. Le total de la livraison est incorrect. 10428 Transaction refused because of an invalid argument. See additional error messages for details. Le total des frais de dossier est incorrect. 10429 Transaction refused because of an invalid argument. See additional error messages for details. Le total de la TVA est incorrect. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) Code d'erreur Message court Message long 10431 Item amount is invalid. Le montant des objets est incorrect. 10432 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de InvoiceID dépasse la longueur maximale autorisée. 10433 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de l'élément OrderDescription est tronquée. 10434 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de l'élément Custom est tronquée. 10435 Transaction refused because of an invalid argument. See additional error messages for details. Le client n'a pas encore confirmé de paiement pour cette session de Paiement express PayPal. 10441 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de NotifyURL dépasse la longueur maximale autorisée. Traitement de cette erreur… Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 125 Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) 126 Code d'erreur Message court Message long 10442 ButtonSource value truncated. La valeur de l'élément ButtonSource dépasse la longueur maximale autorisée. 10443 Transaction refused because of an invalid argument. See additional error messages for details. Cette transaction ne peut pas s'effectuer avec PaymentAction défini sur Order. 10444 Transaction refused because of an invalid argument. See additional error messages for details. La devise spécifiée pour la transaction doit être identique à celle définie précédemment. 10445 This transaction cannot be processed at this time. Please try again later. Impossible de traiter maintenant cette transaction. Veuillez réessayer ultérieurement. 10446 Unconfirmed email Un email confirmé est nécessaire pour effectuer cet appel API. 10474 Invalid Data Impossible de traiter cette transaction. Le code pays de l'adresse d'expédition doit correspondre au pays de résidence de l'acheteur. 10537 Risk Control Country Filter Failure La transaction a été refusée car le pays est interdit dans vos paramètres de contrôle des risques pour les pays sous surveillance. Traitement de cette erreur… L'acheteur sélectionne le pays de résidence lorsqu'il ouvre son compte PayPal. Le pays de résidence s'affiche après le tiret dans le titre de la page Aperçu du compte. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiement express PayPal TABLEAU B.5 Erreurs de l'API DoExpressCheckoutPayment (suite) Code d'erreur Message court 10538 Risk Control Max Amount Failure La transaction a été refusée car le montant maximum a été dépassé dans vos paramètres de contrôle des risques pour le montant maximum. 10539 Payment declined by your Risk Controls settings: PayPal Risk Model. Paiement rejeté par vos paramètres de contrôle des risques : modèle PayPal de gestion des risques. 10725 Shipping Address Country Error Une erreur s'est produite dans le champ indiquant le pays livraison 10727 Shipping Address1 Empty Le champ Adresse de livraison1 doit être rempli. 10728 Shipping Address City Empty Le champ Ville de livraison doit être rempli. 10729 Shipping Address State Empty Le champ Etat de livraison doit être rempli. 10730 Shipping Address Postal Code Empty Le champ Code postal de livraison doit être rempli. 10731 Shipping Address Country Empty Le champ Pays de livraison doit être rempli. 10736 Shipping Address Invalid City State Postal Code Incompatibilité entre la ville, l'état et le code postale de l'adresse de livraison. Message long Traitement de cette erreur… Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 127 Liste de référence des messages d'erreur Erreurs de l'API Autorisation et collecte Erreurs de l'API Autorisation et collecte TABLEAU B.6 Messages d'erreur de l'API Autorisation et collecte 128 Code d'erreur Message court Message long Renvoyé par l'appel API... Traitement de cette erreur… 10001 Internal Error Erreur interne 10001 Internal Error La transaction a échoué en raison d'une erreur interne 10004 Internal Error Argument incorrect 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10009 Transaction refused Le compte est verrouillé ou inactif 10010 Transaction refused because of an invalid argument. See additional error messages for details. Argument incorrect. 10600 Authorization voided. L'autorisation est annulée. DoAuthorization DoCapture DoReauthorization DoVoid Fermez la commande ou l'autorisation. 10601 Authorization expired. L'autorisation a expiré. DoAuthorization DoCapture DoReauthorization DoVoid Fermez la commande ou l'autorisation. 10602 Authorization completed. L'autorisation est déjà terminée. DoAuthorization DoCapture DoReauthorization DoVoid Fermez la commande ou l'autorisation. Relancez la requête ultérieurement ou fermez la commande. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Autorisation et collecte TABLEAU B.6 Messages d'erreur de l'API Autorisation et collecte (suite) Code d'erreur Message court Message long Renvoyé par l'appel API... Traitement de cette erreur… 10603 The buyer is restricted. Le compte de l'acheteur a un accès restreint. DoAuthorization DoCapture DoReauthorization DoVoid Contactez l'acheteur. 10604 Authorization must include both buyer and seller. La transaction d'autorisation ne peut pas être unilatérale. Elle doit inclure l'acheteur et le vendeur pour former une autorisation. DoAuthorization Vérifiez dans la commande que le client et le vendeur sont tous deux membres de PayPal. 10605 Unsupported currency. Nous n'acceptons pas cette devise. DoAuthorization DoCapture Réessayez la requête avec une devise acceptée par PayPal. 10606 Buyer cannot pay. Transaction rejetée, veuillez contacter l'acheteur. DoAuthorization DoCapture DoReauthorization Contactez l'acheteur. 10607 Auth&Capture unavailable. La fonction Autorisation et collecte est indisponible. DoAuthorization DoCapture DoReauthorization DoVoid Contactez le Service clientèle de PayPal. 10608 Funding source missing. La source d'approvisionnement est manquante. DoAuthorization DoCapture DoReauthorization Contactez l'acheteur. 10609 Invalid transactionID. Le numéro de transaction est incorrect. DoAuthorization DoCapture DoReauthorization DoVoid Vérifiez la validité du numéro d'autorisation et réessayez la requête. 10610 Amount limit exceeded. Le montant spécifié est supérieur à la limite autorisée. DoAuthorization DoCapture DoReauthorization Réessayez la requête en indiquant un montant inférieur. 10611 Not enabled. La fonction Autorisation et collecte n’est pas activée pour le marchand. Contactez le Service clientèle. DoAuthorization DoCapture DoReauthorization Contactez le Service clientèle de PayPal. 10612 No more settlement. Le nombre maximum de règlements autorisés a été atteint. Pas d'autres règlements pour l'autorisation. DoCapture Fermez la commande. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 129 Liste de référence des messages d'erreur Erreurs de l'API Autorisation et collecte TABLEAU B.6 Messages d'erreur de l'API Autorisation et collecte (suite) 130 Code d'erreur Message court Message long Renvoyé par l'appel API... Traitement de cette erreur… 10613 Currency mismatch. La devise de collecte doit être identique à la devise d'autorisation. DoCapture Vérifiez que les devises sont identiques et réessayez la requête. 10614 Cannot void reauth. Vous ne pouvez annuler que l'autorisation initiale, mais pas une nouvelle autorisation. DoVoid Annulez l'autorisation. 10615 Cannot reauth reauth. Vous ne pouvez autoriser à nouveau que l'autorisation initiale, mais pas une nouvelle autorisation. DoReauthorization Collectez la nouvelle autorisation. 10616 Maximum number of reauthorization allowed for the auth is reached. Le nombre maximum de nouvelles autorisations permises pour l'autorisation est atteint. DoReauthorization Collectez ou fermez l'autorisation. 10617 Reauthorizatio n not allowed. La nouvelle autorisation n'est pas permise dans la période de validité. DoReauthorization Collectez l'autorisation ou la nouvelle autorisation en dehors de la période de validité. 10618 Transaction already voided or expired. La transaction est déjà annulée ou a expiré. DoAuthorization DoCapture DoReauthorization DoVoid Fermez la commande ou l'autorisation. 10619 Invoice ID value exceeds maximum allowable length. La valeur de InvoiceID dépasse la longueur maximale autorisée. DoCapture Vérifiez la longueur du numéro de demande de paiement et réessayez la requête. 10620 Order has already been voided, expired or completed. La commande est déjà annulée, a expiré ou est terminée. DoAuthorization DoCapture DoVoid Fermez cette commande. 10621 Order has expired. La commande a expiré. DoAuthorization DoCapture DoVoid Fermez cette commande. 10622 Order is voided. La commande est annulée. DoAuthorization DoCapture DoVoid Fermez cette commande. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Autorisation et collecte TABLEAU B.6 Messages d'erreur de l'API Autorisation et collecte (suite) Code d'erreur Message court Message long Renvoyé par l'appel API... Traitement de cette erreur… 10623 Maximum number of authorization allowed for the order is reached. Le nombre maximum d'autorisations permises pour la commande est atteint. DoAuthorization DoCapture DoReauthorization DoVoid Collectez cette commande. 10624 Duplicate invoice. Un paiement a déjà été effectué pour cet élément InvoiceID. DoAuthorization Vérifiez le numéro de demande de paiement et réessayez la requête. 10625 Transaction refused because of an invalid argument. See additional error messages for details. Le montant dépasse le montant maximum autorisé pour une seule transaction. DoAuthorization DoCapture DoReauthorization Réessayez la requête en indiquant un montant inférieur. 10626 Risk. Transaction refusée en raison du modèle de gestion des risques. DoAuthorization DoCapture DoReauthorization Contactez l'acheteur. 10627 Transaction refused because of an invalid argument. See additional error messages for details. Le champ InvoiceID n'est pas accepté pour les autorisations de base. DoAuthorization DoReauthorization DoVoid Le champ InvoiceID ne peut être utilisé qu'avec DoCapture. 10628 This transaction cannot be processed at this time. Please try again later. Impossible de traiter maintenant cette transaction. Veuillez réessayer ultérieurement. DoAuthorization DoCapture DoReauthorization DoVoid Réessayez la requête ultérieurement. 10629 Reauthorizatio n not allowed. La nouvelle autorisation n'est pas permise pour ce type d'autorisation. DoReauthorization Utilisez DoAuthorization pour autoriser la commande. 10630 Item amount is invalid. Le montant des objets est incorrect. DoAuthorization DoCapture Vérifiez que le montant des objets n'a pas la valeur zéro ou une valeur négative. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 131 Liste de référence des messages d'erreur Erreurs de l'API RefundTransaction TABLEAU B.6 Messages d'erreur de l'API Autorisation et collecte (suite) Code d'erreur Message court Message long 11094 This authorization cannot be voided, reauthorized, or captured against. Cette autorisation ne peut être gérée que dans l'environnement de création. Il est impossible de l'annuler, de l'autoriser à nouveau ou de la collecter. Renvoyé par l'appel API... Traitement de cette erreur… Erreurs de l'API RefundTransaction TABLEAU B.7 Erreurs de l'API RefundTransaction 132 Code d'erreur Message court Message long 10001 Internal Error Erreur interne 10001 Internal Error Indique qu'une erreur interne s'est produite. Il est possible que le numéro de transaction soit incorrect 10001 ButtonSource value truncated. Impossible de charger la transaction 10001 Internal Error Erreur interne 10004 Transaction refused because of an invalid argument. Pour en savoir plus, reportez-vous aux messages d'erreur supplémentaires. Le montant du remboursement partiel doit être une valeur positive 10004 Transaction refused because of an invalid argument. See additional error messages for details. Vous ne pouvez pas spécifier un montant partiel avec un remboursement intégral Traitement de cette erreur… Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API RefundTransaction TABLEAU B.7 Erreurs de l'API RefundTransaction (suite) Code d'erreur Message court Message long 10004 Transaction refused because of an invalid argument. See additional error messages for details. Un numéro de transaction est obligatoire 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le montant du remboursement partiel doit être une valeur positive 10004 Transaction refused because of an invalid argument. See additional error messages for details. Vous ne pouvez pas spécifier un montant partiel avec un remboursement intégral 10004 Transaction refused because of an invalid argument. See additional error messages for details. Un numéro de transaction est obligatoire 10004 Transaction refused because of an invalid argument. See additional error messages for details. La catégorie de la transaction n'est pas acceptée 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 Traitement de cette erreur… 133 Liste de référence des messages d'erreur Erreurs de l'API RefundTransaction TABLEAU B.7 Erreurs de l'API RefundTransaction (suite) Code d'erreur 134 Message court Message long 10007 Permission denied Vous ne disposez pas des permissions requises pour rembourser cette transaction 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10009 Transaction refused Vous ne disposez pas d'un SIT vérifié 10009 Transaction refused Le montant du remboursement partiel doit être inférieur ou égal au montant de la transaction initiale 10009 Transaction refused Le montant du remboursement partiel doit être inférieur ou égal au montant restant 10009 Transaction refused Le montant du remboursement partiel est incorrect 10009 Transaction refused Etant donné qu'un dossier de réclamation a été déposé pour cette transaction, seul le remboursement du montant intégral ou du montant intégral restant de la transaction peut être effectué. 10009 Transaction refused Vous avez dépassé le délai pour effectuer un remboursement sur cette transaction 10009 Transaction refused Impossible d'effectuer un remboursement intégral après un remboursement partiel 10009 Transaction refused Le compte est verrouillé ou inactif Traitement de cette erreur… Cette erreur peut être due à une provision insuffisante dans votre solde PayPal pour couvrir le montant du remboursement, et au fait que vous n'avez pas encore vérifié le compte bancaire associé à votre compte PayPal ou que vous ne disposez pas d'un compte bancaire associé à votre compte PayPal. Assurez-vous que vous disposez d'une provision suffisante dans votre solde PayPal et pensez à vérifier le compte bancaire associé. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API TransactionSearch TABLEAU B.7 Erreurs de l'API RefundTransaction (suite) Code d'erreur Message court Message long 10009 Transaction refused Le remboursement partiel doit être dans la même devise que la transaction initiale 10009 Transaction refused Cette transaction a déjà été remboursée en intégralité 10009 Transaction refused Le compte a un accès restreint 10009 Transaction refused Vous ne pouvez pas rembourser ce type de transaction 10009 Transaction refused Vous ne pouvez pas effectuer un remboursement partiel sur cette transaction 10009 Transaction refused Le compte de l'autre partie est verrouillé ou inactif 10009 Transaction refused Vous ne pouvez pas rembourser ce type de transaction 10011 Invalid transaction id value La transaction a été refusée à cause d'une valeur de numéro de transaction incorrecte 11001 Transaction refused because of an invalid argument. See additional error messages for details. La catégorie de la transaction n'est pas acceptée Traitement de cette erreur… Erreurs de l'API TransactionSearch TABLEAU B.8 Erreurs de l'API TransactionSearch Code d'erreur Message court Message long 10001 Internal Error Erreur interne 10001 ButtonSource value truncated. Impossible de charger la transaction Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 135 Liste de référence des messages d'erreur Erreurs de l'API TransactionSearch TABLEAU B.8 Erreurs de l'API TransactionSearch (suite) Code d'erreur 136 Message court Message long 10003 Transaction refused because of an invalid argument. See additional error messages for details. La date d'ouverture est un paramètre obligatoire 10004 Transaction refused because of an invalid argument. See additional error messages for details. La date d'ouverture est incorrecte 10004 Transaction refused because of an invalid argument. See additional error messages for details. La date de clôture est incorrecte 10004 Transaction refused because of an invalid argument. See additional error messages for details. Nous n'acceptons pas cette devise. 10004 Transaction refused because of an invalid argument. See additional error messages for details. La catégorie de la transaction n'est pas acceptée 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro d'avis de réception est incorrect 10004 Transaction refused because of an invalid argument. See additional error messages for details. L'email du payeur est incorrect 10004 Transaction refused because of an invalid argument. See additional error messages for details. L'identification des objets d'enchères est incorrecte 10004 Transaction refused because of an invalid argument. See additional error messages for details. L'email du bénéficiaire est incorrect 10004 Transaction refused because of an invalid argument. See additional error messages for details. Vous ne pouvez pas rechercher un numéro de transaction et un numéro d'avis de réception Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API GetTransactionDetails TABLEAU B.8 Erreurs de l'API TransactionSearch (suite) Code d'erreur Message court Message long 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le bénéficiaire ne peut être spécifié que pour les paiements reçus 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect 10007 Permission denied Vous ne disposez pas des permissions requises pour rechercher cette transaction 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 11002 Search warning Le nombre de résultats est tronqué. Veuillez modifier vos paramètres de recherche si vous souhaitez afficher tous vos résultats. Erreurs de l'API GetTransactionDetails TABLEAU B.9 Erreurs de l'API GetTransactionDetails Code d'erreur Message court Message long 10001 Internal Error Erreur interne Erreurs de l'API MassPay TABLEAU B.10 Erreurs de l'API MassPay Code d'erreur Message court Message long 10001 Invalid account number. La transaction a échoué en raison d'un numéro de carte bancaire incorrect. Vérifiez le numéro ou essayez une autre carte. 10001 Internal Error Erreur interne Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 137 Liste de référence des messages d'erreur Erreurs de l'API MassPay TABLEAU B.10 Erreurs de l'API MassPay (suite) 138 Code d'erreur Message court Message long 10001 Internal Error Impossible de charger la transaction 10001 ButtonSource value truncated. Impossible de charger la transaction 10001 Transaction refused because of an invalid argument. See additional error messages for details. L'élément receiver_type de Paiements groupés n'est pas un type reconnaissable 10002 Account locked Le compte de l'utilisateur est verrouillé 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le nombre d'enregistrements d'entrée est supérieur à la valeur maximale autorisée 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le nombre d'enregistrements d'entrée est inférieur ou égal à zéro 10004 Transaction refused because of an invalid argument. See additional error messages for details. La longueur de la chaîne de remarque dépasse la limite maximale de 4000 caractères Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API MassPay TABLEAU B.10 Erreurs de l'API MassPay (suite) Code d'erreur Message court 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le montant est manquant 10004 Transaction refused because of an invalid argument. See additional error messages for details. La devise est manquante 10004 Transaction refused because of an invalid argument. See additional error messages for details. Nous n'acceptons pas cette devise 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le montant n'est pas un nombre correct 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le montant dépasse la limite maximale pour un objet de paiements groupés unique ~1 Message long Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 139 Liste de référence des messages d'erreur Erreurs de l'API MassPay TABLEAU B.10 Erreurs de l'API MassPay (suite) 140 Code d'erreur Message court 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le montant est inférieur ou égal à zéro 10004 Transaction refused because of an invalid argument. See additional error messages for details. La longueur de la chaîne d'identification unique dépasse la limite maximale de 30 caractères 10004 Transaction refused because of an invalid argument. See additional error messages for details. La chaîne d'identification unique contient un espace comme caractère 10004 Transaction refused because of an invalid argument. See additional error messages for details. Le numéro de transaction est incorrect 10007 Permission denied Vous ne disposez pas des permissions requises pour effectuer cet appel API 10301 User not allowed L'utilisateur n'est pas autorisé à effectuer un paiement via la fonction Paiements groupés 10303 Restricted account Le compte a un accès restreint 10304 Unconfirmed email Le compte de l'utilisateur a un email non confirmé Message long Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API MassPay TABLEAU B.10 Erreurs de l'API MassPay (suite) Code d'erreur Message court Message long 10305 Limit Exceeded La limite de paiement du compte de l'utilisateur doit être supprimée pour pouvoir effectuer un paiement groupé 10306 Limit Exceeded La limite de paiement du compte hors des Etats-Unis de l'utilisateur doit être supprimée pour pouvoir effectuer un paiement groupé 10307 Receive only account Le compte de l'utilisateur est un compte de dépôts uniquement ; par conséquent, aucun paiement ne peut être effectué 10308 Masspay server configuration error Une erreur de configuration s'est produite 10309 Masspay server unavailable Le serveur de paiements groupés est indisponible 10310 Unable to create payment Impossible de créer des paiements pour les paiements groupés 10311 Unable to submit payment Impossible de soumettre des paiements pour les paiements groupés 10312 Masspay server error Le serveur de paiements groupés a signalé des erreurs. 10313 Masspay Invalid Data Le fichier d'entrée des paiements groupés contient des données incorrectes 10314 Masspay input parse error Le fichier d'entrée du serveur de paiements groupés est incorrect. Vérifiez que vous utilisez un fichier d'entrée correctement formaté 10317 Masspay Invalid Email Le fichier d'entrée des paiements groupés contient un email incorrect 10320 Internal Error Erreur interne 10321 Insufficient funds Le compte ne dispose pas d'une provision suffisante pour effectuer ces paiements groupés 10327 Masspay Invalid UserID Le fichier d'entrée des paiements groupés contient un UserID incorrect Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 141 Liste de référence des messages d'erreur Erreurs de l'API Paiements récurrents Erreurs de l'API Paiements récurrents Erreurs SetCustomerBillingAgreement TABLEAU B.11 Erreurs SetCustomerBillingAgreement Code d'erreur 142 Informations supplémentaires Message court Message long 10004 Transaction refused because of an invalid argument. See additional error messages for details. Argument incorrect ; aucune information dans le champ de saisie BillingType 10404 Transaction refused because of an invalid argument. See additional error messages for details. ReturnURL manquant. La balise ReturnURL tag est vide 10405 Transaction refused because of an invalid argument. See additional error messages for details. CancelURL manquant. La balise CancelURL est vide 10407 Transaction refused because of an invalid argument. See additional error messages for details. Adresse email de l'acheteur (BuyerEmail) incorrecte. L'adresse email de l'acheteur (BuyerEmail) est incorrecte (incorrectement formatée ou en violation du protocole SMTP du format de l'adresse email) ou est transmise comme s'il s'agissait d'une balise vide 10436 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de PageStyle dépasse la longueur maximale autorisée. La balise PageStyle est trop longue 10437 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-image dépasse la longueur maximale autorisée. la balise cpp_header_image est trop longue ; la longueur maximale est de 127 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiements récurrents TABLEAU B.11 Erreurs SetCustomerBillingAgreement (suite) Code d'erreur Informations supplémentaires Message court Message long 10438 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-bordercolor dépasse la longueur maximale autorisée. La balise cpp_header_border_color est trop longue ; la longueur maximale est de 6 10439 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-header-backcolor dépasse la longueur maximale autorisée. Le champ cpp_header_back_color est trop long ; la longueur maximale est de 6 10440 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de cpp-payflow-color dépasse la longueur maximale autorisée. Le champ cpp_payflow_color est trop long ; la longueur maximale est de 6 10471 Transaction refused because of an invalid argument. See additional error messages for details. ReturnURL est incorrect. Le champ ReturnURL contient une URL incorrecte 10472 Transaction refused because of an invalid argument. See additional error messages for details. CancelURL incorrect. Le champ CancelURL contient une URL incorrecte Erreurs de GetBillingAgreementCustomerDetails TABLEAU B.12 Erreurs de GetBillingAgreementCustomerDetails Code d'erreur Message court Message long Informations supplémentaires 10408 Missing token Le jeton est manquant Le jeton est manquant 10409 You're not authorized to access this info. Le jeton de Paiement express PayPal a été émis pour un compte marchand autre que le vôtre. Le jeton appartient à un autre marchand 10410 Invalid token Jeton incorrect. Jeton incorrect Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 143 Liste de référence des messages d'erreur Erreurs de l'API Paiements récurrents TABLEAU B.12 Erreurs de GetBillingAgreementCustomerDetails (suite) Code d'erreur 10411 Message court Message long This Express Checkout session has expired. Cette session de Paiement express PayPal a expiré. La valeur du jeton n'est plus valable. Informations supplémentaires Jeton expiré Erreurs de CreateRecurringPaymentsProfile TABLEAU B.13 Erreurs de CreateRecurringPaymentsProfile Code d'erreur 144 Informations supplémentaires Message court Message long 11501 Invalid merchant country Actuellement, seuls les Etats-Unis sont pris en charge en tant que pays marchand Le pays marchand doit être les Etats-Unis 11502 The token is missing or is invalid Le jeton est manquant ou incorrect Jeton manquant 11503 Missing subscription details Détails de l'abonnement manquant Un ou plusieurs des détails de l'abonnement sont absents de la requête 11504 Missing schedule details Grille tarifaire incomplète Un ou plusieurs des détails de la grille tarifaire sont absents de la requête 11505 Start date is required La date d'entrée en vigueur de l'abonnement est requise 11506 Invalid max failed payments Echecs de paiement max, si fournis, doit être >= 0 11507 Invalid trial billing frequency La fréquence de la facturation d'essai doit être > 0 et inférieure ou égale à un an 11508 Invalid trial total billing cycles Le total des cycles de la facturation d'essai doit être >= 0 (0 signifie illimité) 11509 Invalid trial billing period La période de la facturation d'essai doit correspondre à l'une des valeurs suivantes : Jour, Semaine, Mois, SemiMonth ou Année La combinaison de la période de la facturation d'essai et de la fréquence de la facturation d'essai ne doit pas excéder un an Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Erreurs de l'API Paiements récurrents TABLEAU B.13 Erreurs de CreateRecurringPaymentsProfile (suite) Code d'erreur Message court Message long 11510 Invalid trial amount Le montant d'essai doit être >= 0 11511 Invalid currency for trial amount USD est la seule devise prise en charge pour les montants d'essai 11512 Invalid trial shipping amount Les frais de livraison d'essai doivent être >= 0 11513 Invalid currency for trial amount USD est la seule devise prise en charge pour les montants d'essai 11514 Trial tax amount must be >= 0 Le montant de la TVA d'essai doit être >= 0 11515 Invalid currency for trial amount USD est la seule devise prise en charge pour les montants d'essai La devise doit être USD 11516 Invalid billing frequency La fréquence de la facturation doit être > 0 et inférieure ou égale à un an La combinaison de la fréquence de la facturation et de la période de facturation ne doit pas excéder un an 11517 Invalid total billing cycles Le total des cycles de facturation doit être >= 0 (0 signifie illimité) 11518 Invalid billing period La période de facturation doit correspondre à l'une des valeurs suivantes : Jour, Semaine, Mois, SemiMonth ou Année 11519 Invalid amount Le montant doit être >= 0 11520 Invalid currency for trial amount USD est la seule devise prise en charge pour les montants d'essai 11521 Invalid shipping amount Les frais de livraison doivent être >= 0 11522 Invalid currency for trial amount USD est la seule devise prise en charge pour les montants d'essai 11523 Invalid tax amount Le montant de la TVA doit être >= 0 11524 Invalid currency for trial amount USD est la seule devise prise en charge pour les montants d'essai 11545 Denied Le compte du payeur est refusé 11546 Denied Le compte marchand est refusé Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 Informations supplémentaires La devise doit être USD La devise doit être USD La devise doit être USD La devise doit être USD La devise doit être USD 145 Liste de référence des messages d'erreur Transactions de référence Transactions de référence TABLEAU B.14 Erreurs de l'API DoReferenceTransaction 146 Informations supplémentaires Code d'erreur Message court Message long 10001 Internal Error Erreur interne 10004 Transaction refused because of an invalid argument. See additional error messages for details. Argument de type de paiement incorrect 10009 Transaction refused Le compte de l'autre partie est verrouillé ou inactif Le marchand est verrouillé, fermé ou restreint 10010 Invalid Invoice Les numéros de facture en caractères autres que ASCII ne sont pas pris en charge Le champ InvoiceID contient des caractères autres que ASCII 10209 Disabled Fonction Paiements préapprouvés non activée. La fonction Paiements préapprouvés (PAP) n'est pas activée pour ce marchand ; s'applique seulement aux autorisations de facturation PAP existantes 10400 Transaction refused because of an invalid argument. See additional error messages for details. La commande n'a pas de total. TotalOrder est manquant 10401 Transaction refused because of an invalid argument. See additional error messages for details. Le total de la commande est incorrect. Le montant TotalOrder est incorrect 10402 Authorization only is not allowed for merchant. Ce compte marchand n'a pas le droit de définir PaymentAction sur Authorization. Veuillez contacter le Service clientèle. Marchand non admissible pour une autorisation de règlement 10406 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de PayerID est incorrecte. Le numéro de compte marchand est incorrect 10412 Duplicate invoice Un paiement a déjà été effectué pour cet élément InvoiceID. Paiement déjà effectué pour cette facture Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Transactions de référence TABLEAU B.14 Erreurs de l'API DoReferenceTransaction (suite) Code d'erreur Message court Message long Informations supplémentaires 10413 Transaction refused because of an invalid argument. See additional error messages for details. Les montants totaux des objets du panier ne correspondent pas aux montants de la commande. Le montant total des objets du panier de correspond pas au montant total de la commande 10414 Transaction refused because of an invalid argument. See additional error messages for details. Le montant dépasse le montant maximum autorisé pour une seule transaction. Le montant dépasse le montant maximum autorisé pour une seule transaction 10417 Transaction cannot complete. La transaction ne peut pas s'effectuer. Demandez au client d'utiliser un autre mode de paiement. Compte non associé à une source d'approvisionnement valable 10417 Transaction cannot complete. La transaction ne peut pas s'effectuer. Demandez au client d'utiliser un autre mode de paiement. Une carte bancaire ou une autorisation de facturation sont nécessaires pour effectuer le paiement 10418 Transaction refused because of an invalid argument. See additional error messages for details. Les devises des montants du panier doivent être identiques. Les devises du panier doivent être identiques 10420 Transaction refused because of an invalid argument. See additional error messages for details. La balise PaymentAction est manquante La balise PaymentAction est manquante 10426 Transaction refused because of an invalid argument. See additional error messages for details. Le total des objets est incorrect. Le montant ItemTotal est incorrect 10427 Transaction refused because of an invalid argument. See additional error messages for details. Le total de la livraison est incorrect. Le montant ShippingTotal est incorrect. 10428 Transaction refused because of an invalid argument. See additional error messages for details. Le total des frais de dossier est incorrect. Le montant HandlingTotal est incorrect. 10429 Transaction refused because of an invalid argument. See additional error messages for details. Le total de la TVA est incorrect. Le montant TaxTotal est incorrect. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 147 Liste de référence des messages d'erreur Transactions de référence TABLEAU B.14 Erreurs de l'API DoReferenceTransaction (suite) 148 Informations supplémentaires Code d'erreur Message court Message long 10429 Transaction refused because of an invalid argument. See additional error messages for details. La TVA concernant l'objet est incorrecte. PaymentDetailsItem.Le champ de la TVA est incorrect. Avertissement seulement ; l' API s’exécute 10430 Transaction refused because of an invalid argument. See additional error messages for details. Le montant des objets est manquant. PaymentDetailsItem. Le champ Montant est manquant. Avertissement seulement ; l' API s’exécute 10431 Transaction refused because of an invalid argument. See additional error messages for details. Le montant des objets est incorrect. PaymentDetailsItem. Le champ montant est incorrect. Avertissement seulement ; l' API s’exécute 10432 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de InvoiceID dépasse la longueur maximale autorisée. Le champ InvoiceID est trop long ; la longueur maximale est de 256 10433 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de l'élément OrderDescription est tronquée. OrderDescription est trop long ; la longueur maximale est de 127. Avertissement seulement ; l' API s’exécute 10434 Transaction refused because of an invalid argument. See additional error messages for details. La valeur de l'élément Custom est tronquée. Le champ Custom est trop long ; la longueur maximale est de 256. Avertissement seulement ; l' API s’exécute 10504 The cvv2 is invalid. Impossible de traiter cette transaction. Veuillez entrer un cryptogramme visuel correct. Le champ CVV2 (cryptogramme visuel) est incorrect 10527 Invalid Data Impossible de traiter cette transaction. Veuillez entrer un numéro correct et un type de carte bancaire pris en charge. Le numéro (CreditCardNumber) et/ou le type de carte bancaire (CreditCardType) sont incorrects 10537 Risk Control Country Filter Failure La transaction a été refusée car le pays est interdit dans vos paramètres de contrôle des risques pour les pays sous surveillance. Transaction refusée en raison des paramètres de contrôle des risques pour les pays sous surveillance 10538 Risk Control Max Amount Failure La transaction a été refusée car le montant maximum a été dépassé dans vos paramètres de contrôle des risques pour le montant maximum. Transaction refusée en raison des paramètres de contrôle des risques pour le montant maximum Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Liste de référence des messages d'erreur Transactions de référence TABLEAU B.14 Erreurs de l'API DoReferenceTransaction (suite) Code d'erreur Message court Message long Informations supplémentaires 10539 Payment declined by your Risk Controls settings: PayPal Risk Model. Paiement rejeté par vos paramètres de contrôle des risques : modèle PayPal de gestion des risques. Transaction refusée par les paramètres de contrôle des risques : modèle PayPal de gestion des risques 10546 Gateway Decline Impossible de traiter cette transaction. Echec des modèles de fraude IP 10560 Invalid Data Le numéro d'émission de la carte bancaire est incorrect. Le numéro d'émission (IssueNumber) est incorrect 10567 Invalid Data Une date d'ouverture ou un numéro d'émission sont requis. Ni la date d'ouverture ni le numéro d'émission ne sont spécifiés (s'applique seulement aux cartes bancaires Switch et Solo) 10725 Shipping Address Country Error Une erreur s'est produite dans le champ indiquant le pays livraison Erreur dans le champ Pays de l'adresse de livraison 10727 Shipping Address1 Empty Le champ Adresse de livraison1 doit être rempli. Erreur dans le champ Adresse de livraison1 10728 Shipping Address City Empty Le champ Ville de livraison doit être rempli. Erreur dans le champ Ville de livraison 10729 Shipping Address State Empty Le champ Etat de livraison doit être rempli. Erreur dans le champ Etat de livraison 10730 Shipping Address Postal Code Empty Le champ Code postal de livraison doit être rempli. Erreur dans le champ Code postal de livraison 10731 Shipping Address Country Empty Le champ Pays de livraison doit être rempli. Le code pays de l'adresse de livraison n'a pas été saisi 10736 Shipping Address Invalid City State Postal Code Incompatibilité entre la ville, l'état et le code postale de l'adresse de livraison. Incompatibilité entre la ville, l'état et le code postale de l'adresse de livraison 10747 Invalid Data Cette transaction ne peut pas être traitée sans une adresse IP correct. Le champ IPAddress est incorrect 10748 Invalid Data Impossible de traiter cette transaction sans un cryptogramme visuel. Le champ CVV2 (cryptogramme visuel) est manquant 10755 Unsupported currency. Cette transaction ne peut pas être traitée en raison d'une devise non acceptée. Guide de développement et référence de l’API Paire Nom-Valeur (NVP)Mai 2007 149 Liste de référence des messages d'erreur Transactions de référence TABLEAU B.14 Erreurs de l'API DoReferenceTransaction (suite) 150 Code d'erreur Message court Message long Informations supplémentaires 11302 Cannot pay self La transaction a été refusée car vous ne pouvez vous payer vousmême. Impossible de se payer soimême. Le marchand référence sa propre transaction 11451 Billing Agreement Id or transaction Id is not valid Le numéro d'autorisation de facturation ou le numéro de transaction n'est pas correct Numéro de référence incorrect 11451 Billing Agreement Id or transaction Id is not valid Le numéro d'autorisation de facturation ou le numéro de transaction n'est pas correct La transaction de référence n'est pas associée à une autorisation de facturation 11451 Billing Agreement Id or transaction Id is not valid Le numéro d'autorisation de facturation ou le numéro de transaction n'est pas correct Le numéro de référence n'a pas été trouvé ou n'a pas pu être décrypté 11451 Billing Agreement Id or transaction Id is not valid Le numéro d'autorisation de facturation ou le numéro de transaction n'est pas correct Le numéro de référence n'a pas été trouvé ou n'a pas pu être décrypté 11453 Reference transactions temporarily unavailable. La fonction Transaction de référence n'est actuellement pas disponible ; veuillez essayer ultérieurement Fonction non prise en charge en standin 11454 Warning: Could not send email to the buyer Avertissement : impossibilité d'envoyer l'email à l'acheteur Echec de l'envoi de l'email à l'acheteur. Cette erreur n'est pas fatale et génère un avertissement Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) C Exemples Web de l'API NVP Ce chapitre traite des exemples Web de l'API NVP capables d'accéder à cette API directement. Cette section comprend les rubriques suivantes : z « Descriptions des exemples » page 151 z « Exemples utilisant ASP classique » page 156 z « Exemples utilisant PHP » page 156 z « Exemples utilisant ColdFusion » page 157 Descriptions des exemples Les exemples Web comprennent les éléments suivants : z « Accepter PayPal avec Paiement express » page 151 z « Recueillir les détails de la transaction » page 154 z « Fichiers communs » page 155 La page principale des exemples, index.htlm ou Default.htm, contient des liens vers chaque exemple. REMARQUE : dans cette section sont présentés des exemples de code pour tous les langages de programmation. Chaque nom de fichier filename.ext contient le nom du langage spécifique auquel il se rapporte. Par exemple, DoDirectPayment.ext peut signifier DoDirectPayment.java, DoDirectPayment.php, etc. Accepter PayPal avec Paiement express Cet exemple explique comment utiliser la fonction Paiement express pour accepter des payments par le biais de PayPal. Accédez à cet exemple à partir de l'une des options suivantes contenues dans la page index.html ou dans la page Default.htm : ExpressCheckout - Sale Effectuer un paiement par le biais de PayPal. Dans la requête SetExpressCheckout, le paramètre PAYMENTACTION est défini par Sale. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 151 Exemples Web de l'API NVP Descriptions des exemples ExpressCheckout Authorization Autoriser une collecte unique. Dans la requête SetExpressCheckout, le paramètre PAYMENTACTION est défini par Authorization. ExpressCheckout - Order Autoriser les collectes multiples. Dans la requête SetExpressCheckout, le paramètre PAYMENTACTION est défini par Order. Les principaux fichiers concernant cet exemple sont : TABLEAU C.1 Les fichiers Paiement express 152 Fichier Description SetExpressCheckout.ext Cette page est la page Web principale de l'exemple Paiement express. Elle permet à l'utilisateur de saisir un montant et un type de devise. Il est également possible d'y saisir la variable paymentType qui devient la valeur du paramètre PAYMENTACTION. Lorsque l'utilisateur clique sur le bouton Soumettre, ReviewOrder.ext est appelé. Appelé par index.html ou par Default.htm. Appelle ReviewOrder.ext. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Exemples Web de l'API NVP Descriptions des exemples TABLEAU C.1 Les fichiers Paiement express (suite) Fichier Description ReviewOrder.ext Ce fichier est appelé dès que l'utilisateur clique sur un bouton, durant la procédure de paiement, pour utiliser la fonction Paiement express de PayPal. L'utilisateur se connecte à son compte PayPal. Ce fichier est appelé deux fois. Lors de la première transmission, le code exécute l'instruction si : if (! isset ($token)) Le code réunit des paramètres de transaction à partir du formulaire affiché par SetExpressCheckout.ext, puis construit et envoie une chaîne de requête SetExpressCheckout au serveur PayPal. La variable paymentType devient le paramètre PAYMENTACTION de la chaîne de requête. Le paramètre RETURNURL est associé à ce fichier et ReviewOrder.ext est donc appelé deux fois. Lors de la deuxième transmission, le code exécute l'instruction autre. Lors de la première transmission, l'acheteur a rempli l'autorisation dans son compte PayPal ; le code obtient maintenant les détails du payeur en envoyant une requête GetExpressCheckoutDetails au serveur PayPal. Le code appelle ensuite GetExpressCheckoutDetails.ext. R E M A R Q U E : Assurez-vous de bien vérifier la valeur de PAYPAL_URL. L'acheteur est dirigé vers cette URL afin d'autoriser le paiement depuis son compte PayPal. Lors de tests, cette URL devrait être celle de l'environnement test de PayPal. Appelé par SetExpressCheckout.ext. Appelle GetExpressCheckoutDetails.ext, CallerService.ext, et Display.ext. GetExpressCheckoutDetails.ext Cette fonctionalité est appelée lorsque l'acheteur revient de PayPal et a autorisé le paiement. Affiche les détails du payeur renvoyés par la réponse GetExpressCheckoutDetails et appelle DoExpressCheckoutPayment.ext à completer l'autorisation de paiement. Appelé par ReviewOrder.ext. Appelle DoExpressCheckoutPayment.ext et CallerService.ext. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 153 Exemples Web de l'API NVP Descriptions des exemples TABLEAU C.1 Les fichiers Paiement express (suite) Fichier Description DoExpressCheckoutPayment.ext Cette fonctionalité est appelée pour compléter le paiement et affiche le résultat de la transaction sur l'écran de l'acheteur. Le code construit et envoie la chaîne de requête DoExpressCheckoutPayment au serveur PayPal. Appelé par GetExpressCheckoutDetails.ext et CallerService.ext. Recueillir les détails de la transaction Cet exemple montre comment utiliser la requête GetTransactionDetails. Vous pouvez accéder à cet exemple à partir des options suivantes contenues dans la page index.html ou dans la page Default.htm : GetTransactionDetails Recueillir les détails de la transaction pour un numéro de transaction spécifique. La page principale affiche une zone de texte dans laquelle l'utilisateur saisit un numéro de transaction. Lorsque l'utilisateur clique sur le bouton Soumettre, le code construit une requête API NVP avec GetTransactionDetails et l'envoie au serveur PayPal. Les principaux fichiers concernant cet exemple sont : TABLEAU C.2 Les fichiers Recueillir les details de la transaction 154 Fichier Description GetTransactionDetails.ext Cette page est la page Web principale de l'exemple GetTransactionDetails. Cette page affiche une zone de texte où l'utilisateur peut saisir un numéro de transaction et un bouton Soumettre qui appelle TransactionDetails.ext. Appelle TransactionDetails.ext. TransactionDetails.ext Envoie une requête API NVP GetTransactionDetails à PayPal. Le code récupère le numéro de transaction et construit la chaîne de requête API NVP qui sera envoyée au serveur PayPal. La requête envoyée à PayPal utilise une signature API. Une fois la réponse du serveur PayPal reçue, le code affiche la requête et la réponse dans le navigateur. Si l'opération a réussi, les paramètres de la réponse sont affichés. Si l'opération a échoué, les messages d'erreur reçus sont affichés. Appelé par GetTransactionDetails.html. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Exemples Web de l'API NVP Exemple d'utilisateur API avec signature API Fichiers communs Les fichiers suivants sont communs à tous les exemples. TABLEAU C.3 Fichiers communs Fichier Description index.html Default.htm La page web principale contenant des liens vers chacun des exemples. Appelle DoDirectPayment.ext, SetExpressCheckout.ext, et GetTransactionDetails.html. sdk.css Cascading Style Sheet (CSS) utilisée par la page index.html ou par la page Default.htm. CallerService.ext Cette page est la page de configuration des exemples. Elle contient les paramètres nécessaires pour effectuer un appel API. Les exemples sont associés à une signature API qui leur permet de faire des appels API pour l'Environnement de test PayPal. La signature API est décrite dans la section, « Exemple d'utilisateur API avec signature API » page 155. Appelé par TransactionDetails.ext, ReviewOrder.ext, DoDirectPaymentReceipt.ext, et Display.ext. Display.ext Affiche les paramètres de la requête et de la réponse. S'il y a une erreur, affiche les paramètres de la requête et de l'erreur. Appelé par DoDirectPaymentReceipt.ext, TransactionDetails.ext, et DoExpressCheckoutPayment.ext. Exemple d'utilisateur API avec signature API Les exemples sont fournis avec une signature API à utiliser avec les exemples et l'environnement de test PayPal. Cette signature API appartient à l'utilisateur suivant : TABLEAU C.4 Détails de l'exemple de signature API Identifiant API sdk-three_api1.sdk.com Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU IMPO RTANT : vous devez protéger les valeurs de la signature API lors de l'implémentation. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 155 Exemples Web de l'API NVP Exemples utilisant ASP classique L'exemple de code ne sauvegarde pas ces valeurs de manière sûre. Il ne doit en aucun cas être utilisé dans un environnement de production. Exemples utilisant ASP classique Cette section contient des informations sur la configuration et l'exécution des exemples Web de l'API NVP utilisant ASP classique. Logiciel requis Aucun logiciel complémentaire n'est requis. Télécharger et décompresser les exemples 1. Téléchargez le fichier distribué au format zip. 2. Décompressez le fichier zip dans le répertoire de votre choix. Installer les exemples Les exemples doivent être installés dans Microsoft IIS. La version d'IIS doit être la version 5.1 ou supérieure. Créez un répertoire virtuel dans Microsoft IIS appelé PayPalClassicAsNVPpSamples qui pointe vers Samples_Root. Exécuter les exemples Assurez-vous tout d'abord d'avoir installé le logiciel et les exemples requis. Les exemples peuvent être exécutés en saisissant l'adresse suivante dans un navigateur Web : http://name_of_Server:port/PayPalClassicAsNVPpSamples/Default.htm Exemples utilisant PHP Cette section contient des informations sur la configuration et l'exécution des exemples Web de l'API NVP utilisant PHP. 156 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Exemples Web de l'API NVP Exemples utilisant ColdFusion Logiciel requis Le logiciel suivant est requis : TABLEAU C.5 Logiciel requis Logiciel Version PHP avec extension CURL activée 4.4.2 ou supérieure Serveur HTTP Apache 1.3.17 ou supérieure Adresse de téléchargement http://httpd.apache.org/ Vous devez installer et configurer PHP avec le serveur HTTP Apache. Télécharger et décompresser les exemples La dernière version des exemples Web est disponible à l'adresse suivante https://www.paypal.com/IntegrationCenter/ic_nvp.html. 1. Téléchargez le fichier distribué au format zip. 2. Décompressez le fichier zip dans le répertoire de votre choix. Installer les exemples Copiez le dossier php_nvp_samplescontenant les exemples dans la racine des documents du serveur HTTP Apache. Par défaut, docroot se trouve dans datadir/htdocs. Exécuter les exemples Assurez-vous tout d'abord d'avoir installé le logiciel et les exemples requis. Les exemples peuvent être exécutés en saisissant l'adresse suivante dans un navigateur Web : http://name_of_Apache_HTTP_Server:port/php_nvp_samples/index.html Exemples utilisant ColdFusion Cette section contient des informations sur la configuration et l'exécution des exemples Web de l'API NVP utilisant Coldfusion. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 157 Exemples Web de l'API NVP Exemples utilisant ColdFusion Logiciel requis Le logiciel suivant est requis : TABLEAU C.6 Normes prises en charge Norme Version Adresse de téléchargement ColdFusion 7.x MX http://www.adobe.com/products/coldfusion/ Télécharger et décompresser les exemples 1. Téléchargez le fichier distribué au format zip. 2. Décompressez le fichier zip dans le répertoire de votre choix. Installer les exemples REMARQUE : les exemples supposent que Coldfusion s'exécute sous Microsoft Windows. Copiez le dossier ColdFusionMX7_root_directory\wwwroot contenant les exemples dans la racine des documents du serveur Web de l'application ColdFusion. Exécuter les exemples Assurez-vous tout d'abord d'avoir installé le logiciel et les exemples requis. Les exemples peuvent être exécutés en saisissant l'adresse suivante dans un navigateur Web : http://name_of_Server:port/cf_nvp_samples/index.html 158 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) D Le kit de développement PayPal Java Cette section explique comment utiliser le kit de développement PayPal Java et comprend les rubriques suivantes : z « Installation du kit de développement PayPal Java » page 159 z « Préférences » page 162 z « Exemples d'applications » page 164 Installation du kit de développement PayPal Java Cette section présente les logiciels et le matériel pris en charge par le kit de développement PayPal, et requis pour l'installation et les tâches post-installation. Normes prises en charge Le kit de développement PayPal a été testé : son fonctionnement est compatible avec les normes ci-dessous. TABLEAU D.1 Normes prises en charge Norme Version Environnement d'exécution Java 1.4.2 ou supérieur Langues acceptées Le kit de développement PayPal est disponible en anglais américain. Numéro de version du kit de développement PayPal Ce guide décrit le kit de développement PayPal Java version 4.3.1. Configuration matérielle recommandée La configuration matérielle minimum recommandée pour utiliser le kit de développement PayPal dans le développement et les tests est indiquée ci-dessous. Les systèmes de production peuvent nécessiter une capacité supérieure, qui varie selon la charge prévue. TABLEAU D.2 Configuration matérielle recommandée Composant Capacité minimale RAM 256 Mo Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 159 Le kit de développement PayPal Java Installation du kit de développement PayPal Java TABLEAU D.2 Configuration matérielle recommandée Composant Capacité minimale Processeur Pentium 1 GHz Espace disque 50 Mo Télécharger et décompresser le kit de développement PayPal La dernière version du kit de développement PayPal est disponible à l'adresse https://www.paypal.com/IntegrationCenter/ic_nvp.html. 1. Téléchargez le fichier distribué au format zip. 2. Décompressez le fichier zip dans le répertoire de votre choix. REMARQUE : dans ce manuel, le répertoire dans lequel vous choisissez d'extraire le kit de développement PayPal est appelé : SDK_root. Configuration post-installation Cette section décrit en détail les étapes préalables à l'utilisation du kit de développement PayPal. Ajouter des fichiers JAR du kit de développement PayPal dans CLASSPATH Avant de développer des applications avec le kit de développement Java PayPal, ajoutez les fichiers JAR qui se trouvent dans SDK_root/lib à votre variable d'environnement CLASSPATH. Répertoires et configurations facultatives du kit de développement PayPal Les composants du kit de développement PayPal sont organisés en différents sous-répertoires, présentés dans le Tableau D.3, « Kit de développement PayPal Java : répertoires et contenu ». TABLEAU D.3 Kit de développement PayPal Java : répertoires et contenu 160 Répertoire Description cert Certificats publics PayPal pour PayPal en direct et l'Environnement de test de PayPal docs Documentation API du kit de développement PayPal lib Bibliothèques du kit de développement PayPal licenses Fichiers de licence exemples Exemples de code qui utilisent le kit de développement. src Code source du kit de développement PayPal tools Applications tierces Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal Java Documentation complète du kit de développement PayPal et des classes d'API Documentation complète du kit de développement PayPal et des classes d'API Une documentation Javadoc complète relative à l'ensemble des interfaces, classes, méthodes, structures et types de données du kit de développement PayPal est fournie avec la version du kit. Pour l'afficher, ouvrez le fichier suivant dans votre navigateur Web : SDK_root/docs/index.html Journaux du kit de développement PayPal Le kit de développement PayPal utilise le logiciel de journalisation log4j. Pour plus d'informations, consultez la documentation à l'adresse http://logging.apache.org/log4j/docs/ Configurer les niveaux de journalisation Définissez la valeur de l'élément dans SDK_root/lib/log4j.properties. TABLEAU D.4 Niveaux de journalisation du kit de développement PayPal Niveau Description ALL Identique à DEBUG ERROR Consigne uniquement les erreurs graves INFO Date/heure de l'opération API, nom de l'opération, temps écoulé, indication de réussite ou d'échec DEBUG Texte complet des requêtes et réponses et des autres messages de débogage. Evitez d'utiliser la journalisation DEBUG au quotidien, car elle risque de réduire les performances du kit de développement PayPal. R E M A R Q U E : les requêtes et réponses étant asynchrones, leur enregistrement dans le fichier journal peut paraître désordonné. Sauvegarde du fichier journal La taille par défaut du fichier journal du kit de développement PayPal est 10 Mo. Vous pouvez augmenter ou diminuer cette taille en modifiant la valeur de param name=”MaxFileSize” dans log4j.properties. Lorsque le fichier journal atteint sa taille maximum, un fichier de sauvegarde est créé et le système commence un nouveau fichier journal. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 161 Le kit de développement PayPal Java Préférences Préférences Avant toute utilisation, le kit de développement PayPal doit identifier les préférences de l'utilisateur qui accède à ses services. Ces préférences sont un ensemble d'informations relatives à un marchand ou à un développeur qui utilise le kit de développement PayPal. Des préférences API sont associées aux services API, notamment : z Identifiant et mot de passe API PayPal. z Si vous utilisez des certificats API, chemin du certificat API au format P12 et mot de passe de la clé privée pour accéder à ce certificat. z Si vous utilisez des signatures API, chaîne de la signature. z Nom facultatif d'un tiers qui autorise l'appelant à invoquer les API PayPal en son nom. Ce tiers porte le nom d'appelé z Environnement PayPal pour traiter les appels API : live or sandbox. Des préférences pour les Paiements sur site marchand cryptés sont associées aux services EWP, notamment : z Chemin d'accès de la copie locale du certificat public utilisée par le marchand z Mot de passe pour la clé privée du certificat public z Chemin d'accès du fichier de la clé privée d'un marchand pour la signature numérique des données z URL vers laquelle le formulaire du bouton renvoie (POST) z URL facultative d'une image de bouton de paiement. Par défaut, il s'agit du bouton PayPal standard Acheter maintenant. Pour en savoir plus sur le fonctionnement de Paiements sur site marchand cryptés, reportezvous au Guide d'intégration de Paiements sur site marchand disponible à l'adresse https://www.paypal.com/fr_FR/pdf/PP_WebsitePaymentsStandard_IntegrationGuide.pdf. 162 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal Java Préférences Aperçu des classes liées aux préférences Les principales interfaces et classes des préférences du kit de développement PayPal sont présentées dans le tableau Tableau D.1, « Normes prises en charge », page 159 TABLEAU D.5_ Interface et classes des références du kit de développement PayPal Interface/Classe Descriptions Interface IAPIProfile Cette interface définit les informations de base requises par PayPal au sujet d'un utilisateur des API PayPal. Les développeurs doivent créer une instance de l'interface IAPIProfile pour chaque compte qui accède aux API. Pour les développeurs d'un marchand unique, une seule instance de IAPIProfile est nécessaire. PayPal propose deux classes d'implémentation, adaptées aux besoins de la plupart des développeurs utilisant le kit de développement PayPal. CertificateAPIProfile et SignatureAPIProfile. Toutefois, vous pouvez écrire une implémentation personnalisée, si vous avez besoin d'une fonctionnalité supplémentaire, qui n'existe pas dans la classe par défaut. Interface EWPProfile Cette interface définit les informations de base requises par PayPal au sujet d'un utilisateur de son service Paiements sur site marchand cryptés (EWP, Encrypted Website Payments). Les développeurs doivent créer une instance de l'interface EWPProfile pour chaque compte qui crée le code du bouton crypté (pour les utilisateurs d'un marchand unique, il y aura une seule instance). PayPal propose une classe d'implémentation de base appelée DefaultEWPProfile, adaptée aux besoins de la plupart des développeurs utilisant le kit de développement PayPal. Toutefois, vous pouvez écrire une implémentation personnalisée, si vous avez besoin d'une fonctionnalité qui n'existe pas dans la classe par défaut. Classe ProfileFactory Cette classe crée à la fois les objets APIProfile et les objets EWPProfile. Elle contient des méthodes statiques qui gèrent l'instanciation et la construction des objets de préférences. Classe Profiles Cette classe de données représente tous les profils connus du kit de développement PayPal. Elle contient deux collections, l'une pour APIProfiles et l'autre pour EWPProfiles. Cette classe est proposée à ProfileHandler pour enregistrer les données des préférences et renvoyée par ProfileHandler pour les extraire. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 163 Le kit de développement PayPal Java Exemples d'applications Exemples d'applications Le kit PayPal pour développeur contient des exemples d'applications, placés dans le répertoire SDK_root/samples Chaque sous-répertoire est fourni avec un fichier LISEZMOI qui explique comment configurer l'application. TABLEAU D.6_Kit de développement PayPal Java Exemples de code dans SDK_root/samples Sous-répertoire Description Cert Certificats d'API utilisés par les exemples d'applications JSP Implémentation JavaScript pour Apache Tomcat des API PayPal suivantes : z Paiement direct pour la vente finale et l'autorisation z Paiement express PayPal pour la vente finale, l'autorisation et la commande z TransactionSearch z GetTransactionDetails z RefundTransaction z DoCapture z DoVoid z MassPay z Reauthorization Exemple d'utilisateur API avec signature API Les exemples sont fournis avec une signature API à utiliser avec les exemples et l'environnement de test PayPal. Cette signature API appartient à l'utilisateur suivant : TABLEAU D.7 Détails de l'exemple de signature API Identifiant API sdk-three_api1.sdk.com Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU IMPO RTANT : vous devez protéger les valeurs de la signature API lors de l'implémentation. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. L'exemple de code ne sauvegarde pas ces valeurs de manière sûre. Il ne doit en aucun cas être utilisé dans un environnement de production. 164 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal Java Exemples d'applications Exemple d'utilisateur API avec certificat d'API Les exemples sont fournis avec un certificat d'API numérique à utiliser avec le kit de développement PayPal et l'Environnement de test PayPal. Ce certificat appartient à l'utilisateur suivant : TABLEAU D.8Détails de l'exemple de certificat d'API du kit de développement PayPal Emplacement du certificat SDK_root\samples\Certs\sdk-seller.p12 Identifiant API sdk-seller_api1.sdk.com Mot de passe API 12345678 Mot de passe PKCS12 mot de passe IMPO RTANT : vous devez protéger les valeurs du certificat API lors l'implémentation. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. L'exemple de. code ne sauvegarde pas ces valeurs de manière sûre. Il ne doit en aucun cas être utilisé dans un environnement de production. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 165 Le kit de développement PayPal Java Exemples d'applications 166 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) E Le kit de développement PayPal ASP.NET Cette section explique comment utiliser le kit de développement PayPal ASP.NET et comprend les rubriques suivantes : z « Installation du kit de développement PayPal ASP.NET » page 167 z « Préférences » page 171 z « Exemples d'applications » page 173 Installation du kit de développement PayPal ASP.NET Cette section présente les logiciels et le matériel pris en charge par le kit de développement PayPal, et requis pour l'installation et les tâches post-installation. Normes prises en charge Le kit de développement PayPal a été testé : son fonctionnement est compatible avec les normes ci-dessous. TABLEAU E. 1 Normes prises en charge Norme Version Microsoft .NET Framework 1.1, Service Pack 1 Langues acceptées Le kit de développement PayPal est disponible en anglais américain. Numéro de version du kit de développement PayPal Ce guide décrit le kit de développement PayPal ASP.NET, version 4.3.1. Configuration matérielle requise Le tableau ci-dessous indique la configuration matérielle minimum requise pour utiliser le kit de développement PayPal et effectuer des tests. Les systèmes de production peuvent nécessiter une capacité supérieure, qui varie selon la charge prévue. TABLEAU E. 2 Configuration matérielle requise Composant Capacité minimale RAM 256 Mo Processeur Pentium 1 GHz Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 167 Le kit de développement PayPal ASP.NET Installation du kit de développement PayPal ASP.NET TABLEAU E. 2 Configuration matérielle requise (suite) Composant Capacité minimale Espace disque 50 Mo Obligatoire : Microsoft .NET Framework 1.1, Service Pack 1 IMPO RTANT : le kit de développement PayPal requiert l'installation du Service Pack 1 de Microsoft .NET Framework 1.1. Vous pouvez télécharger le Service Pack 1 à partir du site Microsoft. Configuration post-installation Cette section décrit en détail les étapes préalables à l'utilisation du kit de développement PayPal. Référencer les DLL du kit de développement PayPal Avant de développer des applications à l'aide du kit de développement PayPal, ajoutez les références de vos projets ASP.NET dans les DLL (dynamic load libraries) du kit de développement PayPal présentes sous SDK_root\bin. Installer les exemples Le kit de développement PayPal contient des exemples d'applications que vous pouvez examiner et utiliser. Vous pouvez les installer dans Microsoft Internet Information Server (IIS). Pour en savoir plus sur les exemples, consultez, « Exemples d'applications » page 173. Pour en savoir plus sur l'installation dans l'IIS, consultez, « Installer les exemples sur Microsoft IIS » page 175. Répertoires et configurations facultatives du kit de développement PayPal Les composants du kit de développement PayPal sont organisés en différents sous-répertoires, présentés dans le Tableau E. 3, « Répertoires et contenu du kit de développement PayPal ». TABLEAU E. 3 Répertoires et contenu du kit de développement PayPal Répertoire Description bin DLL compilées du kit de développement PayPal docs Documentation de classe Ndoc Documentation et Guide du kit de développement PayPal 168 samples\ASPNET Exemples de codes utilisant le kit de développement PayPal dans les sous-répertoires samples\cert sdk-seller.p12 Certificat d'API pour l'utilisateur de l'API sdk-seller_api1.sdk.com Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal ASP.NET Installation du kit de développement PayPal ASP.NET TABLEAU E. 3 Répertoires et contenu du kit de développement PayPal (suite) Répertoire Description src Fichiers de projet Visual Studio et fichiers source du kit de développement PayPal. Ce dossier n'existe que si vous avez installé la source du kit de développement PayPal. Configurations personnalisées facultatives de Web.config Vous pouvez ajouter des paramètres personnalisés facultatifs dans le fichier Web.config. Ajout des paramètres PayPal Pour commencer, ajoutez une balise <section name=”paypal”>, tel qu'indiqué ci-dessous. La section doit être placée dans <configSections> qui suit immédiatement la balise <configuration> supérieure. <configuration> <configSections> <section name=”paypal” type=”com.paypal.sdk.core.ConfigSectionHandler, paypal_base”/> <configSections> Les paramètres personnalisés facultatifs sont contenus dans un bloc <paypal> qui se trouve plus bas dans le fichier : <paypal> ... paramètres personnalisés ... </paypal> Journaux du kit de développement PayPal Le kit de développement PayPal utilise le logiciel de journalisation public log4net. Pour en savoir plus sur log4net, consultez sa documentation, à la page http://logging.apache.org/log4net/release/manual/introduction.html. Cette section décrit les niveaux de journalisation du kit de développement PayPal, les fichiers de configuration dans lesquels le niveau souhaité est défini ainsi que la journalisation des requêtes. Niveaux de journalisation La quantité de détails enregistrée par le kit de développement PayPal varie en fonction de quatre Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 169 Le kit de développement PayPal ASP.NET Installation du kit de développement PayPal ASP.NET niveaux de journalisation. TABLEAU E. 4 Niveaux de journalisation du kit de développement PayPal Niveau Description ALL Identique à DEBUG ERROR Consigne uniquement les erreurs graves INFO Date/heure de l'opération API, nom de l'opération, temps écoulé, indication de réussite ou d'échec DEBUG Texte complet des requêtes et réponses et des autres messages de débogage. Le niveau de journalisation DEBUG peut réduire les performances du kit de développement PayPal. Evitez de l'utiliser au quotidien. R E M A R Q U E : les requêtes et réponses étant asynchrones, leur enregistrement dans le fichier journal peut paraître désordonné. Définir les niveaux de journalisation du kit de développement PayPal Afin d'activer la journalisation pour les applications Web utilisant le kit de développement PayPal, ajoutez les lignes ci-après dans le bloc <configuration> du fichier Web.config. Vous pouvez copier ces lignes dans le fichier SDK_root\samples\ASPNET\Web.config. z Vous pouvez modifier la valeur de l'élément file afin d'enregistrer le contenu du journal dans un emplacement de votre choix. z Définissez la valeur de l'élément level en choisissant un niveau de détail décrit dans le Tableau E. 4, « Niveaux de journalisation du kit de développement PayPal ». <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <log4net> <appender name="PAYPALLOGFILE" type="log4net.Appender.RollingFileAppender"> <file value="logs/paypal.sdk.log" /> <appendToFile value="true" /> <encoding value="UTF-8" /> <rollingStyle value="5" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%d{dd MMM yyyy HH:mm:ss} %-5p [%C{1}] %m%n" /> </layout> </appender> <logger name="com.paypal.sdk"> <level value="ALL" /> <appender-ref ref="PAYPALLOGFILE" /> 170 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal ASP.NET Documentation complète du kit de développement PayPal et des classes d'API </logger> </log4net> Activer la prise en charge des procurations Si votre application se trouve derrière un serveur de procurations, vous devez activer la prise en charge des procurations dans le fichier Web.config. Pour savoir comment utiliser l'élément system.net dans le fichier Web.config, reportez-vous à la section Configuration des applications Internet de MSDN Library. Désinstaller le kit de développement PayPal Pour désinstaller le kit de développement PayPal, utilisez la fonction Ajout/Suppression de programmes du Panneau de configuration de Microsoft Windows. Documentation complète du kit de développement PayPal et des classes d'API Une documentation Microsoft .NET Ndoc complète relative à l'ensemble des interfaces, classes, méthodes, structures et types de données du kit de développement PayPal est fournie avec la version du kit. Pour l'afficher, ouvrez le fichier suivant dans votre navigateur Web : SDK_root/docs/PayPalBaseAPI.chm Préférences Avant toute utilisation, le kit de développement PayPal doit identifier les préférences de l'utilisateur qui accède à ses services. Ces préférences sont un ensemble d'informations relatives à un marchand ou à un développeur qui utilise le kit de développement PayPal. Des préférences API sont associées aux services API, notamment : z Identifiant et mot de passe API PayPal. z Si vous utilisez des certificats API, chemin du certificat API au format P12 et mot de passe de la clé privée pour accéder à ce certificat. z Si vous utilisez des signatures API, chaîne de la signature. z Nom facultatif d'un tiers qui autorise l'appelant à invoquer les API PayPal en son nom. Ce tiers porte le nom d'appelé. z Environnement PayPal pour traiter les appels API : live or sandbox. Des préférences pour les Paiements sur site marchand cryptés sont associées aux services EWP, notamment : z Chemin d'accès de la copie locale du certificat public utilisée par le marchand Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 171 Le kit de développement PayPal ASP.NET Préférences z Mot de passe pour la clé privée du certificat public z Chemin d'accès du fichier de la clé privée d'un marchand pour la signature numérique des données z URL vers laquelle le formulaire du bouton renvoie (POST) z URL facultative d'une image de bouton de paiement. Par défaut, il s'agit du bouton PayPal standard Acheter maintenant. Pour en savoir plus sur le fonctionnement de Paiements sur site marchand cryptés, reportezvous au Guide d'intégration de Paiements sur site marchand disponible à l'adresse https://www.paypal.com/en_US/pdf/PP_WebsitePaymentsStandard_IntegrationGuide.pdf. Aperçu des classes liées aux préférences Les principales interfaces et classes des préférences du kit de développement PayPal sont présentées dans le tableau Tableau E. 5, « Récapitulatif des interfaces et classes liées aux préférences du kit de développement PayPal ASP.NET ». TABLEAU E. 5 Récapitulatif des interfaces et classes liées aux préférences du kit de développement PayPal ASP.NET 172 Interface/Classe Description Interface IAPIProfile Cette interface définit les informations de base requises par PayPal au sujet d'un utilisateur des API PayPal. Les développeurs doivent créer une instance de l'interface IAPIProfile pour chaque compte qui accède aux API. Pour les développeurs d'un marchand unique, une seule instance de IAPIProfile est nécessaire. PayPal propose une classe d'implémentation par défaut appelée DefaultAPIProfile, adaptée aux besoins de la plupart des développeurs utilisant le kit de développement PayPal. Toutefois, vous pouvez écrire une implémentation personnalisée, si vous avez besoin d'une fonctionnalité supplémentaire, qui n'existe pas dans la classe par défaut. Classe ProfileFactory Cette classe crée l'objet IAPIProfile. Elle contient des méthodes statiques qui gèrent l'instanciation et la construction des objets de préférences. Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal ASP.NET Exemples d'applications TABLEAU E. 5 Récapitulatif des interfaces et classes liées aux préférences du kit de développement PayPal ASP.NET (suite) Interface/Classe Description Interface EWPProfile Cette interface définit les informations de base requises par PayPal au sujet d'un utilisateur de son service Paiements sur site marchand cryptés (EWP, Encrypted Website Payments). Les développeurs doivent créer une instance de l'interface EWPProfile pour chaque compte qui crée le code du bouton crypté (pour les utilisateurs d'un marchand unique, il y aura une seule instance). PayPal propose une classe d'implémentation de base appelée DefaultEWPProfile, adaptée aux besoins de la plupart des développeurs utilisant le kit de développement PayPal. Toutefois, vous pouvez écrire une implémentation personnalisée, si vous avez besoin d'une fonctionnalité qui n'existe pas dans la classe par défaut. Exemples d'applications Le kit de développement PayPal contient des exemples d'applications, placés dans le dossier SDK_root\samples\ASPNET. Le dossier samples\ASPNET est divisé en sous-dossiers par produit. TABLEAU E. 6 Exemples par produit Sous-dossier dans SDK_Root\samples\ASPNET Produits admin DoCapture DoVoid GetTransactionDetails MassPay RefundTransaction TransactionSearch DoReauthorization Exemple d'utilisateur API avec signature API Les exemples sont fournis avec une signature API à utiliser avec les exemples et l'environnement de test PayPal. Cette signature API appartient à l'utilisateur suivant : Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 173 Le kit de développement PayPal ASP.NET Exemple d'utilisateur API avec certificat d'API TABLEAU E. 7 Détails de l'exemple de signature API Identifiant API sdk-three_api1.sdk.com Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU IMPO RTANT : vous devez protéger les valeurs de la signature API lors de l'implémentation. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. L'exemple de code ne sauvegarde pas ces valeurs de manière sûre. Il ne doit en aucun cas être utilisé dans un environnement de production. Exemple d'utilisateur API avec certificat d'API Les exemples sont fournis avec un certificat d'API numérique à utiliser avec le kit de développement PayPal et l'Environnement de test PayPal. Ce certificat appartient à l'utilisateur suivant : TABLEAU E. 8 Détails de l'exemple de certificat d'API du kit de développement PayPal Emplacement du certificat SDK_root\samples\Certs\sdk-seller.p12 Identifiant API sdk-seller_api1.sdk.com Mot de passe API 12345678 Mot de passe PKCS12 mot de passe IMPO RTANT : vous devez protéger les valeurs du certificat API lors l'implémentation. Nous vous conseillons de sauvegarder ces valeurs dans un endroit sûr autre que la racine des documents de votre serveur Web. Pensez également à définir les droits d'accès à ce fichier, de sorte que seul l'utilisateur système exécutant votre application de commerce électronique puisse y accéder. L'exemple de. code ne sauvegarde pas ces valeurs de manière sûre. Il ne doit en aucun cas être utilisé dans un environnement de production. 174 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Le kit de développement PayPal ASP.NET Installer les exemples sur Microsoft IIS Installer les exemples sur Microsoft IIS REMARQUE : vérifiez que vous avez ouvert une session administrateur, que Microsoft IIS est en cours d'exécution et que WinHttpCertCfg.exe figure dans votre variable PATH. Pour installer les exemples dans Microsoft IIS : 1. Exécuter SDK_root\samples\ASPNET\InstallSample.bat. 2. Pour autoriser l'ouverture de session, remplacez les permissions du dossier localComputerName\ASPNET par Contrôle total. InstallSample.bat exécute les opérations suivantes : – Crée dans Microsoft IIS un répertoire virtuel appelé PaypalASPNETSample qui pointe sur SDK_root\samples\ASPNET. – Charge l'exemple de certificat d'API SDK_root\samples\Certs\sdk-seller.p12 dans le magasin système de Microsoft Windows. – Utilise la commande WinHttpCertCfg.exe pour octroyer à ce certificat un accès illimité au compte Everyone. Exécuter les exemples Pour exécuter les exemples, ouvrez l'URL suivante dans Internet Explorer : http://localhost/PaypalASPNETSamples. Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 175 Le kit de développement PayPal ASP.NET Exécuter les exemples 176 Mai 2007 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) B Codes pays R E M A R Q U E : ce tableau répertorie les codes pays définis par la norme ISO 3166-1. TABLEAU F.1 Codes pays Pays Code BELGIQUE BE BELIZE BZ BENIN BJ Pays Code BERMUDES BM AFGHANISTAN AF BHOUTAN BT ÅLAND, ILES AX BOLIVIE BO ALBANIE AL BOSNIE-HERZEGOVINE BA ALGERIE DZ BOTSWANA BW SAMOA AMERICAINES AS BOUVET, ILE BV ANDORRE AD BRESIL BR ANGOLA AO OCEAN INDIEN, TERRITOIRE BRITANNIQUE DE L' IO ANGUILLA AI BRUNEI DARUSSALAM BN ANTARCTIQUE AQ BULGARIE BG ANTIGUA-ET-BARBUDA AG BURKINA FASO BF ARGENTINE AR BURUNDI BI ARMENIE AM CAMBODGE KH ARUBA AW CAMEROUN CM AUSTRALIE AU CANADA CA AUTRICHE AT CAP-VERT CV AZERBAIDJAN AZ CAIMANES, ILES KY BAHAMAS BS BH CENTRAFRICAINE, REPUBLIQUE CF BAHREIN BANGLADESH BD TCHAD TD BARBADE BB CHILI CL BIELORUSSIE BY CHINE CN Guide de référence de l'API SOAP Mai 2007 177 Codes pays 178 Pays Code Pays Code CHRISTMAS, ILE CX FINLANDE FI COCOS (KEELING), ILES CC FRANCE FR COLOMBIE CO GUYANE FRANCAISE GF COMORES KM POLYNESIE FRANCAISE PF CONGO CG TF CONGO, REPUBLIQUE DEMOCRATIQUE DU CD TERRES AUSTRALES FRANÇAISES GABON GA COOK, ILES CK GAMBIE GM COSTA RICA CR GEORGIE GE COTE D'IVOIRE CI ALLEMAGNE DE CROATIE HR GHANA GH CUBA CU GIBRALTAR GI CHYPRE CY GRECE GR TCHEQUE, REPUBLIQUE CZ GROENLAND GL DANEMARK DK GRENADE GD DJIBOUTI DJ GUADELOUPE GP DOMINIQUE DM GUAM GU DOMINICAINE, REPUBLIQUE DO GUATEMALA GT GUERNESEY GG EQUATEUR EC GUINEE GN EGYPTE EG GUINEE-BISSAU GW EL SALVADOR SV GUYANA GY GUINEE EQUATORIALE GQ HAITI HT ERYTHREE ER EE HEARD, ILE ET MCDONALD, ILES HM ESTONIE ETHIOPIE ET VA FALKLAND (MALVINAS), ILES FK SAINT SIEGE (ETAT DE LA CITE DU VATICAN) HONDURAS HN FEROE, ILES FO HONG-KONG HK FIDJI FJ HONGRIE HU Mai 2007 Guide de référence de l'API SOAP Codes pays Pays Code Pays Code ISLANDE IS LIECHTENSTEIN LI INDE IN LITUANIE LT INDONESIE ID LUXEMBOURG LU IRAN, REPUBLIQUE ISLAMIQUE D' IR MACAO MO IQ IRLANDE IE MACEDOINE, EXREPUBLIQUE YOUGOSLAVE DE MK IRAK MAN, ILE DE IM MADAGASCAR MG ISRAEL IL MALAWI MW ITALIE IT MALAISIE MY JAMAIQUE JM MALDIVES MV JAPON JP MALI ML JERSEY JE MALTE MT JORDANIE JO MARSHALL, ILES MH KAZAKHSTAN KZ MARTINIQUE MQ KENYA KE MAURITANIE MR KIRIBATI KI MAURICE MU COREE, REPUBLIQUE POPULAIRE DEMOCRATIQUE DE KP MAYOTTE YT MEXIQUE MX KR MICRONESIE, ETATS FEDERES DE FM COREE, REPUBLIQUE DE KOWEIT KW MOLDOVA, REPUBLIQUE DE MD KIRGHIZISTAN KG MONACO MC LAOS, REPUBLIQUE DEMOCRATIQUE POPULAIRE LA MONGOLIE MN MONTSERRAT MS LETTONIE LV MAROC MA LIBAN LB MOZAMBIQUE MZ LESOTHO LS MYANMAR MM LIBERIA LR NAMIBIE NA JAMAHIRIYA ARABE LIBYENNE LY NAURU NR Guide de référence de l'API SOAP Mai 2007 179 Codes pays 180 Pays Code Pays Code NEPAL NP RUSSIE, FEDERATION DE RU PAYS-BAS NL RWANDA RW ANTILLES NEERLANDAISES AN SAINTE-HELENE SH NOUVELLE-CALEDONIE NC SAINT-KITTS-ET-NEVIS KN NOUVELLE-ZELANDE NZ SAINTE-LUCIE LC NICARAGUA NI PM NIGER NE SAINT-PIERRE-ETMIQUELON NIGERIA NG SAINT-VINCENT-ET-LES GRENADINES VC NIUE NU SAMOA WS NORFOLK, ILE NF SAINT-MARIN SM MARIANNES DU NORD, ILES MP SAO TOME ET PRINCIPE ST NORVEGE NO ARABIE SAOUDITE SA OMAN OM SENEGAL SN PAKISTAN PK SERBIE-ET-MONTENEGRO CS PALAOS PW SEYCHELLES SC TERRITOIRE PALESTINIEN OCCUPÉ PS SIERRA LEONE SL PANAMA PA SINGAPOUR SG PAPOUASIE-NOUVELLEGUINEE PG SLOVAQUIE SK SLOVENIE SI PARAGUAY PY SALOMON, ILES SB PEROU PE SOMALIE SO PHILIPPINES PH AFRIQUE DU SUD ZA PITCAIRN PN GS POLOGNE PL GEORGIE DU SUD ET LES ILES SANDWICH DU SUD PORTUGAL PT ESPAGNE ES PORTO RICO PR SRI LANKA LK QATAR QA SOUDAN SD REUNION RE SURINAM SR ROUMANIE RO SVALBARD ET ILE JAN MAYEN SJ Mai 2007 Guide de référence de l'API SOAP Codes pays Pays Code Pays Code SWAZILAND SZ VENEZUELA VE SUEDE SE VIET NAM VN SUISSE CH VG REPUBLIQUE ARABE SYRIENNE SY ILES VIERGES BRITANNIQUES VI TAIWAN, PROVINCE DE CHINE TW ILES VIERGES DES ETATSUNIS WALLIS ET FUTUNA WF TADJIKISTAN TJ SAHARA OCCIDENTAL EH TANZANIE, REPUBLIQUE UNIE DE TZ YEMEN YE ZAMBIE ZM THAILANDE TH ZIMBABWE ZW TIMOR-LESTE TL TOGO TG TOKELAU TK TONGA TO TRINITE-ET-TOBAGO TT TUNISIE TN TURQUIE TR TURKMENISTAN TM TURKS ET CAIQUES, ILES TC TUVALU TV OUGANDA UG UKRAINE UA EMIRATS ARABES UNIS AE ROYAUME-UNI GB ETATS-UNIS US ILES MINEURES ELOIGNEES DES ETATS-UNIS UM URUGUAY UY OUZBEKISTAN UZ VANUATU VU Guide de référence de l'API SOAP Mai 2007 181 Codes pays 182 Mai 2007 Guide de référence de l'API SOAP Index A C ACCT 81 ACK 19, 20, 105 ADDRESSOWNER 85 ADDRESSSTATUS 67, 85 ADDROVERRIDE 62 Ajout/Suppression de programmes 171 AMT 52 DoAuthorization request 74 DoAuthorization response 75 DoCapture 75 DoCapture response 77 DoExpressCheckoutPayment 68 DoReauthorization 78 RefundTransaction 79 rembourser 52 Réponse DoExpressCheckoutPayment 72 Réponse GetTransactionDetails 87 TransactionSearch 82 Annulation de contre-operation 87 Annulé 87 Annulée (état de la transaction) 83 api.sandbox.paypal.com 21 api-3t.paypal.com 21 api-3t.sandbox.paypal.com 21 AUCTIONITEMNUMBER 81 AUD 55 AUTHORIZATIONID 49, 75, 76 DoReauthorization request 78 DoReauthorization response 78 DoVoid 78 DoVoid response 79 AuthorizationID 72 CAD 55 certificat exemple 165, 174 certificat d'API 14, 21 certificat numérique exemple 165, 174 chaîne encodée au format URL 18 Champs de DoReferenceTransactionRequest 100 Champs de DoReferenceTransactionResponse 103 CHF 55 chm, documentation 171 CITY 100 Classe CertificateAPIProfile 163 Classe DefaultAPIProfile 172 Classe ProfileFactory 163, 172 Classe Profiles 163 Classe SignatureAPIProfile 163 CLASSPATH 160 CLOSINGDATE 90 Code d'erreurs 146 codes des devises 55 ColdFusion 158 Collecter l'intégralité du montant d'une autorisation 50 Collecter une partie du montant d'une autorisation 50 COMPLETETYPE 49, 50, 75 compte Business PayPal créer 15 CORRELATIONID 19, 20, 105 COUNTRYCODE 66, 101 Couronne 55, 56 Couronne danoise 55 Couronne norvégienne 56 Couronne suédoise 56 Couronne tchèque 55 CURRENCYCODE 61, 69, 72, 74, 75, 78, 90 currencyID 101, 102, 103 CUSTOM 62, 67, 68, 88 CZK 55 B balise paypal dans Web.Config 169 BUILD 19, 20, 105 BUSINESS 66 BUTTONSOURCE 69 BUYERID 90 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 183 Index D F DESC 61, 68 devises acceptées par PayPal 55 Direct Payment 164 DKK 55 DoAuthorization 49 DoCapture 49, 50, 164, 173 Documentation 168 Documentation Javadoc pour le kit de développement PayPal 161 Dollar américain 56 Dollar australien 55 Dollar canadien 55 Dollar de Hong-Kong 56 Dollar de Singapour 56 Dollar néo-zélandais 56 DoReauthorization 49, 173 DoVoid 49, 164, 173 FEEAMT 72, 77, 87 FEEREFUNDAMT 79 fichiers source 169 FIRSTNAME 66, 81, 85, 95, 100 Forint 56 Forint hongrois 56 format URL 16 Franc suisse 55 GBP 56 GetTransactionDetails 53, 164 GROSSREFUNDAMT 79 Guide d'intégration de Paiements sur site marchand 162, 172 H E EFFECTIVEDATE 89 EMAIL 61, 66, 85, 95, 100 TransactionSearch 80 EMAILSUBJECT 91 En attente 87 En attente (état de la transaction) 83 encodage dans l'URL 17, 19, 20 ASP classique 17 ASP.NET 17 ColdFusion 17 Java 17 PHP 17 encoder dans l'URL 55 ENDDATE 80 Environnement de test 21 EUR 56 Euro 56 EXCHANGERATE 73, 77, 87 Exemple d'application 173 exemple d'informations d'authentification API 14, 155, 164, 165, 174 Exemple de certificat d'API 165, 174 Exemple de signature API 14, 155, 164, 174 Expiré 87 184 G Mai 2007 HANDLINGAMT 34, 69 HDRBACKCOLOR 63 HDRBORDERCOLOR 63 HDRIMG 63 HKD 56 HUF 56 I IIS 175 informations d'authentification API 18 créer 16 obtenir 14 Insérer une remarque lors du remboursement 52 InstallSample.bat 175 Interface EWPProfile 163, 173 Interface IAPIProfile 163, 172 INVNUM 62, 67, 69, 76, 80, 88 ITEMAMT 34, 69 J Jeton 24, 42 jeton 24, 42 JPY 56 JSP 164 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Index K Kit de développement Java 1.4 159 L L 70 L_AMTn 33, 70, 84, 89, 90 L_DESCn 89 L_EMAILn 83, 90 L_FEEAMTn 84 L_NAMEn 33, 70, 83 L_NETAMTn 84 L_NOTEn 91 L_NUMBERn 33, 70, 89 L_OPTIONSn 89 L_PROMOCODE0 63, 70 L_QTY 70 L_QTYn 33, 70, 89 L_RECEIVERIDn 90 L_STATUSn 84 L_TAXAMTn 33, 70 L_TIMESTAMPn 83 L_TIMEZONEn 83 L_TRANSACTIONIDn 83 L_TYPEn 83 L_UNIQUEIDn 91 LASTNAME 66, 81, 85, 95, 100 Livre sterling 56 LOCALECODE 63 log4j.properties 161 log4net 169 RefundTransaction 79 TransactionSearch 80 Microsoft .NET 1.1 167 MIDDLENAME 66, 81, 85, 95 Mot de passe API 15, 155, 164, 174 MULTIITEM 90 N NETREFUNDAMT 79 Niveaux de journalisation 169 NOK 56 NOSHIPPING 62 NotComplete 50 NOTE DoCapture 76 DoVoid request 78 RefundTransaction 79 Réponse GetTransactionDetails 88 NOTIFYURL 69 NVP envoyer 20 format 16 format de la réponse 19 erreur 20 valeurs de ACK 20 format de la requête 18 modèle de requête-réponse 16 requête créer et envoyer 15 interpréter 15 NZD 56 M O magasin système 175 MassPay 173 MAXAMT 61 METHOD 19 DoAuthorization 74 DoCapture 75 DoExpressCheckoutPayment 68 DoReauthorization 78 DoVoid 78 GetExpressCheckoutDetails 65 GetTransactionDetails 84 MassPay 90 Obtenir les détails de la transaction 173 ORDERTIME 72, 77, 86 P PAGESTYLE 63 Paiement express PayPal 164 paramètres API 19 paramètres de sécurité obligatoire 18 PARENTTRANSACTIONID 76, 86 PASSWORD 89 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 185 Index PAYERBUSINESS 85, 95 PAYERID 66, 68, 85, 95, 100 PAYERSTATUS 66, 85, 95 PAYFLOWCOLOR 63 PAYMENTACTION 61, 68 PaymentAction 72 PAYMENTSTATUS 73, 77, 87 PAYMENTTYPE 72, 76, 86 PENDINGREASON 73, 88 PendingReason 87 PERIOD 90 PHONENUM 64, 67 PLN 56 Préférences pour les Paiements sur site marchand cryptés définition 162, 171 Présentation 37 PWD 18 R REASONCODE 74, 88 ReasonCode 87 REATTEMPT 89 RECEIPTID 76, 80, 86 RECEIVER 80 RECEIVERBUSINESS 84 RECEIVEREMAIL 84 RECEIVERID 85 RECEIVERTYPE 90 RECURRENCES 89 RECURRING 90 RefundTransaction 51, 164, 173 REFUNDTRANSACTIONID 79 REFUNDTYPE 52, 79 Refusé 87 Refusée (état de la transaction) 83 Remboursé 87 Rembourser le montant intégral de la transaction 52 Rembourser une partie du montant 52 REQCONFIRMSHIPPING 62 RETRYTIME 89 Réussie (état de la transaction) 83 S SALESTAX 88 186 Mai 2007 SALUTATION 66, 81, 85, 95 sdk-seller.p12 165, 168, 174 sdk-seller_api1.sdk.com 14, 155, 164, 165, 174 sdk-three_api1.sdk.com 14, 155, 164, 174 SEK 56 serveurs API PayPal certificat d'API 21 signature API 21 serveurs API PayPal certificat d'API 21 signature API 21 Service Pack 1 de Microsoft .NET Framework 1.1 168 SETTLEAMT 72, 77, 87 SGD 56 SHIPPINGAMT 34, 69 SHIPTOCITY 56, 64, 67, 71, 85, 102 SHIPTOCOUNTRYCODE 57, 64, 67, 71, 85, 95, 103 SHIPTONAME 56, 64, 66, 71, 85, 102 SHIPTOPHONENUM 57, 71, 85, 103 SHIPTOSTATE 56, 64, 67, 71, 86, 102 SHIPTOSTREET 56, 64, 67, 71, 86, 102 SHIPTOSTREET2 57, 64, 67, 71, 86, 103 SHIPTOZIP 56, 64, 67, 71, 86, 103 SIGNATURE 18 signature API 14, 21 src 169 STARTDATE 52, 80 STATE 100 STATUS 83 STREET 100 SUBJECT 18 SUBSCRIPTIONDATE 89 SUBSCRIPTIONID 89 successResponseFields, defini 19 SUFFIX 66, 81, 85, 95 T TAXAMT 34, 69, 73, 77, 87 Terminé 87 TOKEN 71 DoExpressCheckoutPayment 68 GetExpressCheckoutDetails 65 Réponse GetExpressCheckoutDetails 66 Réponse SetExpressCheckout 65 SetExpressCheckout 62 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Index Token 65 token 65 Traité 87 Traitée (état de la transaction) 83 TRANSACTIONCLASS 82 TRANSACTIONENTITY 74 TRANSACTIONID 49 DoAuthorization 74 DoAuthorization response 75 DoCapture response 76 GetTransactionDetails 84 RefundTransaction 79 Réponse DoExpressCheckoutPayment 72 Réponse GetTransactionDetails 86 TransactionSearch 80 TransactionSearch 52, 164, 173 TRANSACTIONTYPE 72, 76, 86 TransactionType 74, 88 Y Yen 56 Yen japonais 56 Z ZIP 101 Zloty 56 Zloty polonais 56 U UrlDecode 17 urldecode() 17 URLDecoder 17 URLDecodeurlEncodedString 17 URLEncode 17 UrlEncode 17 urlencode() 17 URLEncodedFormatstring 17 URLEncoder.encode 17 USD 56 USER 18 USERNAME 89 UTC/GMT 83 V VERSION 19, 20, 105 VERSION=2.3 18 W Web.config 169, 170 balise paypal 169 WinHttpCertCfg.exe 175 WinHttpPCertCfg.exe 175 Guide de développement et référence de l’API Paire Nom-Valeur (NVP) Mai 2007 187