▼
Scroll to page 2
of
219
Guide de référence de l'API SOAP Référence : 100002.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. Sommaire Préface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 A propos de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Public ciblé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Conventions typographiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Problèmes relatifs à la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Historique des révisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Chapitre 1 Architecture de l'API SOAP de PayPal . . . . . . . . . . . 13 Architecture des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Définitions du schéma WSDL/XSD PayPal . . . . . . . . . . . . . . . . . . . . . . . 14 Concepts et terminologie API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 RequesterCredentials SOAP : identifiant, mot de passe, signature et appelé. . . . . . 16 Nœuds de service SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Implémentation SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Style de message SOAP : doc-literal . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Structure d'une requête SOAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Structure d'une requête . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Structure de la réponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Réponses aux erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 CorrelationID pour signaler des problèmes à PayPal . . . . . . . . . . . . . . . . . . 23 Définitions de l'API SOAP de PayPal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Codage de caractères, types et formats des données et devises . . . . . . . . . . . . 24 API par fonction de gestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 API pour échanger des fonds ou afficher des informations . . . . . . . . . . . . . . . 26 Notification instantanée de paiement et API . . . . . . . . . . . . . . . . . . . . . . . 26 Mai 2007 3 Sommaire Chapitre 2 Structures fondamentales des requêtes et des réponses eBL . . . . . . . . . . . . . . . . . . . . 29 Schéma des principaux types eBL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 AbstractRequestType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 AbstractResponseType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Chapitre 3 API Autorisation et collecte . . . . . . . . . . . . . . . . . 33 DoCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Schéma des types de DoCapture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 DoCaptureRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 DoCaptureResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 DoAuthorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Schéma des types de DoAuthorization . . . . . . . . . . . . . . . . . . . . . . . . . 41 DoAuthorizationRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 DoAuthorizationResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 DoVoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Schéma des types de DoVoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 DoVoidRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 DoVoidResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 DoReauthorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Schéma des types de DoReauthorization . . . . . . . . . . . . . . . . . . . . . . . . 45 DoReauthorizationRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 DoReauthorizationResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Chapitre 4 API Paiement express PayPal . . . . . . . . . . . . . . . 47 Paiement express PayPal pour les enchères eBay . . . . . . . . . . . . . . . . . . . . . 47 SetExpressCheckout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Schéma des types de Set ExpressCheckout . . . . . . . . . . . . . . . . . . . . . . 48 SetExpressCheckoutRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 SetExpressCheckoutResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 GetExpressCheckoutDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Schéma des types de GetExpressCheckoutDetails . . . . . . . . . . . . . . . . . . . 58 GetExpressCheckoutDetailsRequest . . . . . . . . . . . . . . . . . . . . . . . . . . 59 GetExpressCheckoutDetailsResponse . . . . . . . . . . . . . . . . . . . . . . . . . 60 DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Schéma des types de DoExpressCheckoutPayment . . . . . . . . . . . . . . . . . . 63 4 Mai 2007 Sommaire DoExpressCheckoutPaymentRequest. . . . . . . . . . . . . . . . . . . . . . . . . . 64 DoExpressCheckoutPaymentResponse. . . . . . . . . . . . . . . . . . . . . . . . . 72 Chapitre 5 API GetTransactionDetails . . . . . . . . . . . . . . . . . 77 Schéma des types de GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . 77 GetTransactionDetailsRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 GetTransactionDetailsResponse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Chapitre 6 API MassPay . . . . . . . . . . . . . . . . . . . . . . . . 91 Notification instantanée de paiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Schéma des types de MassPay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 MassPayRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 MassPayResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Chapitre 7 API RefundTransaction . . . . . . . . . . . . . . . . . . . 97 Schéma des types de RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . 97 RefundTransactionRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 RefundTransactionResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Chapitre 8 API TransactionSearch . . . . . . . . . . . . . . . . . . 101 Schéma des types de TransactionSearch . . . . . . . . . . . . . . . . . . . . . . . . . .101 TransactionSearchRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 TransactionSearchResponse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 Mai 2007 5 Sommaire Chapitre 9 API Paiements récurrents . . . . . . . . . . . . . . . . . 109 SetCustomerBillingAgreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Schéma des types de SetCustomerBillingAgreement . . . . . . . . . . . . . . . . . . 110 SetCustomerBillingAgreementRequest . . . . . . . . . . . . . . . . . . . . . . . . . 110 SetCustomerBillingAgreementResponse . . . . . . . . . . . . . . . . . . . . . . . . 113 GetBillingAgreementCustomerDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Schéma des types de GetBillingAgreementCustomerDetails . . . . . . . . . . . . . . 114 GetBillingAgreementCustomerDetailsRequest . . . . . . . . . . . . . . . . . . . . . 114 GetBillingAgreementCustomerDetailsResponse . . . . . . . . . . . . . . . . . . . . 115 CreateRecurringPaymentsProfile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Schéma des types de CreateRecurringPaymentsProfile . . . . . . . . . . . . . . . . 115 CreateRecurringPaymentsProfileRequest . . . . . . . . . . . . . . . . . . . . . . . . 116 CreateRecurringPaymentsProfileResponse . . . . . . . . . . . . . . . . . . . . . . . 119 Chapitre 10 ReferenceTransactions . . . . . . . . . . . . . . . . . . 121 DoReferenceTransaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 DoReferenceTransactionRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . .123 DoReferenceTransactionResponse . . . . . . . . . . . . . . . . . . . . . . . . . . .125 Annexe A Codes et messages d'erreur de toutes les API PayPal . . 129 Erreurs de l'API Autorisation et collecte . . . . . . . . . . . . . . . . . . . . . . . . . . .129 Erreurs de l'API Paiement express PayPal . . . . . . . . . . . . . . . . . . . . . . . . .133 Erreurs de l'API GetTransactionDetails . . . . . . . . . . . . . . . . . . . . . . . . . . .151 Erreurs de l'API MassPay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151 Erreurs de l'API RefundTransaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 Erreurs de l'API TransactionSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159 Erreurs de l'API Paiements récurrents . . . . . . . . . . . . . . . . . . . . . . . . . . . .160 Erreurs SetCustomerBillingAgreement . . . . . . . . . . . . . . . . . . . . . . . . .160 Erreurs de GetBillingAgreementCustomerDetails . . . . . . . . . . . . . . . . . . . .162 Erreurs de CreateRecurringPaymentsProfile . . . . . . . . . . . . . . . . . . . . . .163 Transactions de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 Annexe B Kit de développement Java pour l'API SOAP . . . . . . . 171 Installation du kit de développement PayPal. . . . . . . . . . . . . . . . . . . . . . . . .171 Langues acceptées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171 Numéro de version du kit de développement PayPal . . . . . . . . . . . . . . . . . .171 Configuration matérielle recommandée . . . . . . . . . . . . . . . . . . . . . . . . . . .172 6 Mai 2007 Sommaire Télécharger et décompresser le kit de développement PayPal . . . . . . . . . . . . . . .172 Configuration post-installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172 Ajouter des fichiers JAR du kit de développement PayPal dans CLASSPATH . . . . .172 Répertoires et configurations facultatives du kit de développement PayPal . . . . . .173 Journaux du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . . .173 Services d'API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174 Préférences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Exemples d'applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177 Exemple d'utilisateur API avec signature API . . . . . . . . . . . . . . . . . . . . . .177 Exemple d'utilisateur API avec certificat d'API. . . . . . . . . . . . . . . . . . . . . .178 Configurer ColdFusion pour le kit de développement PayPal Java . . . . . . . . . . . . .178 Récapitulatif des étapes de l'installation . . . . . . . . . . . . . . . . . . . . . . . . .178 Exemples de pages CFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .179 Recopier les fichiers JAR après les mises à jour WSDL . . . . . . . . . . . . . . . .180 Annexe C Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP . . . . . . . . . . . . . . . . . 181 Installation du kit de développement PayPal. . . . . . . . . . . . . . . . . . . . . . . . .181 Normes acceptées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 Télécharger et installer le kit de développement PayPal . . . . . . . . . . . . . . . .182 Répertoires du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . .182 Désinstaller le kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . .183 Installer les exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 Configuration du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . . .183 Ajouter les références ASP.NET dans les DLL du kit de développement PayPal . . . .183 Modifier le fichier Web.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 Définir le nombre maximum de tentatives pour les requêtes SOAP. . . . . . . . . . .184 Journaux du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . . .184 Activer la prise en charge des procurations pour ASP.NET . . . . . . . . . . . . . . .186 Services d'API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 Documentation complète du kit de développement PayPal et des classes d'API . . . .187 Préférences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 Aperçu des classes liées aux préférences. . . . . . . . . . . . . . . . . . . . . . . .188 Classes COM spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189 COMAdapter2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189 COMArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 COMUtil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190 Exemples d'applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191 Exemple d'utilisateur API avec signature API . . . . . . . . . . . . . . . . . . . . . .191 Mai 2007 7 Sommaire Exemple d'utilisateur et de certificat d'API . . . . . . . . . . . . . . . . . . . . . . . .192 Installer les exemples sur Microsoft IIS . . . . . . . . . . . . . . . . . . . . . . . . .192 Exécuter les exemples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 Annexe D Kit de développement PHP pour l'API SOAP . . . . . . . 195 Configurer PHP et Apache pour le kit de développement PayPal . . . . . . . . . . . . . .195 Normes acceptées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 Langues acceptées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 Numéro de version du kit de développement PayPal . . . . . . . . . . . . . . . . . .196 Télécharger et installer le kit de développement PayPal . . . . . . . . . . . . . . . . . .196 Installer sur un ordinateur local . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 Installer sur un ordinateur distant à partir de Microsoft Windows . . . . . . . . . . . .197 Répertoires et fichiers de configuration du kit de développement PayPal . . . . . . . . . .198 Fichier de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .199 Journaux du kit de développement PayPal . . . . . . . . . . . . . . . . . . . . . . .199 Services d'API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 Préférences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 Aperçu des classes liées aux préférences. . . . . . . . . . . . . . . . . . . . . . . .202 Exemples d'applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 Exemple d'utilisateur API avec signature API . . . . . . . . . . . . . . . . . . . . . .203 Exemple d'utilisateur et de certificat d'API . . . . . . . . . . . . . . . . . . . . . . . .203 Exécuter les exemples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 Annexe E Abréviations des états et provinces . . . . . . . . . . . . 205 Annexe F Codes pays . . . . . . . . . . . . . . . . . . . . . . . . 209 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 8 Mai 2007 Préface A propos de ce document Ce document décrit l'API (Application Programming Interface) et le service SOAP PayPal. Public ciblé Ce document s'adresse aux programmeurs qui maîtrisent les normes de programmation, par exemple le protocole SOAP (Simple Object Access Protocol), le langage WSDL (Web Services Description Language) et le langage XSD (XML Schema Definition). Conventions typographiques Différents types de caractères sont utilisés dans ce document pour identifier les caractéristiques du texte. Ces types de caractères et leurs caractéristiques sont décrits cidessous : Type de caractère Utilisation italique sérif Titre de document Terme traité ou défini Exemple : un fichier est un flux de données sous forme de caractères lisibles ou inscriptibles… Valeurs booléennes (pas les mots-clés) Exemple : la fonction renvoie la valeur true si une erreur se produit. Guide de référence de l'API SOAP Mai 2007 9 Conventions typographiques Type de caractère police à espacement constant Utilisation Chemins d'accès aux fichiers ou noms de fichier apparaissant dans le corps du texte. Noms associés au code apparaissant dans le corps du texte. Ces noms sont utilisés pour les fonctions, les rappels, les arguments, les structures de données et les champs. Exemple : AbstractResponseType est le type de réponse SOAP sur lequel sont basés tous les modes de réponse API de PayPal. Composants de requêtes et de réponses de protocole Internet, tels que les variables HTTPS et FORM. Exemple : le système PayPal utilise une requête method=POST pour renvoyer les variables d'état NIP relatives aux abonnements, telles que txn_type. gras sérif Noms d'interfaces utilisateur, tels que les noms de fenêtres ou les options de menus. Exemple : dans la page Préférences, cliquez sur Email pour confirmer votre adresse email. oblique sansérif Espaces réservés utilisés dans le contexte d'un format, ou norme de programmation, ou descriptions formelles de la syntaxe du système PayPal. Les espaces réservés indiquent les valeurs ou les noms que l'utilisateur doit fournir. Exemple : par exemple, amount est la variable d'un panier contenant un seul objet, mais amount_X est le nom de la variable d'un panier contenant plusieurs objets. amount_3 est le montant du troisième objet dans un panier contenant plusieurs objets. Outre les types de caractères décrits ci-dessus, les mots et les phrases de ce document peuvent également apparaître en gras ou soulignés, auquel cas ils donnent des informations supplémentaires. Ces informations sont décrites ci-dessous : Attribut du texte 10 Utilisation xxxxxx Lien hypertexte vers une page du document actuel ou vers un autre document de l'ensemble. xxxxxx Lien hypertexte vers une URL ou démarrant une action Web, telle que l'envoi d'un email. Mai 2007 Guide de référence de l'API SOAP Problèmes relatifs à la documentation 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, sa date (indiquée dans le pied de page de chaque page) 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 : 1. Connectez-vous à votre compte à l'adresse https://developer.paypal.com/ en entrant votre adresse email et votre mot de passe dans la zone Connexion sécurisée. 2. Cliquez sur Help Center en haut à droite de la page. 3. Cliquez sur Email PayPal Technical Support. 4. Complétez le formulaire. Historique des révisions Historique des révisions du Guide de référence de l’API SOAP. TABLEAU P.1 Historique des révisions Date Description Avril 2007 Ajout d'API pour les paiements récurrents : SetCustomerBillingAgreement, GetBillingAgreementCustomerDetails et CreateRecurringPaymentsProfile. Mars 2007 Correction de problèmes mineurs y compris l'ajout des codes Switch/Solo aux codes de réponse AVS et aux codes de réponse CVV2 (cryptogramme visuel), dans le chapitre API Paiement direct. Février 2007 Correction de problèmes mineurs. Décembre 2006 Correction de problèmes mineurs. Octobre 2006 Ouvrage rebaptisé Guide de référence de développement d'API SOAP Les guides précédents portant sur les kits de développement pour SOAP sont inclus dans cet ouvrage. Juin 2006 Champ CardNumber ajouté à l'API TransactionSearch. Messages d'erreur sensiblement améliorés pour l'API Paiement direct. Changements mineurs dans un message d'erreur de l'API Paiements groupés. Mars 2006 Mise à jour avec les nouvelles informations d'identification des API : signatures API. Nouveau nœud de service SOAP pour les signatures. Diverses corrections mineures. Guide de référence de l'API SOAP Mai 2007 11 Historique des révisions TABLEAU P.1 Historique des révisions (suite) 12 Date Description Janvier 2006 Messages d'erreur supplémentaires pour les API Autorisation et collecte et les API Paiement express PayPal. Décembre 2005 Suppression de la description erronée indiquant que le champ cpp-headerimage de SetExpressCheckoutRequest doit être encodé dans l'URL. Mai 2007 Guide de référence de l'API SOAP 1 Architecture de l'API SOAP de PayPal L'API SOAP de PayPal offre un accès par programmation aux fonctions et services de PayPal. Les développeurs peuvent créer des applications, des outils et des services personnalisés qui correspondent aux mêmes services et outils disponibles sur le site principal de Paypal, https://www.paypal.fr/. Les applications classiques sont la recherche de transactions, les paiements groupés et les remboursements. L'API repose sur des normes ouvertes communément appelées « Services Web », qui englobent le protocole SOAP (Simple Object Access Protocol), le langage WSDL (Web Services Definition Language) et le langage XSD (XML Schema Definition). Ces normes sont acceptées par un large éventail d'outils de développement sur diverses plates-formes. Architecture des services A l'instar de nombreux services Web, les services SOAP de PayPal constituent une combinaison de schémas, de serveurs matériels et logiciels et de services de base côté client et côté serveur. Guide de référence de l'API SOAP Mai 2007 13 Architecture de l'API SOAP de PayPal Architecture des services FIGURE 1.1 Schéma détaillé des services SOAP de PayPal Dans un modèle de traitement orienté objet, l'interface des requêtes et des réponses SOAP est un objet dans le langage de programmation natif de votre application. Votre client SOAP tiers génère les interfaces vers des objets métier et les relais réseau à partir des fichiers WSDL et XSD fournis par PayPal qui indiquent la structure du message SOAP, son contenu et les liaisons des services de l'API PayPal. Une application d'entreprise utilise des données sous forme de propriétés d'objets pour envoyer et recevoir des données en appelant des méthodes d'objet. Le client SOAP gère les détails relatifs à la création de la requête SOAP, à son envoi au service PayPal et à la reconversion de la réponse en objet. Définitions du schéma WSDL/XSD PayPal Le schéma des services Web de PayPal et ses composants eBay Business Language (eBL) de base et principaux sous-jacents sont obligatoires pour développer des applications avec l'API PayPal. Le tableau ci-après indique les emplacements des fichiers WSDL et XSD. TABLEAU 1.1 Emplacements des fichiers WSDL et XSD de PayPal Développer et tester avec le service de l'API de l'Environnement de test de PayPal 14 Schéma de PayPal https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl Composants eBL de base et types de composants https://www.sandbox.paypal.com/wsdl/eBLBaseComponents.xsd https://www.sandbox.paypal.com/wsdl/CoreComponentTypes.xsd Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Architecture des services TABLEAU 1.1 Emplacements des fichiers WSDL et XSD de PayPal (suite) Production avec le service de l'API PayPal en direct Schéma de PayPal https://www.paypal.com/wsdl/PayPalSvc.wsdl Composants eBL de base et types de composants http://www.paypal.com/wsdl/eBLBaseComponents.xsd http://www.paypal.com/wsdl/CoreComponentTypes.xsd Concepts et terminologie API Vous trouverez ci-dessous quelques concepts et termes de base concernant le service API de PayPal et l'authentification de la sécurité. TABLEAU 1.2 Concepts et termes de base relatifs à la configuration de l'API PayPal Terme Définition Appels API Services d'API (Application Programming Interface) PayPal permettant aux sociétés d'effectuer des paiements, de rechercher des transactions, de rembourser des paiements, d'afficher les informations sur les transactions et d'autres fonctions de gestion. Certificat d'API S'exclut mutuellement avec la signature API. Fichier de certificat numérique unique généré par PayPal que vous devez télécharger sur le site de PayPal et utiliser sur l'ordinateur client pour crypter les requêtes HTTPS de vos appels API vers le serveur API PayPal. Vous pouvez utiliser un certificat d'API si vous disposez d'un contrôle total sur votre propre serveur Web. Signature API S'exclut mutuellement avec la signature API. Signature numérique unique générée par PayPal (ligne de texte ou hachage) que vous copiez sur le site de PayPal et incluez dans vos appels API. Alternative à la sécurité par certificat d'API. La combinaison de votre signature numérique, votre identifiant API et votre mot de passe API forme une authentification à trois jetons car vous incluez chacun d'eux comme jeton par programmation dans vos appels API. Une signature API convient parfaitement pour les serveurs Web Microsoft Windows ou d'autres configurations de serveur Web partagées, par exemple celles utilisées par les services d'hébergement Web. Identifiant et mot de passe API Nom et mot de passe d'identification de compte générés par PayPal que vous utilisez spécifiquement pour effectuer des appels API. Vous devez entrer votre identifiant et votre mot de passe API pour chaque appel API. L'identifiant et le mot de passe API diffèrent de vos identifiant (adresse email) et mot de passe de connexion PayPal. Autorisation d'appelé Indicateur dans un appel API du compte pour lequel l'appel est effectué. Correspond à la fonction par programmation de l'autorisation tierce. La valeur du champ Appelé est l'adresse email PayPal du tiers. Guide de référence de l'API SOAP Mai 2007 15 Architecture de l'API SOAP de PayPal Architecture des services TABLEAU 1.2 Concepts et termes de base relatifs à la configuration de l'API PayPal (suite) Terme Définition Accès direct Une société effectue elle-même des appels API à partir de son propre serveur vers le serveur de PayPal. Elle possède son propre certificat d'API, ou encore sa signature, son identifiant et son mot de passe API. Exemple : Un programmateur de la société d'un marchand obtient un fichier de certificat d'API délivré par PayPal et effectue des appels API pour la société à partir de son serveur Web. Accès tiers Une autre personne ou société effectue des appels API pour votre compte. Vous octroyez au tiers la permission d'effectuer des appels API pour vous. Exemple : Un service d'hébergement sur Internet possède ses propres certificat d'API, identifiant et mot de passe API. Ses clients, à savoir des marchands qui utilisent PayPal, autorisent le service d'hébergement à effectuer des appels API pour leur compte. Le service d'hébergement inclut l'adresse email PayPal du marchand dans le champ Appelé d'un appel API. Sécurité Le service API SOAP de PayPal est protégé, et seuls les membres PayPal autorisés peuvent l'utiliser. Il existe quatre niveaux de sécurité : 1. Un identifiant API (champ Identifiant) et un mot de passe API (champ Mot de passe) obligatoires 2. Un troisième mécanisme d'authentification obligatoire, parmi les suivants : – Signature des requêtes côté client via un certificat d'API émis par PayPal – Authentification des requêtes via une signature API incluse dans la requête (champ Signature) 3. Autorisation tierce facultative d'effectuer l'appel API au nom d'un autre compte (champ Appelé facultatif) 4. Transmission de données SSL (Secure Sockets Layer) En cas d'échec de la sécurité authentifiée à l'un de ces niveaux, l'accès à l'API SOAP de PayPal est refusé. RequesterCredentials SOAP : identifiant, mot de passe, signature et appelé Pour la sécurité de votre entreprise, PayPal doit vérifier que les marchands ou les développeurs tiers sont autorisés à initier une transaction avant d'en effectuer une. PayPal authentifie chaque requête. Si la requête ne peut pas être authentifiée, une erreur de sécurité SOAP est renvoyée. 16 Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Architecture des services Dans l'en-tête de la requête SOAP, votre client SOAP doit définir les éléments Username et Password pour transmettre une combinaison identifiant/mot de passe API. En outre, vous pouvez définir les éléments Signature ou Subject pour indiquer votre chaîne de signature API et une adresse email de compte tiers facultative pour l'authentification. Vous trouverez cidessous un exemple partiel des éléments RequesterCredentials requis pour toutes les requêtes SOAP. Pour une corrélation de ces éléments avec la structure générique d'une requête SOAP complète, reportez-vous à la section « Structure d'une requête SOAP » page 18. <SOAP-ENV:Header> <RequesterCredentials xmlns=”urn:ebay:api:PayPalAPI” xsi:type=”ebl:CustomSecurityHeaderType”> <Credentials xmlns=”urn:ebay:apis:eBLBaseComponents” xsi:type=”ebl:UserIdPasswordType”> <Username>api_username</Username> <Password>api_password</Password> <Signature>api_signature</Signature> <Subject>authorizing_account_emailaddress</Subject> </Credentials> </RequesterCredentials> </SOAP-ENV:Header> où : TABLEAU 1.3 Eléments d'authentification RequesterCredentials dans un en-tête SOAP Elément Valeur Description <Identifiant> api_username Votre identifiant API, généré automatiquement par PayPal lorsque vous demandez un certificat numérique pour utiliser l'API SOAP de PayPal. Cette valeur s'affiche sur https://www.paypal.fr/ dans vos Préférences sous Accès à l'API > Informations relatives au certificat d'API. R E M A R Q U E : le Guide d'utilisation de l'Environnement de test PayPal explique comment obtenir des certificats numériques à utiliser avec l'API SOAP de PayPal. <Mot de passe> api_password Votre mot de passe API, que vous spécifiez lorsque vous demandez un certificat numérique pour utiliser l'API SOAP de PayPal. <Signature> api_signature Votre signature API, si vous en utilisez une à la place d'un certificat d'API. <Appelé> authorizing_ account_ emailaddress Adresse email d'un tiers pour lequel vous envoyez des requêtes à l'API SOAP de PayPal. Votre identifiant API doit avoir reçu l'autorisation de ce tiers d'effectuer une requête API PayPal spécifique. Guide de référence de l'API SOAP Mai 2007 17 Architecture de l'API SOAP de PayPal Nœuds de service SOAP Nœuds de service SOAP Selon le mécanisme d'authentification que vous avez choisi, vos requêtes SOAP doivent être traitées par différents nœuds de service. TABLEAU 1.4 Nœuds de service SOAP Mécanisme d'authentification Nœud de service réel de production Nœud de service test (Environnement de test) Signature API https://api-3t.paypal.com/2.0/ https://api-3t.sandbox.paypal.com/2.0/ Certificat d'API https://api.paypal.com/2.0/ https://api.sandbox.paypal.com/2.0/ REMARQUE : pour la correspondance entre les appels API et leurs nœuds de service, reportez-vous au Tableau 1.8, « API par fonction de gestion », page 25. Implémentation SOAP Cette section contient des informations sur l'implémentation SOAP de PayPal. Style de message SOAP : doc-literal PayPal utilise des messages SOAP de type doc-literal, et non rpc-encoding. Avec doc-literal, un appel d'interface de service unique transmet un document XLM dans la requête au serveur API de PayPal, qui répond par une instance de document XML. Structure d'une requête SOAP Le schéma suivant illustre le contenu de la structure d'une requête SOAP de PayPal. Toutes les API PayPal reposent sur deux structures fondamentales : AbstractRequestType et AbstractResponseType. 18 Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Implémentation SOAP FIGURE 1.2 Schéma de l'enveloppe d'une requête SOAP Structure d'une requête Vous trouverez ci-dessous la description annotée de la structure de requête SOAP requise par l'API SOAP de PayPal. Structure générale de la requête SOAP de l'API PayPal <?xml version=”1.0” encoding=”UTF-8”?> <SOAP-ENV:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/” ><SOAP-ENV:Header> <RequesterCredentials xmlns=”urn:ebay:api:PayPalAPI”> <Credentials xmlns=”urn:ebay:apis:eBLBaseComponents”> <Username>api_username</Username> <Password>api_password</Password> <Signature/> <Subject/> </Credentials> </RequesterCredentials> </SOAP-ENV:Header> <SOAP-ENV:Body> <specific_api_name_Req xmlns=”urn:ebay:api:PayPalAPI”> Guide de référence de l'API SOAP Mai 2007 19 Architecture de l'API SOAP de PayPal Implémentation SOAP <specific_api_name_Request> <Version xmlns=urn:ebay:apis:eBLBaseComponents”>service_version </Version> <required_or_optional_fields xsi:type=”some_type_here”>data </required_or_optional_fields> </specific_api_name_Request> </specific_api_name_Req> </SOAP-ENV:Body> </SOAP-ENV:Envelope> TABLEAU 1.5 Annotation d'une requête SOAP générique 20 Lignes Commentaire 12, 13 Les champs <Username> et <Password> font partie du mécanisme d'authentification de la sécurité <RequesterCredentials> de l'API SOAP de PayPal que vous devez créer pour chaque en-tête de requête SOAP. Pour plus de détails, reportez-vous à la section « RequesterCredentials SOAP : identifiant, mot de passe, signature et appelé » page 16. 14 L'élément <Signature> doit inclure votre chaîne de signature API s'il s'agit du type d'informations d'identification API que vous utilisez. Pour en savoir plus, reportez-vous au Tableau 1.3, « Eléments d'authentification RequesterCredentials dans un entête SOAP », page 17. 15 L'élément <Subject> peut indiquer un compte PayPal tiers qui vous autorise à effectuer cette requête. Pour en savoir plus, reportez-vous au Tableau 1.3, « Eléments d'authentification RequesterCredentials dans un en-tête SOAP », page 17. 19 à 27 La requête SOAP de chaque API PayPal suit le modèle suivant d'attribution de nom aux éléments. L'élément Req est ajouté au nom spécifique de l'API, et specific_api_name_Request est imbriqué dans cet élément. Chaque specific_api_name_Request a un specific_api_name_RequestType correspondant. 22 Le numéro de version de l'API SOAP de PayPal est requis pour chaque requête SOAP. Ce numéro de version est la valeur de ns:version dans https://www.paypal.com/wsdl/PalPalSvc.wsdl 24 Pour en savoir plus sur les éléments et les valeurs obligatoires et facultatifs pour des requêtes spécifiques, consultez la description de chaque API. Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Implémentation SOAP Structure de la réponse Vous trouverez ci-dessous la description annotée de la structure d'une réponse SOAP de l'API PayPal, lorsque la réponse est Success : <?xml version=”1.0”?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:SOAP-ENC=”http://schemas.xmlsoap.org/soap/encoding/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xs=”http://www.w3.org/2001/XMLSchema” xmlns:cc=”urn:ebay:apis:CoreComponentTypes” xmlns:wsu=”http://schemas.xmlsoap.org/ws/2002/07/utility” xmlns:saml=”urn:oasis:names:tc:SAML:1.0:assertion” xmlns:ds=”http://www.w3.org/2000/09/xmldsig#” xmlns:wsse=”http://schemas.xmlsoap.org/ws/2002/12/secext” xmlns:ebl=”urn:ebay:apis:eBLBaseComponents” xmlns:ns=”urn:ebay:api:PayPalAPI”> <SOAP-ENV:Header> <Security xmlns=”http://schemas.xmlsoap.org/ws/2002/12/secext” xsi:type=”wsse:SecurityType” /> <RequesterCredentials xmlns=”urn:ebay:api:PayPalAPI” xsi:type=”ebl:CustomSecurityHeaderType”> <Credentials xmlns=”urn:ebay:apis:eBLBaseComponents” xsi:type=”ebl:UserIdPasswordType” /> </RequesterCredentials> </SOAP-ENV:Header> <SOAP-ENV:Body id=”_0”> <specific_api_name_Response xmlns=”urn:ebay:api:PayPalAPI”> <Timestamp xmlns=”urn:ebay:api:PayPalAPI”> dateTime_in_UTC/GMT </TIMESTAMP> <Ack xmlns=”urn:ebay:apis:eBLBaseComponents”>Success</Ack> <Version xmlns=”urn:ebay:apis:eBLBaseComponents”> serviceVersion </Version> <CorrelationId xmlns=”urn:ebay:apis:eBLBaseComponents”> applicationCorrelation </CorrelationID> <Build xmlns=”urn:ebay:apis:eBLBaseComponents”> api_build_number </Build> <elements_for_specific_api_response> data </elements_for_specific_api_response> </specific_api_name_Response> Guide de référence de l'API SOAP Mai 2007 21 Architecture de l'API SOAP de PayPal Implémentation SOAP </SOAP-ENV:Body> </SOAP-ENV:Envelope> TABLEAU 1.6 Annotation d'une réponse SOAP générique Lignes Commentaire 22 et 31 Eléments de début et de fin de specific_api_name_Response. 23 Chaque réponse API contient un horodateur avec la date et l'heure au format UTC/GMT. 24 L'élément <Ack> contient la chaîne Success lorsque la requête correspondante a été traitée avec succès. (Pour obtenir la liste complète des chaînes renvoyées possibles, reportez-vous à la section « AbstractResponseType » page 30). En cas d'erreurs, Ack est défini sur une valeur autre que Success, et le corps de la réponse contient un élément <Errors> contenant des informations pour vous aider à déterminer la cause de l'erreur. Reportez-vous à la section « Réponses aux erreurs » page 22. 26 L'élément <CorrelationID> contient des informations sur l'application PayPal qui a traité la requête. Utilisez la valeur de cet élément si vous devez résoudre un problème concernant l'une de vos requêtes. 27 à 30 Chaque API PayPal renvoie une structure différente en fonction de ses définitions de réponse. Pour en savoir plus, consultez la description de chaque API. R E M A R Q U E : le fait qu'un champ soit défini dans la structure formelle d'une réponse API n'implique pas forcément que ce champ soit renvoyé. Les données sont renvoyées dans une réponse uniquement si PayPal a enregistré les données associées au champ. Réponses aux erreurs Si une requête est incorrecte ou si une autre erreur est détectée, le corps de la réponse SOAP contient un élément <Errors> ainsi que d'autres éléments qui peuvent vous aider à déterminer la cause de l'erreur. Les plus importants de ces autres éléments sont les suivants : z ShortMessage z LongMessage z ErrorCode Pour une description du contenu de ces éléments, reportez-vous à l'Annexe A, «“Codes et messages d'erreur de toutes les API PayPal”». L'exemple ci-après présente la réponse d'erreur qui s'affiche si votre identifiant et mot de passe API ne correspondent pas à ceux enregistrés chez PayPal. Exemple de réponse d'erreur SOAP : Identifiant ou mot de passe incorrect <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope details not shown> 22 Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Définitions de l'API SOAP de PayPal <SOAP-ENV:Header>... details not shown.</SOAP-ENV:Header> <SOAP-ENV:Body id="_0"> <GetTransactionDetailsResponse xmlns="urn:ebay:api:PayPalAPI"> <Timestamp xmlns="urn:ebay:apis:eBLBaseComponents"> 2005-02-09T21:51:26Z </Timestamp> <Ack xmlns="urn:ebay:apis:eBLBaseComponents">Failure</Ack> <Errors xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:ErrorType"> <ShortMessage xsi:type="xs:string"> Authentication/Authorization Failed </ShortMessage> <LongMessage xsi:type="xs:string"> L'identifiant ou le mot de passe est incorrect </LongMessage> <ErrorCode xsi:type="xs:token">10002</ErrorCode> <SeverityCode xmlns="urn:ebay:apis:eBLBaseComponents"> Error </SeverityCode> </Errors> <CorrelationID xmlns="urn:ebay:apis:eBLBaseComponents"> debugging_info </CorrelationID> <Version xmlns="urn:ebay:apis:eBLBaseComponents"> 1.000000 </Version> <Build xmlns="urn:ebay:apis:eBLBaseComponents">1.0006</Build> .. autres éléments de la réponse. </SOAP-ENV:Body> </SOAP-ENV:Envelope> CorrelationID pour signaler des problèmes à PayPal La valeur renvoyée dans CorrelationID est importante car elle permet à PayPal de déterminer la cause précise d'une éventuelle erreur que vous pouvez rencontrer. Si vous devez résoudre un problème concernant vos requêtes, nous vous recommandons d'extraire la valeur de CorrelationID afin de la communiquer à PayPal. Définitions de l'API SOAP de PayPal L'API SOAP de PayPal comprend des définitions API individuelles pour des fonctions de gestion spécifiques. En tant que base, l'API repose sur la base et les principaux composants eBL (eBay Business Language). Les structures eBL principales AbstractRequestType et AbstractResponseType constituent la base de la requête et de la réponse SOAP de chaque API PayPal. AbstractResponseType est également le cadre des messages d'erreur communs à toutes les API PayPal. Guide de référence de l'API SOAP Mai 2007 23 Architecture de l'API SOAP de PayPal Définitions de l'API SOAP de PayPal PayPal a pris certaines décisions concernant la conception des schémas qui peuvent influer sur la manière dont les entreprises conçoivent leurs propres applications. z Enumérations : les énumérations sont définies directement dans le schéma de l'API PayPal. z Informations sur la résolution des problèmes : l'API PayPal renvoie des informations sur les éléments qui ont déclenché des erreurs. z Compatibilité en amont : la version de l'API PayPal a été mise à niveau de telle sorte que les applications d'entreprise sont compatibles en amont lorsque de nouveaux éléments sont introduits dans le schéma côté serveur. REMARQUE : eBL définit de nombreuses structures propres au traitement des enchères. Ces définitions sont contenues dans le schéma SOAP de PayPal afin de garantir une compatibilité en amont avec SOAP d'eBay et une utilisation conjointe future de SOAP sur eBay et PayPal. Les informations contenues dans ce document portent uniquement sur les définitions SOAP afférentes à l'utilisation de l'API SOAP de PayPal. Codage de caractères, types et formats des données et devises Cette section présente en détail le codage et les jeux de caractères, ainsi que les types et formats des données de date. Codage de caractères UTF-8 Le service API SOAP de PayPal considère que toutes les données contenues dans les requêtes SOAP sont au format Unicode, précisément au format de codage 8 bits Unicode (ou UCS) Transformation Format (UTF-8). Dans les réponses SOAP, le service renvoie toujours les données au format UTF-8. Formats de date et d'heure Le schéma API SOAP de PayPal définit les valeurs de date et d'heure comme étant Heure universelle coordonnée (UTC/GMT), utilisant le format ISO 8601, et de type ns:dateTime. Exemple d'horodatage : 2006-08-24T05:38:48Z Ttype de données de base pour le montant des devises Le type de données de base pour le montant des devises est appelé BasicAmountType et est dérivé d'une chaîne, et tous les éléments relatifs au montant des devises présentent la structure ci-après : 1. L'attribut currencyID est requis. 2. Le montant doit comporter deux positions décimales. 3. Le séparateur décimal doit être une virgule (« , »). 4. Vous ne devez pas utiliser de séparateur des milliers. 24 Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Définitions de l'API SOAP de PayPal 5. BasicAmountType a pour type de données ebl:CurrencyCodeType, qui définit un grand nombre de codes de devises différents. Toutefois, pour que le traitement se déroule correctement, vous devez définir currencyCode sur l'une des valeurs de la première colonne du « Codage de caractères, types et formats des données et devises » page 24. Certaines API ne prennent en charge qu'un sous-ensemble de ces devises. Voici un exemple. (Le nom de champ Amount est un exemple ; les noms de champs réels varient selon l'API spécifique). <Amount currencyID=”currencyCode”>3.00</Amount> API par fonction de gestion L'API SOAP de PayPal comprend des définitions API individuelles pour des utilisations de gestion spécifiques. TABLEAU 1.8 API par fonction de gestion Fonction de gestion Requête/Réponse SOAP API Autorisation et collecte DoCaptureRequest DoCaptureResponse DoAuthorizationRequest DoAuthorizationResponse DoVoidRequest DoVoidResponse DoReauthorizationReques DoReauthorizationResponse API Paiement direct DoDirectPaymentRequest DoDirectPaymentResponse API Paiement express PayPal SetExpressCheckoutRequest SetExpressCheckoutResponse GetExpressCheckoutDetailsRequest GetExpressCheckoutDetailsResponse DoExpressCheckoutPaymentRequest DoExpressCheckoutPaymentResponse API GetTransaction Details GetTransactionDetailsRequest GetTransactionDetailsResponse API MassPay MassPayRequest MassPayResponse API Refund Transaction RefundTransactionRequest RefundTransactionResponse Guide de référence de l'API SOAP Mai 2007 25 Architecture de l'API SOAP de PayPal Définitions de l'API SOAP de PayPal TABLEAU 1.8 API par fonction de gestion (suite) Fonction de gestion Requête/Réponse SOAP API Transaction Search TransactionSearchRequest TransactionSearchResponse API pour échanger des fonds ou afficher des informations Toutes les API PayPal portent sur les transactions commerciales. Toutefois, elles peuvent être classées par catégorie comme suit : z API donnant lieu à un échange de fonds : z Autorisation et collecte z Paiement express PayPal z MassPay z RefundTransaction z API fournissant des informations sur les transactions commerciales : z GetTransactionDetails z TransactionSearch Notification instantanée de paiement et API L'utilisation d'une API PayPal donnant lieu à un échange de fonds déclenche l'envoi d'une notification instantanée de paiement. L'émetteur de l'appel API reçoit la notification instantanée de paiement. Les API qui envoient des notifications instantanées de paiement sont les suivantes : A l'exception de Masspay, la réponse API contient toutes les informations nécessaires à la transaction. z DoExpressCheckoutPayment z DoDirectPayment z DoCapture z RefundTransaction z MassPay Pour en savoir plus sur la fonction de notification instantanée de paiement, reportez-vous au Guide d'intégration de la gestion des commandes de PayPal. 26 Mai 2007 Guide de référence de l'API SOAP Architecture de l'API SOAP de PayPal Définitions de l'API SOAP de PayPal Guide de référence de l'API SOAP Mai 2007 27 Architecture de l'API SOAP de PayPal Définitions de l'API SOAP de PayPal 28 Mai 2007 Guide de référence de l'API SOAP 2 Structures fondamentales des requêtes et des réponses eBL L'API SOAP de PayPal repose sur les structures fondamentales du schéma eBL qui définit les éléments requis dans toutes les requêtes et les réponses SOAP : z AbstractRequestType z AbstractResponseType Schéma des principaux types eBL Le schéma suivant représente la composition des éléments AbstractRequestType et AbstractResponseType. FIGURE 2.1 Principaux types eBL Guide de référence de l'API SOAP Mai 2007 29 Structures fondamentales des requêtes et des réponses eBL AbstractRequestType AbstractRequestType AbstractRequestType est la définition type de base pour toutes les requêtes SOAP de PayPal. IMPO RTANT : vous devez définir la valeur de l'élément Version pour toutes les requêtes sur l'une des API PayPal. Champs TABLEAU 2.1 Champs de AbstractRequestType Elément Description Version Une chaîne représentant la version du schéma PayPal, plus précisément la valeur de l'attribut version de l'élément wsdl:definitions. Pour connaître l'emplacement du schéma PayPal, reportez-vous à la section Type de données Valeurs autorisées xs:string Voir le schéma PayPal. Obligatoire ? Oui « Définitions du schéma WSDL/XSD PayPal » page 14. AbstractResponseType AbstractResponseType est la définition type de base pour toutes les réponses SOAP de PayPal. Champs Pour en savoir plus sur les codes et les messages d'erreur et leur signification, consultez l' Annexe A, « Codes et messages d'erreur de toutes les API PayPal ». TABLEAU 2.2 Champs de AbstractResponseType 30 Elément Description Type de données Timestamp Date et heure (UTC/GMT) de génération de la réponse par le service SOAP de PayPal à la suite du traitement d'une requête. xs:dateTime Mai 2007 Valeurs possibles Transactionspecific Guide de référence de l'API SOAP Structures fondamentales des requêtes et des réponses eBL AbstractResponseType TABLEAU 2.2 Champs de AbstractResponseType (suite) Valeurs possibles Elément Description Type de données Ack Jeton représentant le code d'accusé de réception au niveau de l'application. Contient l'une des valeurs énumérées suivantes : z Success : le traitement de la requête s'est correctement déroulé. z Failure : le traitement de la requête a échoué. z SuccessWithWarning : le traitement de la requête s'est correctement déroulé, mais les mises en garde générées dans Errors doivent être traitées ou enregistrées par l'application demandeuse. z FailureWithWarning : le traitement de la requête a échoué, et les erreurs et les mises en garde générées doivent être traitées par l'application demandeuse pour déterminer les causes de l'échec. z CustomCode : réservé à un usage interne ou ultérieur. xs:token Success Failure SuccessWith Warning FailureWith Warning CustomCode Correlation ID Chaîne identifiant la requête API exacte qui a généré cette réponse. Nombre de caractères : 41 caractères au maximum. xs:string Transactionspecific Errors Code et messages d'erreur pour déboguer une réponse. z ErrorCode : jeton définissant le numéro du code d'erreur. z ShortMessage : chaîne contenant le message d'erreur. z LongMessage : chaîne décrivant le message d'erreur. z ErrorParameters : paramètres d'erreur du processeur de carte bancaire. Renvoyé uniquement avec DoDirectPaymentResponse. z SeverityCode : renvoie Error ou Warning. ns:ErrorType xs:token xs:string xs:string ns:SeverityCod eType Transactionspecific Version Une chaîne représentant la version du schéma PayPal, plus précisément la valeur de l'attribut version de l'élément wsdl:definitions. Pour connaître l'emplacement du schéma PayPal, reportez-vous à la section « Définitions du schéma WSDL/XSD PayPal » page 14. xs:string Voir le schéma PayPal Build Chaîne représentant la version logicielle spécifique qui traite la requête et génère la réponse. xs:string Guide de référence de l'API SOAP Mai 2007 31 Structures fondamentales des requêtes et des réponses eBL AbstractResponseType 32 Mai 2007 Guide de référence de l'API SOAP 3 API Autorisation et collecte L'API Autorisation et collecte se compose de requêtes et de réponses individuelles, comme indiqué ci-dessous. TABLEAU 3.1 Noms, fonctions et types d'autorisation de l'API Autorisation et collecte API Fonction Utilisée avec le type d'autorisation DoCapture Régler une commande ou une transaction précédemment autorisée et obtenir le paiement soit du montant total, soit d'une partie du montant. Autorisation de commande et autorisation de base DoAuthorization Autoriser une commande qui peut être honorée audelà de 29 jours. Autorisation de commande uniquement DoVoid Annuler une commande ou une autorisation initiale. Autorisation de commande et autorisation de base DoReauthorization Autoriser à nouveau une transaction précédemment autorisée. Autorisation de base uniquement REMARQUE : pour plus d'informations, reportez-vous au chapitre sur Autorisation et collecte du Guide d'intégration de Paiements express PayPal ou du Guide d'intégration de Paiements sur site marchand. DoCapture DoCaptureRequest est la requête de règlement total ou partiel d'une commande, d'une autorisation ou d'une nouvelle autorisation. REMARQUE : DoCaptureRequest est à utiliser avec les autorisations de base et de commande. Schéma des types de DoCapture Le schéma suivant représente la composition des éléments de DoCaptureRequestType et DoCaptureResponseType. Les éléments obligatoires de la requête sont signalés par un astérisque. Guide de référence de l'API SOAP Mai 2007 33 API Autorisation et collecte DoCapture FIGURE 3.1 Types de DoCapture DoCaptureRequest Demande de collecte de fonds sur le compte d'un utilisateur PayPal. Champs TABLEAU 3.2 Champs de DoCaptureRequest Champ Description Type de données AuthorizationID Numéro d'autorisation du paiement à collecter. Il s'agit du numéro de transaction renvoyé par DoExpressCheckoutPayment ou DoDirectPayment. xs:string Valeurs autorisées Voir la description. Obligatoire ? Oui Nombre de caractères limite : 19 caractères d'un octet au maximum. 34 Mai 2007 Guide de référence de l'API SOAP API Autorisation et collecte DoCapture TABLEAU 3.2 Champs de DoCaptureRequest (suite) Champ Description Type de données Valeurs autorisées Montant Montant à collecter 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 (.). ebl:BasicAmount transaction Voir la description. Oui Complete transaction 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 ebl:Complete CodeType Complete Not Complete Oui Obligatoire ? R E M A R Q U E : 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 référence de l'API SOAP Mai 2007 35 API Autorisation et collecte DoCapture TABLEAU 3.2 Champs de DoCaptureRequest (suite) Valeurs autorisées Champ Description Type de données Obligatoire ? InvoiceID Votre numéro de facture ou un autre numéro d'identification affiché pour le marchand ou le client dans son historique des transactions xs:string Voir la description. Non xs:string Voir la description. Non R E M A R Q U E : cette valeur de on DoCapture remplace la valeur précédemment définie pour DoAuthorization. R E M A R Q U E : 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 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. Remarque Nombre de caractères limite : 255 sicaractères d'un octet DoCaptureResponse Réponse à DoCaptureRequest. Champs TABLEAU 3.3 Champs de DoCaptureResponse 36 Champ Description Type de données Valeurs possibles AuthorizationID Numéro d'autorisation spécifié dans la requête. Nombre de caractères limite : 19 caractères d'un octet au maximum xs:string Voir la description. Mai 2007 Guide de référence de l'API SOAP API Autorisation et collecte DoCapture TABLEAU 3.3 Champs de DoCaptureResponse (suite) Champ Description Type de données Valeurs possibles PaymentInfo Informations concernant le paiement. ebl:PaymentInfo Type Reportez-vous à la section Tableau 3.4 page 37. TABLEAU 3.4 Réponse : Champs PaymentInfoType Valeurs possibles Champ Description Type de données TransactionID Numéro de transaction unique du paiement. Nombre de caractères limite : 17 caractères d'un octet xs:string Parent TransactionID 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 xs:string Voir la description TransactionType Type de transaction z cart z express-checkout Nombre de caractères limite 15 caractères d'un octet. ns:Payment TransactionCode Type Voir la description PaymentType Indique si le paiement est immédiat ou différé Nombre de caractères limite sept caractères d'un octet ebl:PaymentCode Type none echeck instant Guide de référence de l'API SOAP Mai 2007 Transactionspecific Voir la description 37 API Autorisation et collecte DoCapture TABLEAU 3.4 Réponse : Champs PaymentInfoType (suite) 38 Valeurs possibles Champ Description Type de données PaymentDate Horodatage du paiement. Exemple :2006-0815T17:23:15Z. xs:dateTime Transactionspecific GrossAmount Montant final facturé, incluant les frais d'expédition, de livraison et de TVA de vos Préférences du marchand. ebl:BasicAmount Type Transactionspecific FeeAmount Montant de la commission de PayPal facturée pour la transaction ebl:BasicAmount Type Transactionspecific SettleAmount Montant déposé sur votre compte PayPal en cas de conversion de devise ebl:BasicAmount Type Transactionspecific TaxAmount TVA appliquée à la transaction, le cas échéant ebl:BasicAmount Type Transactionspecific 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. xs:string Transactionspecific Mai 2007 Guide de référence de l'API SOAP API Autorisation et collecte DoCapture TABLEAU 3.4 Réponse : Champs PaymentInfoType (suite) Champ Description Type de données 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é. Voided : L'autorisation pour cette transaction a été annulée. ebl:PaymentStatus CodeType Guide de référence de l'API SOAP Mai 2007 Valeurs possibles None CanceledReversal Completed Denied Expired Failed Pending Refunded Reversed Processed Voided 39 API Autorisation et collecte DoAuthorization TABLEAU 3.4 Réponse : Champs PaymentInfoType (suite) Champ Description Type de données PendingReason PendingReason est renvoyé dans la réponse uniquement si PaymentStatus a la valeur Pending. Motif pour lequel le paiement est en attente : 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. 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. ebl:PendingStatus CodeType Valeurs possibles none address echeck intl multi-currency verify other DoAuthorization REMARQUE : 40 DoAuthorizationRequest doit être utilisé avec les autorisations de commande, pas avec les autorisations de base. Mai 2007 Guide de référence de l'API SOAP API Autorisation et collecte DoAuthorization DoAuthorizationRequest est votre requête concernant l'autorisation de la commande d'un utilisateur qui peut être honorée dans un délai de 29 jours. Vous utilisez DoAuthorizationRequest lorsque vous êtes prêt à expédier les produits à l'utilisateur. Une fois l'expédition effectuée, vous pouvez collecter les fonds à l'aide de DoCapture. Pour utiliser DoAuthorization, vous devez d'abord avoir créé une commande pour un utilisateur. Pour créer une commande, vous disposez de plusieurs possibilités : z En attribuant la valeur Order à l'élément DoExpressCheckoutPaymentRequest ou à DoDirectPaymentRequest PaymentAction. z Avec un panier ou une transaction Paiements sur site marchand PayPal dont la variable HTML paymentaction a la valeur Order. Schéma des types de DoAuthorization Le schéma suivant représente la composition des éléments de DoAuthorizationRequestType et DoAuthorizationResponseType. Les éléments obligatoires de la requête sont signalés par un astérisque. FIGURE 3.2 Types de DoAuthorization DoAuthorizationRequest Demande d'autorisation pour tout ou partie du montant de la commande d'un utilisateur. Guide de référence de l'API SOAP Mai 2007 41 API Autorisation et collecte DoAuthorization Champs TABLEAU 3.5 Champs de DoAuthorizationRequest Champ Description Type de données Valeurs autorisées Obligatoire ? Transaction ID Valeur du numéro de transaction de la commande renvoyée par PayPal xs:string Voir la description. Oui Nombre de caractères limite : caractères d'un octet au maximum Amount Montant à autoriser 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 (.). ebl:BasicAmount Type Voir la description. Oui Transaction Entity Type de transaction à autoriser. La seule valeur acceptable est Order, qui signifie que la transaction représente la commande d'un utilisateur qui peut être honorée au-delà de 29 ebl:Transaction EntityType Order Non DoAuthorizationResponse Réponse à DoAuthorizationRequest. Champs TABLEAU 3.6 Champs de DoAuthorizationResponse 42 Champ Description Type de données Valeurs possibles Transaction ID Numéro d'identification d'autorisation. Nombre de caractères limite 19 caractères d'un octet. xs:string Voir la description. Amount Montant spécifié dans la requête. ebl:BasicAmount Type Voir la description. Mai 2007 Guide de référence de l'API SOAP API Autorisation et collecte DoVoid DoVoid DoVoidRequest annule une commande ou une autorisation. IMPO RTANT : la valeur AuthorizationID spécifiée pour DoVoidRequest doit être le numéro d'autorisation initial, pas la valeur de AuthorizationID renvoyée par DoReauthorizationResponse. Par définition, lorsque le délai d'autorisation expire, l'autorisation ou la nouvelle autorisation d'une transaction est implicitement annulée. REMARQUE : DoVoidRequest est à utiliser avec les autorisations de base et de commande. Schéma des types de DoVoid Le schéma suivant représente la composition des éléments de DoVoidRequestType et DoVoidResponseType. Les éléments obligatoires de la requête sont signalés par un astérisque. FIGURE 3.3 Types de DoVoid DoVoidRequest Demande d'annulation d'une autorisation. Guide de référence de l'API SOAP Mai 2007 43 API Autorisation et collecte DoVoid Champs TABLEAU 3.7 Champs de DoVoidRequest Valeurs autorisées Champ Description Type de données Obligatoire ? Authorization ID Valeur du numéro d'autorisation initial renvoyée par un produit PayPal. xs:string Voir la description. Oui xs:string Voir la description. Non 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 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. Remarque DoVoidResponse Réponse à DoVoidRequest. Champs TABLEAU 3.8 Champs de DoVoidResponse 44 Champ Description Type de données Valeurs possibles Authorization ID Numéro d'autorisation spécifié dans la requête. Nombre de caractères limite : 19 Numéro caractères d'un octet. xs:string Voir la description. Mai 2007 Guide de référence de l'API SOAP API Autorisation et collecte DoReauthorization DoReauthorization REMARQUE : DoReauthorization doit être utilisé uniquement avec les autorisations de base, pas avec les autorisations de commande. Pour utiliser DoReauthorization vous devez avoir au préalable autorisé une transaction, qui doit avoir dépassé son délai de règlement. L'appel de DoReauthorization sur une transaction correcte échouera. Vous pouvez autoriser une transaction de plusieurs manières : z A partir de l'onglet Outils marchands de votre compte marchand PayPal. z En attribuant la valeur Authorization à l'élément DoExpressCheckoutPaymentRequest PaymentAction. z Avec une transaction de panier (comme celles utilisées par Paiements sur site marchand PayPal) dont la variable HTML paymentaction a la valeur Authorization. Vous pouvez invoquer DoReauthorization autant de fois que nécessaire pour obtenir une seule nouvelle autorisation réussie. Lorsque DoReauthorization renvoie un message de réussite, le délai de règlement est réinitialisé, vous pouvez collecter les fonds, mais vous ne pouvez plus demander de nouvelle autorisation. Schéma des types de DoReauthorization Le schéma suivant représente la composition des éléments de DoReauthorizationRequestType et DoReauthorizationResponseType. Les éléments obligatoires de la requête sont signalés par un astérisque. FIGURE 3.4 Types de DoReauthorization DoReauthorizationRequest Requête concernant l'utilisation de Autorisation et collecte pour autoriser à nouveau une transaction. Guide de référence de l'API SOAP Mai 2007 45 API Autorisation et collecte DoReauthorization Champs TABLEAU 3.9 Champs de DoReauthorizationRequest Valeurs autorisées Champ Description Type de données Obligatoire ? Authorization ID 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. xs:string N'importe quel numéro de transaction PayPal préalablement autorisée. Oui Amount 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 (.). eBL:BasicAmount Type Voir la description. Oui DoReauthorizationResponse Réponse à DoReauthorizationRequest. Champs TABLEAU 3.10 Champs de DoReauthorizationResponse 46 Valeurs Type de données possibles Champ Description Authorizati on ID Nouveau numéro d'autorisation. Nombre de caractères limite : 19 caractères d'un octet. Mai 2007 xs:string Voir la description. Guide de référence de l'API SOAP 4 API Paiement express PayPal L'API Paiement express PayPal est la solution alternative à la fonction Panier standard de PayPal dans les Paiements sur site marchand. IMPO RTANT : pour une description détaillée de l'utilisation de Paiement express PayPal, reportez-vous au Guide d'intégration de Paiement express PayPal. L'API Paiement express PayPal est constituée de trois requêtes SOAP que vous faites aux trois points d'intégration pendant le paiement d'un client. Le client est également redirigé vers PayPal. Voici la succession d'étapes : 1. SetExpressCheckout 2. Redirige le navigateur du client vers la page de connexion PayPal 3. GetExpressCheckoutDetails 4. DoExpressCheckoutPayment IMPO RTANT : pour tous les champs relatifs au montant des devises des trois API Paiement express PayPal, l'attribut currencyID doit être défini sur l'un des codes des devises acceptées. Pour une session de paiement concernant un acheteur, ne mélangez pas les devises au sein d'une même requête SOAP ou entre les requêtes SOAP. Par exemple, n'attribuez pas la valeur USD à currencyID dans une requête et la valeur GBP dans une autre requête concernant le même acheteur. Paiement express PayPal pour les enchères eBay Pour utiliser Paiement express PayPal avec les enchères eBay, vous avez plusieurs champs supplémentaires que vous pouvez définir pour contrôler le comportement de Paiement express PayPal : 1. Dans SetExpressCheckout : – ChannelType a la valeur eBayItem 2. Dans DoExpressCheckoutPayment : – – – – PaymentAction doit avoir la valeur Sale EbayItemPaymentDetailsItem.ItemNumber EbayItemPaymentDetailsItem.AuctionTransactionID EbayItemPaymentDetailsItem.OrderID Guide de référence de l'API SOAP Mai 2007 47 API Paiement express PayPal SetExpressCheckout SetExpressCheckout SetExpressCheckout indique à PayPal que vous utilisez Paiement express PayPal pour obtenir le paiement auprès de votre client. Schéma des types de Set ExpressCheckout Le schéma suivant représente la composition des éléments de SetExpressCheckoutRequestType et SetExpressCheckoutResponseType. Les éléments obligatoires de la requête sont signalés par un astérisque. 48 Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal SetExpressCheckout FIGURE 4.1 Types de SetExpressCheckout SetExpressCheckoutRequest Requête pour utiliser la fonction Paiement express PayPal de PayPal afin d'obtenir le paiement. IMPO RTANT : Guide de référence de l'API SOAP les champs des fichiers WSDL ou XSD qui ne sont pas décrits ici sont ignorés. Par exemple, ne définissez pas CountryName. Mai 2007 49 API Paiement express PayPal SetExpressCheckout Champs TABLEAU 4.1 Champs de SetExpressCheckoutRequest Type de données Champ Description 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. 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. OrderTotal Valeurs autorisées Obligatoire ? ebl:Express CheckoutTokenT ype Consultez la description du Tableau 4.3, Non cc:BasicAmount Type Voir la description. « Champs de SetExpressCheckout Response ». Oui R E M A R Q U E : 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 (,). R E M A R Q U E : vovs devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. 50 Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Type de données Champ Description MaxAmount Montant total maximum prévu de la commande complète, y compris frais d'expédition, de livraison et de TVA. Valeurs autorisées Obligatoire ? cc:BasicAmount Type Voir la description. Non R E M A R Q U E : 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 (.). R E M A R Q U E : vovs devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. Order Description Description des objets achetés par le client. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. xs:string Voir la description. Non 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 la réponse. Nombre de caractères limite : 256 caractères alphanumériques d'un octet xs:string Voir la description. Non InvoiceID Votre numéro de facture ou de suivi personnel. PayPal vous renvoie cette valeur dans la réponse. Nombre de caractères limite : 127 caractères alphanumériques d'un octet xs:string Voir la description. Non Guide de référence de l'API SOAP Mai 2007 51 API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Champ Description ReturnURL URL vers laquelle le navigateur du client est renvoyé après avoir choisi de payer avec PayPal. Type de données Valeurs autorisées Obligatoire ? xs:string Voir la description. Oui xs:string Voir la description. Oui ebl:Address Type Reportez-vous au Non R E M A R Q U E : 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. R E M A R Q U E : 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. Address Adresse de livraison du client. R E M A R Q U E : si vous incluez une Tableau 4.2 page 57. adresse de livraison et que vous définissiez l'élément AddressOverride dans la requête, PayPal renvoie cette même adresse dans GetExpressCheckoutDet ailsResponse. 52 Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Type de données Champ Description ReqConfirm Shipping La valeur 1 indique que vous demandez que l'adresse de livraison du client enregistrée chez PayPal soit une adresse confirmée. Valeurs autorisées Obligatoire ? xs:string 0 1 Non R E M A R Q U E : 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. 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. xs:string 0 1 Non Address Override 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. xs:string 0 1 Non R E M A R Q U E : le fait d'afficher l'adresse postale enregistrée chez PayPal ne permet pas au client de modifier cette adresse. Guide de référence de l'API SOAP Mai 2007 53 API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Champ Description 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. Type de données Valeurs autorisées Obligatoire ? xs:string Voir la description. Non xs:string Voir la description. Non R E M A R Q U E : pour consulter la liste des codes pays, reportezvous au Chapter F, “Codes pays”. PageStyle 54 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. Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Champ Description cpp-headerimage 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). Type de données Valeurs autorisées Obligatoire ? xs:string Voir la description. Non Nombre de caractères limite : 127 caractères alphanumériques d'un octet cpp-headerborder-color Définit la couleur de bordure de l'entê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. xs:string Voir la description. Non cpp-headerback-color 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. xs:string Voir la description. Non cpp-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. xs:string Voir la description. Non Guide de référence de l'API SOAP Mai 2007 55 API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Type de données Champ Description Payment Action 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 PayPal Autorisation et collecte. z Sale indique qu'il s'agit d'une vente finale pour laquelle vous demandez un paiement. Valeurs autorisées Obligatoire ? ebl:Payment ActionCodeType xs:token Par défaut : la transaction résultant de DoExpress Checkout Payment Request est une vente finale. Authorization Commande Sale Non ebl:Email AddressType Voir la description. Non R E M A R Q U E : 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 DoExpressCheckoutPaymen t de l'API finale. Nombre de caractères limite : jusqu'à 13 caractères alphabétiques d'un octet. BuyerEmail 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 56 SolutionType Type de procédure de paiement : z Sole : Paiement express PayPal pour les enchères z Mark : Paiement express PayPal normal eBL:Solution TypeType Sole Mark Non LandingPage Type de page PayPal à afficher : z Billing : compte non-PayPal z Login : connexion au compte PayPal eBL:Landing PageType Facturation Mark Non Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal SetExpressCheckout TABLEAU 4.1 Champs de SetExpressCheckoutRequest (suite) Type de données Valeurs autorisées Obligatoire ? Type de canal : z Merchant : vendeur non enchères z eBayItem : enchère eBay eBL:Channel Type Le marchand eBayItem Non Code financier promotionnel des services du marchand xs:string Un code valable Non Champ Description ChannelType PromoCode REMARQUE : les éléments de AddressType sont obligatoires uniquement si vous incluez l'élément Address dans la requête SOAP. IMPO RTANT : les champs des fichiers WSDL ou XSD qui ne sont pas décrits ici sont ignorés. Par exemple, ne définissez pas CountryName. TABLEAU 4.2 Adresse (adresse de livraison) : éléments de AddressType Type de données Valeurs autorisées Nom de la personne associée à cette adresse de livraison. Nombre de caractères limite : 32 caractères d'un octet. xs:string Voir la description. Oui Street1 Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. xs:string Voir la description. Oui Street2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. xs:string Voir la description. Non CityName Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. xs:string Voir la description. Oui StateOr Province Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. Requis pour les adresses américaines (USA) seulement. xs:string Reportez-vous à l'Annexe E, Non Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. xs:string Champ Descriptions Name PostalCode Guide de référence de l'API SOAP Mai 2007 Obligatoire ? “Abréviations des états et provinces. Voir la description. Oui 57 API Paiement express PayPal GetExpressCheckoutDetails TABLEAU 4.2 Adresse (adresse de livraison) : éléments de AddressType (suite) Type de données Valeurs autorisées Code pays. Nombre de caractères : deux caractères d'un octet. ebl:Countr yCode Type xs:string Reportez-vous à l'Annexe F, “Codes pays. Oui Numéro de téléphone. Nombre de caractères limite : 20 caractères d'un octet. xs:string Voir la description. Non Champ Descriptions Country Phone Obligatoire ? SetExpressCheckoutResponse Réponse à SetExpressCheckoutRequest. Champs TABLEAU 4.3 Champs de SetExpressCheckoutResponse Champ Description Type de données Valeur Token Jeton horodaté par lequel vous indiquez à PayPal que vous traitez ce paiement avec la fonction Paiement express PayPal. xs:string Voir la description. R E M A R Q U E : 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. GetExpressCheckoutDetails GetExpressCheckoutDetails renvoie les informations sur le client, y compris son nom et son adresse enregistrés chez PayPal. Schéma des types de GetExpressCheckoutDetails Le schéma suivant représente la composition des éléments de GetExpressCheckoutDetailsRequestType et GetExpressCheckoutDetailsResponseType. 58 Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal GetExpressCheckoutDetails Les éléments obligatoires de la requête sont signalés par un astérisque. FIGURE 4.2 Types de GetExpressCheckout GetExpressCheckoutDetailsRequest Obtient des détails sur un paiement qui doit être traité par la fonction Paiement express PayPal de PayPal. Guide de référence de l'API SOAP Mai 2007 59 API Paiement express PayPal GetExpressCheckoutDetails Champs TABLEAU 4.4 Champs de GetExpressCheckoutDetailsRequest Champ Description 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. Type de données Valeurs autorisées Obligatoire ? xs:string Jeton non expiré Oui GetExpressCheckoutDetailsResponse Réponse à GetExpressCheckoutDetailsRequest. Champs TABLEAU 4.5 Champs de GetExpressCheckoutDetailsResponse Valeurs Type de données possibles 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. xs:string Informations concernant le payeur. ebl:PayerInfo Type PayerInfo Consultez la description du Tableau 4.3, « Champs de SetExpressCheck outResponse ». Reportez-vous à la section Tableau 4.6 page 61. Custom 60 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. Mai 2007 xs:string Voir la description. Guide de référence de l'API SOAP API Paiement express PayPal GetExpressCheckoutDetails TABLEAU 4.5 Champs de GetExpressCheckoutDetailsResponse (suite) Valeurs Type de données possibles Champ Description InvoiceID 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. xs:string Voir la description. ContactPhone Numéro de téléphone à contacter du payeur. xs:string Voir la description. I M P O R T A N T : 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-XXX-XXXX (pour les numéros aux Etats-Unis) ou +XXX XXXXXXXX (pour les autres numéros) REMARQUE : des éléments vides sont renvoyés s'il n'existe pas de données représentatives pour le client. Par exemple, si le client ne représente pas une entreprise (et n'a donc pas de raison sociale enregistrée chez PayPal), l'élément renvoyé n'a pas de valeur : <PayerBusiness/>. TABLEAU 4.6 Réponse : éléments de PayerInfoType Valeurs possibles Champ Description DataType Payer Adresse email du payeur. Nombre de caractères limite : 127 caractères d'un octet. ebl:EmailAddre ss Type Voir la description. PayerID Numéro de compte unique du client PayPal. ebl:UserIDType Voir la description. 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. ebl:PayPalUser StatusCodeType verified unverified PayerName Nom et prénom du payeur. ebl:PersonName Type Reportez-vous à la section Tableau 4.7 page 62. Guide de référence de l'API SOAP Mai 2007 61 API Paiement express PayPal GetExpressCheckoutDetails TABLEAU 4.6 Réponse : éléments de PayerInfoType (suite) Champ Description DataType Valeurs possibles Payer Country 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. ebl:CountryCod e Type Reportez-vous à l'Annexe F, “Codes pays. Payer Business Raison sociale du payeur. Nombre de caractères limite : 127 caractères d'un octet. xs:string Voir la description. Address Informations concernant l'adresse de livraison du payeur. xs:string Reportez-vous à la section Tableau 4.8 page 62. TABLEAU 4.7 Réponse : éléments de PayerName Champ Description DataType Valeurs possibles Salutation Formule d'appel du payeur. Nombre de caractères limite : 20 caractères d'un octet. xs:string Voir la description. FirstName Prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. ebl:PersonName Type Voir la description. MiddleName Deuxième prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. ebl:NameType Voir la description. LastName Nom du payeur. Nombre de caractères limite : 25 caractères d'un octet. ebl:NameType Voir la description. Suffix Suffixe du payeur. Nombre de caractères limite : 12 caractères d'un octet. ebl:SuffixType Voir la description. TABLEAU 4.8 Réponse : champs de AddressType 62 Champ Descriptions Type de données Address Status Etat de l'adresse postale enregistrée chez PayPal ebl:AddressStatus TypeCode Mai 2007 Valeurs possibles none Confirmed Unconfirmed Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.8 Réponse : champs de AddressType (suite) Champ Descriptions Type de données Valeurs possibles Name Nom de la personne associée à cette adresse. xs:string Voir la description. xs:string Voir la description. xs:string Voir la description. xs:string Voir la description. xs:string Voir la description. xs:string Voir la description. ebl:Country Code Type xs:string Reportez-vous à l'Annexe F, “Codes pays. Nombre de caractères limite : 32 caractères d'un octet. Première adresse postale. Street1 Nombre de caractères limite : 100 caractères d'un octet. Seconde adresse postale. Street2 Nombre de caractères limite : 100 caractères d'un octet. Nom de la ville. CityName Nombre de caractères limite : 40 caractères d'un octet. StateOr Province Etat ou province. PostalCode Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 40 caractères d'un octet. Reportez-vous à l'Annexe E, “Abréviations des états et provinces. Nombre de caractères limite : 20 caractères d'un octet. Country Code pays. Nombre de caractères : deux caractères d'un octet. DoExpressCheckoutPayment Avec DoExpressCheckoutPayment, vous obtenez un paiement via Paiement express PayPal pour une vente finale ou vous demandez une autorisation pour collecte ultérieure du paiement. Schéma des types de DoExpressCheckoutPayment Le schéma suivant représente la composition des éléments de DoExpressCheckoutPaymentRequestType et DoExpressCheckoutPaymentResponseType. Les éléments obligatoires de la requête sont signalés par un astérisque. Guide de référence de l'API SOAP Mai 2007 63 API Paiement express PayPal DoExpressCheckoutPayment FIGURE 4.3 Types de DoExpressCheckoutPayment DoExpressCheckoutPaymentRequest Requête pour obtenir le paiement via la fonction Paiement express PayPal de PayPal. IMPO RTANT : 64 PayPal exige qu'un marchand utilisant la fonction Paiement express PayPal affiche pour le client un montant identique à celui qu'il envoie à PayPal dans l'élément OrderTotal avec l'API DoExpressCheckoutPaymentRequest. Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment Champs TABLEAU 4.9 Champs de DoExpressCheckoutPaymentRequest Valeurs Type de données autorisées Champ Description Obligatoire ? 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. xs:string Voir la description. 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 Autorisation et collecte. z Sale indique qu'il s'agit d'une vente finale pour laquelle vous demandez un paiement. ebl:Payment ActionCodeType xs:token Par défaut : la transaction résultant de DoExpress Checkout Payment Request est une vente finale. Authorization Commande Sale Oui I M P O R T A N T : 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 PayPal Express Checkout. Nombre de caractères limite : jusqu'à 13 caractères alphabétiques d'un octet. PayerID Numéro d'identification unique du compte client PayPal renvoyé par la réponse GetExpressCheckoutDetails. Nombre de caractères limite : 13 caractères alphanumériques d'un octet. ebl:UserIDType Voir la description. Oui Payment Details Informations concernant le paiement ebl:Payment Details Type Reportez-vous à la section Oui Guide de référence de l'API SOAP Mai 2007 Tableau 4.10 page 66. 65 API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.10 Requête : champs de PaymentDetailsType Valeurs autorisées Obligatoire ? ebl:BasicAmount Type Voir la description. Oui ebl:BasicAmount Type Voir la description. Non Champ Description Type de données OrderTotal Total de la commande, incluant les frais d'expédition et de livraison, de dossier et le montant de la TVA. R E M A R Q U E : 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 (.). R E M A R Q U E : vovs devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. ItemTotal 66 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 une virgule (,). Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.10 Requête : champs de PaymentDetailsType (suite) Valeurs autorisées Obligatoire ? ebl:BasicAmount Type Voir la description. Non ebl:BasicAmount Type Voir la description. Non Champ Description Type de données Shipping Total Total des frais d'expédition et de livraison de cette commande. R E M A R Q U E : 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. R E M A R Q U E : vovs devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. Handling Total Total des frais de dossier de cette commande. R E M A R Q U E : 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. R E M A R Q U E : vovs 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 référence de l'API SOAP Mai 2007 67 API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.10 Requête : champs de PaymentDetailsType (suite) Valeurs autorisées Obligatoire ? ebl:BasicAmount Type Voir la description. Non xs:string Voir la description. Non Champ Description Type de données TaxTotal Somme des frais de TVA de tous les objets de cette commande. R E M A R Q U E : 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. R E M A R Q U E : vovs 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. Order Description Description des objets achetés par le client. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. Custom Champ à structure non imposée que vous utilisez librement. Nombre de caractères limite : 256 caractères alphanumériques d'un octet. xs:string Voir la description. Non InvoiceID Votre numéro de facture ou de suivi personnel. xs:string Voir la description. Non xs:string Voir la description. Non Nombre de caractères limite : 127 caractères alphanumériques d'un octet ButtonSource 68 Code d'identification permettant aux applications tierces d'identifier les transactions. Nombre de caractères limite : 32 caractères alphanumériques d'un octet. Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.10 Requête : champs de PaymentDetailsType (suite) Champ Description Type de données Valeurs autorisées Obligatoire ? NotifyURL Votre URL pour la réception de la Notification instantanée de paiement (NIP) concernant cette transaction. xs:string Voir la description. Non ebl:AddressType Reportez-vous à la section Non I M P O R T A N T : 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 alphabétiques d'un octet. ShipTo Address Adresse de livraison de la commande. Tableau 4.11 page 69. Payment Details Objet Détails sur chaque objet inclus dans la commande. PromoCode Code financier promotionel des services du marchand ebl:PaymentD etailsItemType Reportez-vous à la section Non Tableau 4.12 page 70. REMARQUE : xs:string Un code valable Non les éléments de AddressType sont obligatoires uniquement si vous incluez l'élément Address dans la requête SOAP. IMPO RTANT : dans le tableau suivant, les champs des fichiers WSDL ou XSD qui ne sont pas décrits ici sont ignorés. Par exemple, ne définissez pas CountryName. TABLEAU 4.11 Requête : ShipToAddress : champs de AddressType Champ Descriptions Type de données Valeurs autorisées Obligatoire ? Name Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères d'un octet. xs:string Voir la description. Oui Guide de référence de l'API SOAP Mai 2007 69 API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.11 Requête : ShipToAddress : champs de AddressType (suite) Champ Descriptions Type de données Valeurs autorisées Obligatoire ? Street1 Première adresse postale. Nombre de caractères limite : 100 caractères d'un octet. xs:string Voir la description. Oui Street2 Seconde adresse postale. Nombre de caractères limite : 100 caractères d'un octet. xs:string Voir la description. Non CityName Nom de la ville. Nombre de caractères limite : 40 caractères d'un octet. xs:string Voir la description. Oui StateOr Province Etat ou province. Nombre de caractères limite : 40 caractères d'un octet. Requis pour les adresses américaines (USA) seulement. xs:string Reportez-vous à l'Annexe E, Non PostalCode Code postal américain ou code postal spécifique aux autres pays. Nombre de caractères limite : 20 caractères d'un octet. xs:string Voir la description. Oui Country Code pays. Nombre de caractères : deux caractères d'un octet. ebl:Country Code Type xs:string Reportez-vous à l'Annexe F, “Codes pays. Oui Phone Numéro de téléphone. Nombre de caractères limite : 20 caractères d'un octet. xs:string Voir la description. Non “Abréviations des états et provinces. TABLEAU 4.12 Requête : champs de PaymentDetailsItemType 70 Champ Description Type de données Name Nom de l'objet Nombre de caractères limite : 127 caractères d'un octet. xs:string Mai 2007 Valeurs autorisées Voir la description. Obligatoire ? Non Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.12 Requête : champs de PaymentDetailsItemType (suite) Champ Description Type de données Valeurs autorisées Amount Coût de l'objet. ebl:BasicAmount Type Voir la description. Non R E M A R Q U E : nombre de caractères Obligatoire ? 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. R E M A R Q U E : vovs devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. Number Numéro de l'objet. Nombre de caractères limite : 127 caractères d'un octet. xs:string Voir la description. Non Quantity Quantité d'objets. Nombre de caractères limite : n'importe quel chiffre entier positif. xs:string Voir la description. Non Tax TVA concernant l'objet. ebl:BasicAmount Type Voir la description. Non eBl:ebayItem PaymentDetails ItemType Reportez-vous au Non R E M A R Q U E : 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. R E M A R Q U E : vovs devez définir l'attribut currencyID sur l'un des codes des devises à trois caractères pour toutes les devises acceptées par PayPal. EbayItem Payment DetailsItem Informations concernant une vente aux enchères sur eBay. Guide de référence de l'API SOAP Mai 2007 Tableau 4.13 page 72. 71 API Paiement express PayPal DoExpressCheckoutPayment Si vous transmettez le fichier EbayItemPaymentDetailsItem, vous devez affecter à ChannelType la valeur eBayItem et à PaymentAction la valeur Sale. TABLEAU 4.13 Requête : champs de EbayItemPaymentDetailsItemType Type de données Valeurs autorisées Numéro de l'enchère/de l'objet Nombre de caractères : 765 caractères d'un octet. xs:string Voir la description. Non Auction API Transaction ID Numéro de transaction de la vente aux enchères. Nombre de caractères : 255 caractères d'un octet. xs:string Voir la description. Non OrderID Numéro de commande de la vente aux enchères. Nombre de caractères : 64 caractères d'un octet. xs:string Voir la description. Non Champ Description ItemNumber Obligatoire ? DoExpressCheckoutPaymentResponse Réponse à DoExpressCheckoutPaymentRequest. Champs TABLEAU 4.14 Champs de DoExpressCheckoutPaymentResponse Champ Description Type de données 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. xs:string Informations concernant le paiement. ebl:PaymentInfo Type PaymentInfo Valeurs possibles Consultez la description du Tableau 4.3, « Champs de SetExpressCheck outResponse ». Reportez-vous à la section Tableau 4.15 page 73. 72 Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.15 Réponse : éléments de PaymentInfoType Valeurs possibles Elément Description Type de données Transaction ID Numéro de transaction unique du paiement. xs:string Transactionspecific ns:Payment TransactionCode Type cart expresscheckout Nombre de caractères limite : sept caractères d'un octet. ebl:PaymentCode Type xs:string none echeck instant PaymentDate Horodatage du paiement. xs:dateTime Transactionspecific GrossAmount 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. ebl:BasicAmount Type Transactionspecific FeeAmount Montant de la commission de PayPal facturée pour la transaction. ebl:BasicAmount Type Transactionspecific ebl:BasicAmount Type Transactionspecific R E M A R Q U E : 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. API Transaction Type Type de transaction . PaymentType Indique si le paiement est immédiat ou différé. Nombre de caractères limite : 15 caractères d'un octet. 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. Settle Amount Montant déposé sur votre compte PayPal après conversion de devise. Guide de référence de l'API SOAP Mai 2007 73 API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.15 Réponse : éléments de PaymentInfoType (suite) 74 Valeurs possibles Elément Description Type de données TaxAmount 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. ebl:BasicAmount Type xs:string Transactionspecific Exchange Rate 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. xs:string Transactionspecific Payment Status 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. ebl:Payment StatusCodeType xs:token Completed Pending Mai 2007 Guide de référence de l'API SOAP API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.15 Réponse : éléments de PaymentInfoType (suite) Elément Description Type de données Pending Reason 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. ebl:Pending Status CodeType xs:token Guide de référence de l'API SOAP Mai 2007 Valeurs possibles none address echeck intl multicurrency verify other 75 API Paiement express PayPal DoExpressCheckoutPayment TABLEAU 4.15 Réponse : éléments de PaymentInfoType (suite) 76 Elément Description Type de données 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 other : cette transaction a été annulée pour un motif autre que celles indiquées ci-dessus. ebl:ReasonCodeT ype xs:token Mai 2007 Valeurs possibles none chargeback guarantee buyercomplaint refund other Guide de référence de l'API SOAP 5 API GetTransactionDetails L'API GetTransactionDetails extrait les informations sur une transaction unique. Schéma des types de GetTransactionDetails Le schéma suivant représente la composition des éléments de GetTransactionDetailsRequestType et GetTransactionDetailsResponseType. Guide de référence de l'API SOAP Mai 2007 77 API GetTransactionDetails GetTransactionDetailsRequest FIGURE 5.1 Types de GetTransactionDetails GetTransactionDetailsRequest Obtient les détails sur une transaction. 78 Mai 2007 Guide de référence de l'API SOAP API GetTransactionDetails GetTransactionDetailsResponse Champs TABLEAU 5.1 Champs de GetTransactionDetailsRequest Champ Description Type de données Valeurs possibles Transaction ID Identifiant unique d'une transaction. xs:string Spécifique à la transaction R E M A R Q U E : les détails de certains types de Obligatoire ? Oui 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. GetTransactionDetailsResponse Réponse à GetTransactionDetailsRequest. R E M A R Q U E : le fait qu'un champ soit défini dans la structure formelle de GetTransactionDetailsResponse ne signifie pas forcément que ce champ sera renvoyé. Les données sont renvoyées dans une réponse uniquement si PayPal a enregistré les données associées au champ. Champs Pour les codes et les messages d'erreur et leur signification, reportez-vous à l'Annexe A, « Codes et messages d'erreur de toutes les API PayPal ». TABLEAU 5.2 Champs de GetTransactionDetailsResponse Champ Elément inclus Description Paiement API Transaction Détails ReceiverInfo PayerInfo PaymentInfo PaymentItemInfo Wrapper ReceiverInfo Guide de référence de l'API SOAP Contient les éléments décrits ci-dessous. Mai 2007 Type de données et valeurs possibles ebl:ReceiverIn foType 79 API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Elément inclus Description Business 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. xs:string Receiver 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. xs:string ReceiverID Numéro de compte unique du destinataire du paiement (le vendeur). Cette valeur est identique à celle du code parrainage du destinataire. xs:string Contient les éléments décrits ci-dessous. ebl:PayerInfo Type Payer Adresse email du payeur. Nombre de caractères limite : 127 caractères d'un octet. ns:Email Address Type PayerID Numéro client unique. Nombre de caractères limite : 13 caractères alphanumériques d'un octet. ebl:UserIDType PayerStatus Etat de l'adresse email du payeur : Vérifié Non-Vérifié ebl:PayPalUser StatusCodeType Vérifié Non-Vérifié Salutation Formule d'appel du payeur. Nombre de caractères limite : 20 caractères d'un octet. xs:string FirstName Prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. ebl:NameType MiddleName Deuxième prénom du payeur. Nombre de caractères limite : 25 caractères d'un octet. ebl:NameType PayerInfo PayerName (inclus dans PayerInfo) 80 Type de données et valeurs possibles Mai 2007 Guide de référence de l'API SOAP API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Type de données et valeurs possibles Elément inclus Description LastName Nom du payeur. Nombre de caractères limite : 25 caractères d'un octet. ebl:NameType Suffix Suffixe du payeur. Nombre de caractères limite : 12 caractères d'un octet. ebl:SuffixType PayerCountry 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. ebl:Country CodeType PayerBusiness Raison sociale du payeur. Nombre de caractères limite : 127 caractères d'un octet. xs:string Contient les éléments ci-après. ebl:Address Type AddressOwner Société eBay qui gère cette adresse. ebl:Address OwnerTypeCode xs:token eBay PayPal AddressStatus Etat de l'adresse enregistrée chez PayPal : Non Confirmed Unconfirmed ebl:AddressSta tus CodeType xs:token Non Confirmed Unconfirmed Name Nom de la personne associée à cette adresse. Nombre de caractères limite : 32 caractères alphanumériques d'un octet. xs:string Street1 Première adresse postale. Nombre de caractères limite : 300 caractères alphanumériques d'un octet xs:string Address (inclus dans PayerInfo) Guide de référence de l'API SOAP Mai 2007 81 API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ PaymentInfo 82 Type de données et valeurs possibles Elément inclus Description Street2 Seconde adresse postale. Nombre de caractères limite : 300 caractères alphanumériques d'un octet. xs:string CityName Nom de la ville. Nombre de caractères limite : 120 caractères alphanumériques d'un octet. xs:string StateOrProvince Etat ou province. Nombre de caractères limite : 120 caractères alphanumériques d'un octet. Consultez l'Annexe E, « Abréviations des états et provinces ». xs:string Country Pays de l'adresse de livraison du payeur au format code pays standard de deux caractères ISO3166. Nombre de caractères limite : deux caractères d'un octet. ns:Country CountryName Nom complet du pays. Nombre de caractères limite : 64 caractères alphanumériques d'un octet. xs:string Phone Numéro de téléphone associé à cette adresse. xs:string PostalCode Code postal. xs:string Contient les éléments ci-après. ebl:Payment Info Type Mai 2007 Guide de référence de l'API SOAP API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Type de données et valeurs possibles Elément inclus Description Parent TransactionID 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. xs:string TransactionID Numéro de transaction de PayPal. Nombre de caractères limite : 19 caractères d'un octet. xs:string ReceiptID Numéro d'avis de réception Nombre de caractères limite : 16 chiffres au format xxxx-xxxx-xxxx-xxxx. xs:string Guide de référence de l'API SOAP Mai 2007 83 API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ 84 Type de données et valeurs possibles Elément inclus Description 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é. virtual-terminal : transaction créée via le terminal virtuel du marchand. ebl:Payment Transaction Code transaction xs:token cart send_money web-accept subscr-failed subscr-cancel subscr-payment subscr-signup subscr-eot subscr-modify mercht-pmt mass-pay virtualterminal expresscheckout PaymentType Indique si le paiement est immédiat ou différé. Nombre de caractères limite : sept caractères d'un octet. ebl:Payment Code transaction xs:string none echeck instant PaymentDate Date et heure du paiement. xs:dateTime GrossAmount Montant total du paiement du client, avant soustraction des commissions sur les transactions. xs:string FeeAmount Commissions sur transaction associées au paiement. xs:string SettleAmount Montant déposé sur le solde principal du compte après conversion automatique de la devise (par le biais de vos Préférences de réception de paiements) ou conversion manuelle (en acceptant manuellement un paiement). Ce montant est calculé après évaluation des frais et des taxes. ebl:Basic Amount Type TaxAmount Montant des taxes pour la transaction. xs:string Mai 2007 Guide de référence de l'API SOAP API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Elément inclus Description ExchangeRate Type de données et valeurs possibles xs:string Taux de change pour la transaction. PaymentStatus Guide de référence de l'API SOAP Etat du paiement. Etat du paiement : z None : aucun état. z Canceled-Reversal : indique qu'une contreopé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 contreopé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. Mai 2007 ebl:Payment Status CodeType xs:token None CanceledReversal Completed Denied Expired Failed In-Progress PartiallyRefunded Pending Processed Refunded Reversed Voided 85 API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Type de données et valeurs possibles Elément inclus Description PendingReason R E M A R Q U E : 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 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. 86 Mai 2007 ebl:Pending Status CodeType xs:token none authorization address echeck intl multi-currency unilateral upgrade verify other Guide de référence de l'API SOAP API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Elément inclus 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 other : cette transaction a été annulée pour un motif autre que celles indiquées ci-dessus. ebl:ReasonCode Type xs:token none rejet de débit guarantee buyercomplaint remboursement other Contient les éléments ci-après. ebl:Payment ItemInfoType InvoiceID Numéro de facture défini dans la transaction initiale. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. xs:string Custom Champ personnalisé défini dans la transaction initiale. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. xs:string Memo 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. xs:string SaleTax Montant des taxes débitées pour le paiement. xs:string Name 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 xs:string PaymentItem Info PaymentItem Type de données et valeurs possibles Guide de référence de l'API SOAP Mai 2007 87 API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Type de données et valeurs possibles Elément inclus Description Number 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 example, item_number1, item_number2, etc. Nombre de caractères limite : 127 caractères alphanumériques d'un octet. xs:string Quantity Quantité définie par vous ou saisie par le client. Nombre de caractères limite : pas de limite. xs:string Amount Coût de l'objet. ebl:BasicAmount transaction Options ns:OptionType name : xs:string value : xs:string Options des objets PayPal pour le Panier. Subscription SubscriptionID Contient les éléments ci-après. ebl:Subscripti on InfoType Numéro généré par PayPal pour l'abonné. Nombre de caractères limite : pas de limite. xs:string SubscriptionDate xs:dateTime Date de début de l'abonnement. xs:dateTime EffectiveDate Date d'entrée en vigueur de la modification de l'abonnement. xs:dateTime RetryTime Date à laquelle PayPal va à nouveau essayer le paiement d'abonnement qui a échoué. 88 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. xs:string 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. xs:string Mai 2007 Guide de référence de l'API SOAP API GetTransactionDetails GetTransactionDetailsResponse TABLEAU 5.2 Champs de GetTransactionDetailsResponse (suite) Champ Subscription TermsType Type de données et valeurs possibles Elément inclus Description Recurrences Le nombre de versements qui auront lieu au tarif standard. Nombre de caractères limite : pas de limite. xs:string reattempt Indique si de nouvelles tentatives doivent être effectuées en cas d'échec de paiement. xs:string recurring Indique s'il y a une base récurrente de facturation. 1 = Oui xs:string Amount Montant qui sera débité à l'abonné en un seul paiement. Nombre de caractères limite : pas de limite. eb:BasicAmount transaction period Durée sur laquelle l'abonné sera débité. Nombre de caractères limite : pas de limite. xs:string Contient les éléments ci-après. ebl:Auction Info Type BuyerID Identification d'enchère du client. xs:string ClosingDate Date de clôture des enchères. xs:string Auction multiItem xs:string Compteur utilisé pour les paiements pour enchères de plusieurs objets. Guide de référence de l'API SOAP Mai 2007 89 API GetTransactionDetails GetTransactionDetailsResponse 90 Mai 2007 Guide de référence de l'API SOAP 6 API MassPay L'API MassPay est l'équivalent par programmation de la fonction Paiement groupé disponible sur le site de PayPal. Vous pouvez inclure jusqu'à 250 paiements par MassPayRequest. Vous devez avoir un solde PayPal dans chaque devise dans laquelle vous souhaitez effectuer un paiement et disposer d'une provision suffisante pour couvrir le montant et les frais des paiements groupés. Vous ne pouvez pas mélanger des devises dans la même requête MassPayRequest ; vous devez utiliser une requête différente pour chaque devise. Le report des transactions de paiements sur des comptes de destinataire individuels n'est pas pris en charge par l'API Paiements groupés, mais par un processus PayPal distinct. Notification instantanée de paiement L'API MassPay déclenche l'envoi d'un email de notification instantanée de paiement au destinataire des fonds. Vous devez consulter le NIP pour obtenir les informations nécessaires sur la transaction. Schéma des types de MassPay Le schéma suivant représente la composition des éléments de MassPayRequestType, MassPayRequestItemType et MassPayResponseType. Guide de référence de l'API SOAP Mai 2007 91 API MassPay MassPayRequest FIGURE 6.1 Types de MassPay MassPayRequest Traite les paiements en masse pour 250 destinataires différents au maximum. Champs TABLEAU 6.1 Champs de MassPayRequestType 92 Valeurs Type de données possibles Champ Description 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. xs:string Voir la description. Non ReceiverType Indique comment identifier les destinataires des paiements pour tous les éléments MassPayItem : à l'aide de EmailAddress (ReceiverEmail dans MassPayItem) ou de UserID (ReceiverID dans MassPayItem). ebl:ReceiverInfo CodeType xs:token Reportez-vous à la section Tableau 6.2. Non Mai 2007 Obligatoire ? Guide de référence de l'API SOAP API MassPay MassPayRequest TABLEAU 6.1 Champs de MassPayRequestType (suite) Champ Description MassPayItem Détails de chaque paiement. Valeurs Type de données possibles R E M A R Q U E : une requête MassPayRequest peut contenir jusqu'à 250 éléments MassPayItem. ebl:MassPay Item Type Reportez-vous à la section Tableau 6.3. Obligatoire ? Oui TABLEAU 6.2 Enumération de ReceiverInfoCodeType Champ Description Obligatoire ? EmailAddress Adresse email du destinataire enregistrée chez PayPal. Nombre de caractères limite : 12 caractères alphanumériques d'un octet. Non UserID Numéro de compte unique du client PayPal. Nombre de caractères limite : 6 caractères d'un octet au maximum. Non TABLEAU 6.3 Champs de MassPayItemType Champ Description Type de données ReceiverEmail Adresse email du destinataire. ebl:Email Address Type I M P O R T A N T : vous devez indiquer ReceiverEmail ou ReceiverID, mais vous ne devez pas associer ReceiverEmail et ReceiverID dans le groupe des éléments MassPayItems. Utilisez uniquement l'un ou l'autre, mais pas les deux, dans la même requête. Valeurs possibles Obligatoire ? Voir la description. Non Nombre de caractères limite : 127 caractères d'un octet au maximum. Guide de référence de l'API SOAP Mai 2007 93 API MassPay MassPayRequest TABLEAU 6.3 Champs de MassPayItemType (suite) Valeurs possibles Champ Description Type de données Obligatoire ? ReceiverID Numéro de compte unique du client PayPal. Cette valeur correspond à la valeur de PayerID renvoyée par GetTransactionDetails. xs:string Transactionspecific Non ebl:Basic Amount transaction Transactionspecific Oui I M P O R T A N T : Vous devez indiquer ReceiverEmail ou ReceiverID, mais vous ne devez pas associer ReceiverEmail et ReceiverID dans le groupe des éléments MassPayItems. Utilisez uniquement l'un ou l'autre, mais pas les deux, dans la même requête. Nombre de caractères limite : 17 caractères d'un octet au maximum. Amount Montant du paiement. R E M A R Q U E : 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. Reportezvous à la section , « Codage de caractères, types et formats des données et devises » page 24. I M P O R T A N T : vous ne pouvez pas mélanger des devises dans une requête MassPayRequest unique. Une requête unique doit contenir des objets appartenant à la même devise. 94 UniqueId 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é. xs:string Transactionspecific Non Note Remarque personnalisée pour chaque destinataire. Nombre de caractères limite : 4 000 caractères alphanumériques d'un octet xs:string Transactionspecific Non Mai 2007 Guide de référence de l'API SOAP API MassPay MassPayResponse MassPayResponse Réponse à MassPayRequest. Champs Les éléments renvoyés sont identiques à ceux de AbstractResponseType. Reportez-vous à la section « AbstractResponseType » page 30. Pour les codes et les messages d'erreur et leur signification, reportez-vous à l'Annexe A, « Codes et messages d'erreur de toutes les API PayPal » . Guide de référence de l'API SOAP Mai 2007 95 API MassPay MassPayResponse 96 Mai 2007 Guide de référence de l'API SOAP 7 API RefundTransaction Utilisez l'API RefundTransaction pour effectuer des remboursements complets ou partiels. Schéma des types de RefundTransaction Le schéma suivant représente la composition des éléments de RefundTransactionRequestType et RefundTransactionResponseType. FIGURE 7.1 Types de RefundTransaction RefundTransactionRequest Demande de remboursement d'un paiement. Avec RefundTransactionRequest, vous devez toujours transmettre les valeurs de TransactionID et RefundType. Si RefundType est défini sur Full, vous ne devez pas définir Amount ; cependant, si RefundType est défini sur Partial, vous devez définir Amount. Guide de référence de l'API SOAP Mai 2007 97 API RefundTransaction RefundTransactionResponse Champs TABLEAU 7.1 Champs de RefundTransactionRequest Valeurs possibles Champ Description Type de données Obligatoire ? TransactionID Identifiant unique d'une transaction. Nombre de caractères limite : 17 uméro caractères d'un octet. xs:string Transactionspecific Oui RefundType Type de remboursement effectué. z None z Full z Partial ebl:RefundPurp oseTypeCode Type xs:token None Full Partial Oui Amount Montant du remboursement. Edoit être défini si RefundType is Partial. ebl:Basic Amount transaction Transactionspecific Voir la description xs:string Transactionspecific Non R E M A R Q U E : si RefundType a la valeur Full, ne définissez pas Amount. Memo Mémo personnalisé concernant le remboursement. Nombre de caractères limite : 255 caractères alphanumériques d'un octet. RefundTransactionResponse Réponse à RefundTransactionRequest. Champs TABLEAU 7.2 Champs de RefundTransactionResponse 98 Champ Description Type de données Valeur Refund Transaction ID Numéro de transaction unique du remboursement. Nombre de caractères limite : 17 numéro caractères d'un octet. xs:string Voir la description. Mai 2007 Guide de référence de l'API SOAP API RefundTransaction RefundTransactionResponse TABLEAU 7.2 Champs de RefundTransactionResponse (suite) Champ Description Type de données Valeur FeeRefund Amount Commission sur transaction remboursée au destinataire initial du paiement. ebl:BasicAmount transaction Voir la description. GrossRefund Amount Somme d'argent remboursée au payeur initial. ebl:BasicAmount transaction Voir la description. NetRefund Amount Montant soustrait du solde PayPal du destinataire initial du paiement pour effectuer ce remboursement. ebl:BasicAmount transaction Voir la description. Guide de référence de l'API SOAP Mai 2007 99 API RefundTransaction RefundTransactionResponse 100 Mai 2007 Guide de référence de l'API SOAP 8 API TransactionSearch Avec TransactionSearchRequest, 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. TransactionSearchResponse 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 à GetTransactionDetailsRequest afin de récupérer toutes les informations disponibles sur une transaction spécifique. Schéma des types de TransactionSearch Le schéma suivant représente la composition des éléments de TransactionSearchRequestType et PaymentTransactionSearchResultsType. Guide de référence de l'API SOAP Mai 2007 101 API TransactionSearch TransactionSearchRequest FIGURE 8.1 Types de TransactionSearch TransactionSearchRequest Requête pour rechercher l'historique des transactions. Champs TABLEAU 8.1 Champs de TransactionSearchRequest Valeurs Type de données autorisées Champ Description StartDate Date de transaction la plus ancienne à partir de laquelle lancer la recherche. Obligatoire ? xs:dateTime Transactionspecific Oui xs:dateTime Transactionspecific Non R E M A R Q U E : aucun caractère générique n'est autorisé. La valeur doit être au format UTC/GMT. EndDate 102 Date de transaction la plus récente à inclure dans la recherche. Mai 2007 Guide de référence de l'API SOAP API TransactionSearch TransactionSearchRequest TABLEAU 8.1 Champs de TransactionSearchRequest (suite) Valeurs Type de données autorisées Champ Description Payer Recherche par adresse email de l'acheteur. Nombre de caractères limite : 127 caractères alphanumériques d'un octet ebl:Email Address Type xs:string Transactionspecific 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. ebl:Email Address Type xs:string Transactionspecific Non xs:string Transactionspecific Non ebl:Transactio nID xs:string Transactionspecific Non xs:string Transactionspecific Non ReceiptID Recherche par numéro d'avis de réception du compte PayPal facultatif. TransactionID Recherche par numéro de transaction. I M P O R T A N T : les résultats renvoyés proviennent des registres des transactions du marchand. Obligatoire ? Nombre de caractères limite : 19 caractères d'un octet au maximum. InvoiceID 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. I M P O R T A N T : aucun caractère générique n'est autorisé. Nombre de caractères limite : 127 caractères d'un octet au maximum. Guide de référence de l'API SOAP Mai 2007 103 API TransactionSearch TransactionSearchRequest TABLEAU 8.1 Champs de TransactionSearchRequest (suite) Valeurs Type de données autorisées Champ Description CardNumber 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. Obligatoire ? xs:string Transactionspecific Non ebl:PersonName Type xs:string Transactionspecific Non xs:string Transactionspecific Non I M P O R T A N T : 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. PayerName AuctionItem Number 104 Recherche par nom de l'acheteur. z Salutation : limité à 20 caractères d'un octet. z FirstName : limité à 25 caractères d'un octet. z MiddleName : limité à 25 caractères d'un octet. z LastName : limité à 25 caractères d'un octet. z Suffix : limité à 12 caractères d'un octet. Recherche par numéro d'enchère des biens achetés. Mai 2007 Guide de référence de l'API SOAP API TransactionSearch TransactionSearchRequest TABLEAU 8.1 Champs de TransactionSearchRequest (suite) Valeurs Type de données autorisées Champ Description API Transaction Class Recherche par classification de la transaction. R E M A R Q U E : 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 ebl:Payment TransactionCla ss CodeType xs:token Voir la description. Obligatoire ? Non All : toutes les classifications de transactions Sent : uniquement les paiements envoyés Received : uniquement les paiements reçus 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 CurrencyConversions : uniquement les transactions impliquant des conversions de devises BalanceTransfer : uniquement les transactions impliquant des transferts de solde 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 Guide de référence de l'API SOAP Mai 2007 105 API TransactionSearch TransactionSearchResponse TABLEAU 8.1 Champs de TransactionSearchRequest (suite) Valeurs Type de données autorisées Champ Description Amount Recherche par montant de transaction. R E M A R Q U E : 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. CurrencyCode ebl:Basic Amount Type xs:string Transactionspecific Non xs:token Transactionspecific Non ebl:Payment API Transaction StatusCodeType xs:token Pending Processing Success Denied Reversed Non Recherche par code de devise. 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. Obligatoire ? TransactionSearchResponse Réponse à TransactionSearchRequest. 106 Mai 2007 Guide de référence de l'API SOAP API TransactionSearch TransactionSearchResponse Champs Pour les codes et les messages d'erreur et leur signification, reportez-vous à l' Annexe A, « Codes et messages d'erreur de toutes les API PayPal ». TABLEAU 8.2 Champs de PaymentTransactions Champ Valeurs Type de données possibles Description Timestamp xs:dateTime Transactionspecific Date et heure (au format UTC/GMT) de la transaction Timezone Fuseau horaire de la transaction xs:string Transactionspecificn transaction Type de la transaction xs:string Transactionspecific Payer 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 ebl:Email Address Type xs:string Transactionspecific Payer DisplayName Affiche le nom du payeur xs:string Transactionspecific TransactionID Numéro de transaction du vendeur xs:string Transactionspecific Status Etat de la transaction xs:string Transactionspecific GrossAmount Montant total hors taxe débité, y compris les frais d'expédition et de livraison et les taxes ebl:Basic Amount Type xs:string Transactionspecific FeeAmount Frais débités par PayPal pour la transaction BasicAmount Type xs:string Transactionspecific NetAmount Montant net de la transaction BasicAmount Type xs:string Transactionspecific Guide de référence de l'API SOAP Mai 2007 107 API TransactionSearch TransactionSearchResponse 108 Mai 2007 Guide de référence de l'API SOAP 9 API Paiements récurrents Les paiements API vous permet de créer automatiquement des paiements récurrents pour un montant fixe à intervalles définis. Guide de référence de l'API SOAP Mai 2007 109 API Paiements récurrents SetCustomerBillingAgreement SetCustomerBillingAgreement Schéma des types de SetCustomerBillingAgreement FIGURE 9.1 Types de SetCustomerBillingAgreement SetCustomerBillingAgreementRequest TABLEAU 9.1 Champs de SetCustomerBillingAgreementRequest Name Description et type de données Obligatoire BillingAgreement Details ns:BillingAgreementDetailsType Reportez-vous au Tableau 9.2, « Champs de BillingAgreementDetails ». Oui ReturnURL xs:string URL vers laquelle le navigateur du client est renvoyé après avoir choisi de payer avec PayPal. Oui R E M A R Q U E : 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. 110 Mai 2007 Guide de référence de l'API SOAP API Paiements récurrents SetCustomerBillingAgreement TABLEAU 9.1 Champs de SetCustomerBillingAgreementRequest (suite) Name Description et type de données Obligatoire CancelURL xs:string URL vers laquelle le client est renvoyé s'il n'approuve pas l'utilisation de PayPal pour vous payer. Oui R E M A R Q U E : 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. LocaleCode xs:string 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 R E M A R Q U E : dans le cas de paiements récurrents, le paramètre régional doit être US. R E M A R Q U E : pour consulter la liste des codes pays, reportez-vous à l’Annexe F, « Codes pays ». PageStyle Guide de référence de l'API SOAP xs:string 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. Mai 2007 Non 111 API Paiements récurrents SetCustomerBillingAgreement TABLEAU 9.1 Champs de SetCustomerBillingAgreementRequest (suite) Name Description et type de données Obligatoire cpp-header-image xs:string 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 cpp-header-border xs:string 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 cpp-header-backcolor xs:string 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 cpp-payflow-color xs:string 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 BuyerEmail ns:EmailAddressType 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 TABLEAU 9.2 Champs de BillingAgreementDetails 112 Name Description et type de données Obligatoire BillingType ns:BillingCodeType Le type d'autorisation de paiement devant être établie entre le marchand et le client. Dans le cas de paiements récurrents, la valeur doit être RecurringPayments. Oui Mai 2007 Guide de référence de l'API SOAP API Paiements récurrents SetCustomerBillingAgreement TABLEAU 9.2 Champs de BillingAgreementDetails (suite) Name Description et type de données Obligatoire BillingAgreement Description xs:string 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 : 127caractères alphanumériques d'un octet. Non PaymentType ns:MerchantPullPaymentCodeType Indique le type de 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 BillingAgreement Custom xs:string Champ d'annotation personnalisé que vous utilisez librement. Nombre de caractères limite : 256 caractères alphanumériques d'un octet. Non SetCustomerBillingAgreementResponse TABLEAU 9.3 Champs de SetCustomerBillingAgreementResponse Elément Description et type de données Token xs:string Un jeton horodaté qui identifie cette transaction de manière unique en vue d'appels API ultérieurs. R E M A R Q U E : le jeton expire au bout de trois heures. Nombre de caractères limite : 20 caractères d'un octet. Guide de référence de l'API SOAP Mai 2007 113 API Paiements récurrents GetBillingAgreementCustomerDetails GetBillingAgreementCustomerDetails Schéma des types de GetBillingAgreementCustomerDetails FIGURE 9.2 Types de GetBillingAgreementCustomerDetails GetBillingAgreementCustomerDetailsRequest TABLEAU 9.4 Champs de GetBillingAgreementCustomerDetailsRequest Elément Description et type de données Obligatoire Token xs:string Le jeton horodaté renvoyé dans la réponse SetCustomerBillingAgreement response. Oui R E M A R Q U E : le jeton expire au bout de trois heures. Nombre de caractères limite : 20 Numéro caractères d'un octet. 114 Mai 2007 Guide de référence de l'API SOAP API Paiements récurrents CreateRecurringPaymentsProfile GetBillingAgreementCustomerDetailsResponse TABLEAU 9.5 Champs de GetBillingAgreementCustomerDetailsResponse Elément Description et type de données PayerInfo ns:PayerInfoType Se reporter au tableau XX.X à la page YY. CreateRecurringPaymentsProfile Schéma des types de CreateRecurringPaymentsProfile FIGURE 9.3 Types de CreateRecurringPaymentsProfile Guide de référence de l'API SOAP Mai 2007 115 API Paiements récurrents CreateRecurringPaymentsProfile CreateRecurringPaymentsProfileRequest TABLEAU 9.6 Requête CreateRecurringPaymentsProfile Name Description et type de données Obligatoire Token xs:string Jeton horodaté dont la valeur a été renvoyée par la réponse SetCustomerBillingAgreement response. Oui R E M A R Q U E : le jeton expire au bout de trois heures. Nombre de caractères limite : 20 Numéro caractères d'un octet. RecurringPayments ProfileDetails ns:RecurringPaymentsProfileDetails Reportez-vous à la section Tableau 9.7, « Type de RecurringPaymentsProfileDetails ». Non ScheduleDetails ns:ScheduleDetailsType Non Tableau 9.8, « ScheduleDetails Type ». TABLEAU 9.7 Type de RecurringPaymentsProfileDetails Name Description et type de données Obligatoire SubscriberName xs:string 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 SubscriberShipping Address ns:AddressType Se reporter au tableau XX. Y , «Champs de AddressType». Non BillingStartdate xs:dateTime Ta date de début de facturation pour ce profil. Doit être une date valable, de format AAAA-MM-JJ. Oui R E M A R Q U E : l'activation des préférences peut prendre jusqu'à 24 heures. ProfileReference 116 xs:string 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 Mai 2007 Non Guide de référence de l'API SOAP API Paiements récurrents CreateRecurringPaymentsProfile TABLEAU 9.8 ScheduleDetails Type Name Description et type de données Obligatoire Description xs:string Description du paiement récurrent. Nombre de caractères limite : 127 caractères alphanumériques d'un octet Non TrialPeriod ns:BillingPeriodDetailsType Reportez-vous à la section Tableau 9.9, « Type BillingPeriodDetails ». Oui PaymentPeriod ns:BillingPeriodDetailsType Reportez-vous à la section Tableau 9.9, « Type BillingPeriodDetails ». Oui MaxFailedPayments xs:int 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 TABLEAU 9.9 Type BillingPeriodDetails Name Description et type de données Obligatoire BillingPeriod ns:BillingPeriodType Unité de facturation pour cette période. Une des valeurs suivantes : z Day z Week z Month z SemiMonth z Year Oui R E M A R Q U E : la combinaison de BillingPeriod et de BillingFrequency ne doit pas excéder une année. Guide de référence de l'API SOAP Mai 2007 117 API Paiements récurrents CreateRecurringPaymentsProfile TABLEAU 9.9 Type BillingPeriodDetails (suite) Name Description et type de données Obligatoire BillingFrequency xs:int Le nombre de périodes de facturation constituant un cycle de facturation. Oui R E M A R Q U E : 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 : Non applicable z Month : 12 z Year : 1 118 TotalBillingCycles xs:int 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. Non Amount cc:AmountType Montant de facturation par 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 pointn (.). Equivalent à neuf caractères au maximum pour USD. Oui ShippingAmount cc:AmountType Montant des frais de livraison par 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 pointn (.). Equivalent à neuf caractères au maximum pour USD. Non Mai 2007 Guide de référence de l'API SOAP API Paiements récurrents CreateRecurringPaymentsProfile TABLEAU 9.9 Type BillingPeriodDetails (suite) Name Description et type de données Obligatoire TaxAmount cc:AmountType Montant de la taxe par 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 pointn (.). Equivalent à neuf caractères au maximum pour USD. Non CreateRecurringPaymentsProfileResponse TABLEAU 9.10 Réponse CreateRecurringPaymentsProfile Champ Description ProfileID xs:string Identifiant unique permettant d'accéder ultérieurement aux détails d'un paiement récurrent. Nombre de caractères limite : 20 caractères alphanumériques d'un octet Guide de référence de l'API SOAP Mai 2007 119 API Paiements récurrents CreateRecurringPaymentsProfile 120 Mai 2007 Guide de référence de l'API SOAP 10 ReferenceTransactions Ce chapitre traite de l'API DoReferenceTransaction, qui vous permet d'utiliser une transaction donnée comme base (ou référence) pour une transaction nouvelle. DoReferenceTransaction Le schéma suivant présente les messages de requête et de réponse envoyés par l'API DoReferenceTransaction. Les sections suivantes décrivent les champs de message. R E M A R Q U E : les champs concernant les cartes bancaires, dans lesquels la valeur ReferenceID est une DirectPayment TransactionID, sont en bleu. Guide de référence de l'API SOAP Mai 2007 121 ReferenceTransactions DoReferenceTransaction FIGURE 10.1 Messages DoReferenceTransaction 122 Mai 2007 Guide de référence de l'API SOAP ReferenceTransactions DoReferenceTransaction DoReferenceTransactionRequest Le message DoReferemceTransactionRequest est composé des champs identifiés dans les tableaux suivants : TABLEAU 10.1 Champs de DoReferenceTransactionRequest Elément SOAP Type de données et description Obligatoire ReferenceID xs:string Création d'une nouvelle transaction dont le paiement sera effectué par carte bancaire à l'aide de l'API DoDirectPayment TransactionID Oui PaymentAction xs:string 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 CreditCard ebl:CreditCardDetailsType Informations sur la carte bancaire à débiter. Reportez-vous à la section Tableau 10.2 page 124. Oui PaymentDetails ebl:PaymentDetailsType Informations concernant le paiement. Reportez-vous à la section Tableau 4.1 page 50. Oui IPAddress xs:string 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. Merchant SessionId xs:string Jeton d'identification de la session du client. Non R E M A R Q U E : PayPal enregistre ce jeton d'identification de session facultatif comme moyen supplémentaire de détecter des fraudes éventuelles. Nombre de caractères limite : 64 caractères numériques d'un octet. Guide de référence de l'API SOAP Mai 2007 123 ReferenceTransactions DoReferenceTransaction TABLEAU 10.2 Champs de CreditCardDetailsType Elément SOAP Description et type de données Obligatoire CreditCardType ebl:CreditCardTypeType Type de carte bancaire. Nombre de caractères limite : jusqu'à 10 caractères alphabétiques d'un octet. La carte bancaire peut être l'une des valeurs suivantes : z Visa z MasterCard z Discover z Amex z Switch z Solo Oui CreditCard Number xs:string Numéro de carte bancaire. Oui Nombre de caractères limite. Aucun espace ou ponctuation. Doit respecter le modulo et la longueur requis par chaque type de carte bancaire. type. ExpMonth xs:int Mois d'expiration de la carte bancaire. Nombre de caractères limite : deux caractères d'un octet, y compris le zéro non significatif. Oui ExpYear xs:int Année d'expiration de la carte bancaire. Nombre de caractères limite : quatre caractères numériques d'un octet. Oui CVV2 xs:string Valeur de vérification de carte, version. — R E M A R Q U E : vos paramètres de compte marchand déterminent si ce champ est obligatoire ou non. Pour plus d'informations, contactez votre gestionnaire de compte PayPal.. Nombre de caractères pour les cartes Visa, MasterCard et Discover : trois chiffres exactement. Nombre de caractères pour les cartes American Express : quatre chiffres exactement. I M P O R T A N T : afin de respecter les réglementations relatives au traitement des cartes bancaires, vous ne devez pas conserver la valeur de CVV2 une fois la transaction effectuée. 124 Mai 2007 Guide de référence de l'API SOAP ReferenceTransactions DoReferenceTransaction TABLEAU 10.2 Champs de CreditCardDetailsType (suite) Elément SOAP Description et type de données Obligatoire CardOwner ns:PayerInfoType Détails sur le propriétaire de la carte bancaire. Reportezvous à la section Tableau 4.1 page 50. Oui StartMonth xs:int Mois d'émission de la carte Switch ou Solo. Nombre de caractères : deux chiffres, avec des zéros au besoin. Non StartYear xs:int Année d'émission de la carte Switch ou Solo. Nombre de caractères : quatre chiffres. Non IssueNumber xs:int Numéro d'émission de la carte Switch ou Solo. Nombre de caractères : deux chiffres numériques au maximum. Non DoReferenceTransactionResponse DoReferenceTransactionResponse renvoie également le résultat de la vérification de l'adresse de facturation et du numéro de carte bancaire de l'acheteur (que vous avez soumis avec DoReferenceTransaction) par rapport au système de vérification d'adresse (AVS) et au système de vérification de carte bancaire (cryptogramme visuel, CVV2) standard du secteur bancaire américain. TABLEAU 10.3 Champs de DoReferenceTransactionResponse Elément SOAP Type de données et description TransactionID xs:string Numéro de transaction unique du paiement. R E M A R Q U E : si l'élément PaymentAction de la requête est défini sur Authorization, la valeur de TransactionIDcorrespond à votre AuthorizationID fà utiliser avec les API Autorisation et collecte. Nombre de caractères limite : 19 caractères d'un octet. Amount ebl:BasicAmountType Montant du paiement que vous avez spécifié dans DoDirectPaymentRequest. Guide de référence de l'API SOAP Mai 2007 125 ReferenceTransactions DoReferenceTransaction TABLEAU 10.3 Champs de DoReferenceTransactionResponse (suite) Elément SOAP Type de données et description AVSCode xs:string Code de réponse pour le système de vérification d'adresse. Nombre de caractères limite : 1caractères alphanumériques d'un octet Reportez-vous à la section Tableau 10.4, « Codes de réponse AVS pour Visa, MasterCard, Discover et American Express. », page 124. CVV2Code xs:string Résultat de la vérification CVV2 par PayPal. Reportez-vous à la section Tableau 10.1, « Champs de DoReferenceTransactionRequest », page 123. TABLEAU 10.4 Codes de réponse AVS pour Visa, MasterCard, Discover et American Express Code AVS Signification Détails concordants C Address Adresse uniquement (pas de code postal) B « A » international Adresse uniquement (pas de code postal) C « N » international Aucun R E M A R Q U E : la transaction est refusée. D « X » international Adresse et code postal E Non autorisé pour les transactions MOTO (Internet/Téléphone) Non applicable R E M A R Q U E : la transaction est refusée. F « X » spécifique au Royaume-Uni Adresse et code postal G Mondial non disponible Non applicable I International non disponible Non applicable N Non Aucun R E M A R Q U E : la transaction est refusée. 126 P Postal (« Z » international) Code postal uniquement (pas d'adresse) R Réessayer Non applicable S Service non pris en charge Non applicable U Non disponible Non applicable W Code postal entier Code postal à neuf chiffres (pas d'adresse) X Correspondance parfaite Adresse et code postal à neuf chiffres Mai 2007 Guide de référence de l'API SOAP ReferenceTransactions DoReferenceTransaction TABLEAU 10.4 Codes de réponse AVS pour Visa, MasterCard, Discover et American Express (suite) Code AVS Signification Détails concordants Y Oui Adresse et code postal à cinq chiffres Z Code postal Code postal à cinq chiffres (pas d'adresse) Tous les autres Erreur Non applicable TABLEAU 10.5 Codes de réponseCVV2 (cryptogramme visuel) Express pour Visa, MasterCard, Discover et American Express Code CVV2 (cryptogramme visuel) Signification Détails concordants M Correspondance CVV2 (cryptogramme visuel) N Aucune correspondance avec le système de vérification d'adresse Aucun P Non traité Non applicable S Service non pris en charge Non applicable U Service non disponible Non applicable X Pas de réponse Non applicable Guide de référence de l'API SOAP Mai 2007 127 ReferenceTransactions DoReferenceTransaction 128 Mai 2007 Guide de référence de l'API SOAP A Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Autorisation et collecte TABLEAU A.1 Messages d'erreur de l'API Autorisation et collecte 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 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. Guide de référence de l'API SOAP Renvoyé par l'appel API... Mai 2007 Traitement de cette erreur… Relancez la requête ultérieurement ou fermez la commande. 129 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Autorisation et collecte TABLEAU A.1 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… 10602 Authorization completed. L'autorisation est déjà terminée. DoAuthorization DoCapture DoReauthorization DoVoid Fermez la commande ou l'autorisation. 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. Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Autorisation et collecte TABLEAU A.1 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… 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. 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. Guide de référence de l'API SOAP Mai 2007 131 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Autorisation et collecte TABLEAU A.1 Messages d'erreur de l'API Autorisation et collecte (suite) 132 Code d'erreur Message court Message long Renvoyé par l'appel API... Traitement de cette erreur… 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. 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. Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.1 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… 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. 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. Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout 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. Guide de référence de l'API SOAP Traitement de cette erreur… Message long Mai 2007 133 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout (suite) 134 Code d'erreur Message court Traitement de cette erreur… 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 Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout (suite) 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. Guide de référence de l'API SOAP Traitement de cette erreur… Message long Mai 2007 135 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout (suite) 136 Code d'erreur Message court 10411 This Express Checkout session has expired. Traitement de cette erreur… Message long Cette session de Paiement express PayPal a expiré. La valeur du jeton n'est plus valable. Mai 2007 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. Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout (suite) Code d'erreur Message court Message long 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. Guide de référence de l'API SOAP Traitement de cette erreur… Mai 2007 137 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout (suite) 138 Code d'erreur Message court Traitement de cette erreur… 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 Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 Erreurs de l'API SetExpressCheckout (suite) 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. Guide de référence de l'API SOAP Traitement de cette erreur… Message long Mai 2007 139 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.2 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 A.3 Erreurs de l'API GetExpressCheckoutDetails 140 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… Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.3 Erreurs de l'API GetExpressCheckoutDetails (suite) 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 Guide de référence de l'API SOAP Message long Traitement de cette erreur… Mai 2007 141 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.3 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 A.4 Erreurs de l'API DoExpressCheckoutPayment 142 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… Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 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. Guide de référence de l'API SOAP Message long Traitement de cette erreur… Mai 2007 143 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 144 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… Mai 2007 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 référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 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. Guide de référence de l'API SOAP Mai 2007 145 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 146 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. Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 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. Guide de référence de l'API SOAP Mai 2007 147 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 148 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… Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 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. Guide de référence de l'API SOAP Traitement de cette erreur… Mai 2007 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. 149 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiement express PayPal TABLEAU A.4 Erreurs de l'API DoExpressCheckoutPayment (suite) 150 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… Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API GetTransactionDetails Erreurs de l'API GetTransactionDetails TABLEAU A.5 Erreurs de l'API GetTransactionDetails Code d'erreur Message court Message long 10001 Internal Error Erreur interne Erreurs de l'API MassPay TABLEAU A.6 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 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é Guide de référence de l'API SOAP Mai 2007 151 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API MassPay TABLEAU A.6 Erreurs de l'API MassPay (suite) 152 Code d'erreur Message court 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 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 Message long Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API MassPay TABLEAU A.6 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. 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 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 Guide de référence de l'API SOAP Message long Mai 2007 153 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API MassPay TABLEAU A.6 Erreurs de l'API MassPay (suite) 154 Code d'erreur Message court 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é 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 Message long Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API RefundTransaction TABLEAU A.6 Erreurs de l'API MassPay (suite) Code d'erreur Message court 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 Message long Erreurs de l'API RefundTransaction TABLEAU A.7 Erreurs de l'API RefundTransaction 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 Guide de référence de l'API SOAP Mai 2007 Traitement de cette erreur… 155 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API RefundTransaction TABLEAU A.7 Erreurs de l'API RefundTransaction (suite) Code d'erreur 156 Message court Message long 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 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 Mai 2007 Traitement de cette erreur… Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API RefundTransaction TABLEAU A.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. 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 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 Guide de référence de l'API SOAP Mai 2007 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é. 157 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API RefundTransaction TABLEAU A.7 Erreurs de l'API RefundTransaction (suite) Code d'erreur 158 Message court Message long 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 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 Mai 2007 Traitement de cette erreur… Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API TransactionSearch Erreurs de l'API TransactionSearch TABLEAU A.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 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 Guide de référence de l'API SOAP Mai 2007 159 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiements récurrents TABLEAU A.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. 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 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 Paiements récurrents Erreurs SetCustomerBillingAgreement TABLEAU A.9 Erreurs SetCustomerBillingAgreement Code d'erreur 10004 160 Message court Message long Transaction refused because of an invalid argument. See additional error messages for details. Argument incorrect ; aucune information dans le champ de saisie BillingType Mai 2007 Informations supplémentaires Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiements récurrents TABLEAU A.9 Erreurs SetCustomerBillingAgreement (suite) Code d'erreur Informations supplémentaires Message court Message long 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 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 Guide de référence de l'API SOAP Mai 2007 161 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiements récurrents TABLEAU A.9 Erreurs SetCustomerBillingAgreement (suite) Code d'erreur Informations supplémentaires Message court Message long 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 A.10 Erreurs de GetBillingAgreementCustomerDetails 162 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 10411 This Express Checkout session has expired. Cette session de Paiement express PayPal a expiré. La valeur du jeton n'est plus valable. Jeton expiré Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiements récurrents Erreurs de CreateRecurringPaymentsProfile TABLEAU A.11 Erreurs de CreateRecurringPaymentsProfile Code d'erreur 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 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 Guide de référence de l'API SOAP Mai 2007 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 La devise doit être USD La devise doit être USD 163 Codes et messages d'erreur de toutes les API PayPal Erreurs de l'API Paiements récurrents TABLEAU A.11 Erreurs de CreateRecurringPaymentsProfile (suite) Code d'erreur 164 Informations supplémentaires Message court Message long 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é Mai 2007 La devise doit être USD La devise doit être USD La devise doit être USD Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Transactions de référence Transactions de référence TABLEAU A.12 Erreurs de l'API DoReferenceTransaction 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 Guide de référence de l'API SOAP Mai 2007 165 Codes et messages d'erreur de toutes les API PayPal Transactions de référence TABLEAU A.12 Erreurs de l'API DoReferenceTransaction (suite) 166 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. Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Transactions de référence TABLEAU A.12 Erreurs de l'API DoReferenceTransaction (suite) 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 Guide de référence de l'API SOAP Mai 2007 167 Codes et messages d'erreur de toutes les API PayPal Transactions de référence TABLEAU A.12 Erreurs de l'API DoReferenceTransaction (suite) 168 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. Mai 2007 Guide de référence de l'API SOAP Codes et messages d'erreur de toutes les API PayPal Transactions de référence TABLEAU A.12 Erreurs de l'API DoReferenceTransaction (suite) 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 Guide de référence de l'API SOAP Mai 2007 169 Codes et messages d'erreur de toutes les API PayPal Transactions de référence 170 Mai 2007 Guide de référence de l'API SOAP B Kit de développement Java pour l'API SOAP Le kit de développement PayPal est composé de services d'API , de services de Paiement sur site marchand crypté et de préférences d'utilisateur qui définissent les caractéristiques des utilisateurs de ces services. Cette section comprend les rubriques suivantes : z « Installation du kit de développement PayPal » page 171 z « Configuration matérielle recommandée » page 172 z « Télécharger et décompresser le kit de développement PayPal » page 172 z « Configuration post-installation » page 172 z « Exemples d'applications » page 177 z « Configurer ColdFusion pour le kit de développement PayPal Java » page 178 Installation du kit de développement PayPal Le kit de développement PayPal a été testé : son fonctionnement est compatible avec les normes ci-dessous. TABLEAU B.1 Normes prises en charge Norme Version ColdFusion 7.x MX Apache Axis 1.3 Environnement d'exécution Java 1.4.2 ou supérieur Simple Object Access Protocol (SOAP) 1.1 Web Services Description Language (WSDL) 1.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 Cette annexe décrit le kit de développement PayPal Java version 4.3.1. Guide de référence de l'API SOAP Mai 2007 171 Kit de développement Java pour l'API SOAP Configuration matérielle recommandée 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 B.2 Configuration matérielle recommandée Composant Capacité minimale RAM 256 Mo 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/sdk. 1. Téléchargez le fichier distribué au format zip. 2. Décompressez le fichier zip dans le répertoire de votre choix. 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. 172 Mai 2007 Guide de référence de l'API SOAP Kit de développement Java pour l'API SOAP Configuration post-installation 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 B.3, « Kit de développement PayPal Java : répertoires et contenu ». TABLEAU B.3 Kit de développement PayPal Java : répertoires et contenu 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 licences Fichiers de licence exemples Exemples de programmes qui utilisent le kit de développement. src Code source du kit de développement PayPal outils Applications tierces Journaux du kit de développement PayPal Configuration d'Axis pour la journalisation des messages SOAP Pour activer la journalisation SOAP avec le kit de développement PayPal pour Java, vous devez configurer Axis pour qu'il utilise la classe com.paypal.sdk.util.DefaultSOAPHandler. Pour ce faire, utilisez le fichier de configuration du client Axis, client-config.wsdd, qui se trouve dans le répertoire lib du kit de développement PayPal. Une fois ce dernier installé, vous n'avez plus rien à faire à part vérifier que ses ressources sont correctement chargées dans Axis. Le fichier run.bat du répertoire samples/SampleApp du kit de développement PayPal en est un bon exemple. Consultez également le paramètre de journalisation DEBUG dans le Tableau B.4, « Niveaux de journalisation du kit de développement PayPal ». R E M A R Q U E : le kit de développement PayPal utilise le logiciel de journalisation public 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 level dans SDK_root/lib/log4j.properties. TABLEAU B.4 Niveaux de journalisation du kit de développement PayPal Niveau Description ALL Identique à DEBUG Guide de référence de l'API SOAP Mai 2007 173 Kit de développement Java pour l'API SOAP Configuration post-installation TABLEAU B.4 Niveaux de journalisation du kit de développement PayPal (suite) Niveau Description 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 SOAP 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 SOAP é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. Services d'API L'accès intégré aux API PayPal est l'une des fonctions principales de ce kit. Comme le montre la Figure B.1, « Services d'API du kit de développement PayPal : vue d'ensemble » page 175, le kit de développement PayPal communique avec le nœud de service API PayPal à l'aide du kit SOAP. Des classes de fiches correspondant aux requêtes, aux réponses et à leurs données sont fournies afin de permettre de spécifier les paramètres des requêtes et de lire les valeurs des réponses. Ces classes sont générées automatiquement à partir du fichier WSDL PayPal. 174 Mai 2007 Guide de référence de l'API SOAP Kit de développement Java pour l'API SOAP Configuration post-installation FIGURE B.1 Services d'API du kit de développement PayPal : vue d'ensemble 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 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, sandbox ou beta-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. Guide de référence de l'API SOAP Mai 2007 175 Kit de développement Java pour l'API SOAP Configuration post-installation 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 des Paiements sur site marchand cryptés, consultez le Guide d'intégration de Paiements sur site marchand. 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 ci-dessous. TABLEAU B.5 Récapitulatif des interfaces et classes liées aux préférences du kit de développement PayPal Java 176 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. Mai 2007 Guide de référence de l'API SOAP Kit de développement Java pour l'API SOAP 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 B.6 Kit de développement PayPal Java Exemples de programmes dans SDK_root/samples Sous-répertoire Description Cert Certificats d'API utilisés par les exemples d'applications ColdFusion Fichiers cfm ColdFusion pour appeler TransactionSearch, GetTransactionDetails et RefundTransaction 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, autorisation et commande z TransactionSearch z GetTransactionDetails z RefundTransaction z DoCapture et DoVoid z MassPay z Nouvelle autorisation SampleApp Application Java native pour appeler TransactionSearch, GetTransactionDetails et Paiement direct Exemple d'utilisateur API avec signature API Les exemples sont fournis avec une signature API à utiliser avec le kit de développement PayPal et l'Environnement de test PayPal. Cette signature API appartient à l'utilisateur suivant : TABLEAU B.7 Détails de l'exemple de signature API du kit de développement PayPal Identifiant API sdk-three_api1.sdk.com Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU Guide de référence de l'API SOAP Mai 2007 177 Kit de développement Java pour l'API SOAP Configurer ColdFusion pour le kit de développement PayPal Java 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 B.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 Configurer ColdFusion pour le kit de développement PayPal Java Cette annexe explique comment configurer ColdFusion X 7.0.1 pour utiliser le kit de développement PayPal. Récapitulatif des étapes de l'installation Le serveur d'applications ColdFusion doit être configuré pour connaître l'emplacement des fichiers JAR de PayPal, et vos pages ColdFusion Markup (CFM) doivent être configurées avec le chemin d'accès absolu du certificat d'API PayPal de l'utilisateur API PayPal au nom duquel les appels sont effectués. 1. Installez le kit de développement PayPal Java tel que décrit à la section « Installation du kit de développement PayPal » page 171. 2. Copiez un sous-ensemble des fichiers JAR du kit de développement PayPal Java à un endroit accessible par le serveur d'applications ColdFusion. Les fichiers JAR se trouvent dans SDK_root\lib et leurs noms exacts sont les suivants : – – – – – – – – 178 bcmail-jdk14-128.jar bcprov-jdk14-128.jar paypal_base.jar paypal_stubs.jar sax2.jar xerces.jar xpp3-1.1.3.4d_b4_min.jar xstream.jar-1.1.3.jar Mai 2007 Guide de référence de l'API SOAP Kit de développement Java pour l'API SOAP Configurer ColdFusion pour le kit de développement PayPal Java 3. Utilisez l'administrateur du serveur d'applications ColdFusion pour ajouter le chemin d'accès absolu de l'emplacement choisi à l'étape 2 pour la variable d'environnement CLASSPATH de Java et JVM. 4. Redémarrez le serveur d'applications ColdFusion. 5. Copiez vos certificats d'API PayPal au format PKCS (P12) dans un emplacement que vous spécifierez dans chaque page CFM pour chaque appel et utilisateur API. 6. Comme point de départ de votre propre développement, copiez les exemples de pages CFM fournis dans PayPal à la racine des documents Web du serveur d'applications ColdFusion. Reportez-vous à la section « Exemples de pages CFM » page 179. Journalisation SOAP facultative avec ColdFusion Pour configurer ColdFusion afin qu'il journalise les messages SOAP, ajoutez les lignes suivantes à la section globalConfiguration du fichier ColdFusionMX7_root_directory\wwwroot\WEB-INF\client-confid.wsdd. <requestFlow> <handler type="java:com.paypal.sdk.logging.DefaultSOAPHandler" /> </requestFlow> <responseFlow> <handler type="java:com.paypal.sdk.logging.DefaultSOAPHandler" /> </responseFlow> Problème connu avec l'encodage UTF-8 dans la journalisation. Les exemples d'applications ColdFusion PayPal utilisent la version de log4j (1.1.3) fournie avec ColdFusion MX 7. Dans cette version de log4j, FileAppender ignore apparemment la valeur du paramètre encoding ; par conséquent, les caractères encodés en UTF-8 dans les messages SOAP ne sont pas correctement journalisés. Exemples de pages CFM Le kit de développement PayPal Java est fourni avec des exemples de pages ColdFusion Markup (CFM) permettant d'appeler diverses API PayPal. Ces exemples se trouvent dans le répertoire suivant : SDK_root\Samples\ColdFusion Les exemples ColdFusion sont basés sur les hypothèses suivantes, telles que spécifiées dans les étapes de configuration dans SDK_root\Samples\ColdFusion\README.txt: z ColdFusion s'exécute sous Microsoft Windows. z Les bibliothèques de classe du kit de développement PayPal Java sont enregistrées dans C:\paypal\lib. z Les certificats des utilisateurs API PayPal sont enregistrés dans C:\paypal\users. Guide de référence de l'API SOAP Mai 2007 179 Kit de développement Java pour l'API SOAP Configurer ColdFusion pour le kit de développement PayPal Java Noms des répertoires dans les exemples Les exemples sont basés sur certains emplacements de répertoires. Vous pouvez utiliser les emplacements de votre choix, à condition d'être cohérents lorsque vous les spécifiez dans les exemples fournis par PayPal. Par exemple, vous pouvez enregistrer les certificats d'API PayPal au format PKCS dans des sous-répertoires, un par utilisateur API. Assurez-vous que vos pages CFM contenant les appels aux API PayPal pour chaque utilisateur API utilisent bien le chemin d'accès absolu du fichier du certificat d'API approprié. Recopier les fichiers JAR après les mises à jour WSDL Après avoir mis à jour le kit de développement PayPal, n'oubliez pas de copier à nouveau les fichiers JAR PayPal dans votre installation de ColdFusion, tel qu'indiqué à la section « Récapitulatif des étapes de l'installation » page 178. 180 Mai 2007 Guide de référence de l'API SOAP C Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Le kit de développement PayPal est composé de services d'API , de services de Paiement sur site marchand crypté et de préférences d'utilisateur qui définissent les caractéristiques des utilisateurs de ces services. Cette section comprend les rubriques suivantes : z « Installation du kit de développement PayPal » page 181 z « Configuration du kit de développement PayPal » page 183 z « Services d'API » page 186 z « Préférences » page 187 z « Classes COM spécifiques » page 189 z « Exemples d'applications » page 191 Installation du kit de développement PayPal 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 acceptées Le kit de développement PayPal a été testé : son fonctionnement est compatible avec les normes ci-dessous. TABLEAU C.1 Normes prises en charge Norme Version Microsoft .NET Framework 1.1, Service Pack 1 Simple Object Access Protocol (SOAP) 1.1 Web Services Description Language (WSDL) 1.1 Langues acceptées Anglais américain Numéro de version du kit de développement PayPal Kits de développement PayPal ASP.NET et Classic ASP version 4.3.1 Guide de référence de l'API SOAP Mai 2007 181 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Installation du kit de développement PayPal Configuration matérielle requise Le tableau ci-dessous indique la configuration matérielle 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 C.2 Configuration matérielle requise Composant Capacité minimale RAM 256 Mo Processeur Pentium 1 GHz Espace disque 50 Mo Configuration logicielle Microsoft .NET Framework 1.1, Service Pack 1 REMARQUE : vous pouvez télécharger le Service Pack 1 à partir du site Microsoft. Télécharger et installer le kit de développement PayPal La dernière version du kit de développement PayPal est disponible à l'adresse https://www.paypal.com/sdk. Vous pouvez télécharger un programme d'installation à extraction automatique ou un fichier au format ZIP. L'installation est simple et ne nécessite aucune instruction particulière. L'installation de la source du kit de développement PayPal est facultative. Répertoires 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 C.3, « Répertoires et contenu du kit de développement PayPal ». TABLEAU C.3 Répertoires et contenu du kit de développement PayPal 182 Répertoire Description bin DLL compilées du kit de développement PayPal et console SDK (Console.exe) docs Documentation de classe Ndoc et Guide du kit de développement PayPal samples\ASPNET ou ClassicASP Exemples de programmes 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 référence de l'API SOAP Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Configuration du kit de développement PayPal TABLEAU C.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. 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. 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. Pour en savoir plus, reportez-vous à la section, « Exemples d'applications » page 191. Configuration du kit de développement PayPal Cette section explique comment configurer le kit de développement PayPal pour utiliser les exemples d'applications et les programmes que vous développez. Ajouter les références ASP.NET dans 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. Modifier le fichier Web.config Vous pouvez modifier le comportement des kits de développement PayPal ASP.NET et Classic ASP en modifiant le fichier de configuration Web.config. Initialiser le fichier Web.config pour Classic ASP Le kit de développement PaypalClassic ASP utilise un fichier de configuration Web.config : SDK_root\Samples\ClassicASP\Web.config Pour permettre à vos applications Web utilisant le kit de développement PayPal de se connecter, ce dernier doit connaître l'emplacement de son fichier Web.config. Dans votre fichier Global.asa, modifiez la méthode Session_OnStart pour appeler la méthode COMAdapter.Init du kit de développement PayPal : Guide de référence de l'API SOAP Mai 2007 183 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Configuration du kit de développement PayPal Sub Session_OnStart Set pp_caller = CreateObject("com.paypal.sdk.COMNetInterop.COMAdapter") pp_caller.Init Request.ServerVariables("APPL_PHYSICAL_PATH") End Sub REMARQUE : cette étape n'est pas nécessaire pour ASP.NET. Configurations personnalisées facultatives de Web.config Vous pouvez ajouter des paramètres personnalisés facultatifs dans le fichierWeb.config. Immédiatement après la balise <configuration> supérieure se trouve une balise <configSections>. Dans <configSections>, ajoutez une balise <section name=”paypal”>, tel qu'indiqué ci-dessous. <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> Définir le nombre maximum de tentatives pour les requêtes SOAP Pour les requêtes SOAP, vous pouvez définir le nombre maximal de tentatives dans le bloc <paypal> de Web.config. <maximumRetries value=”integerNumberOfRetries”/> Si la valeur 0 est définie dans integerNumberOfRetries, la requête SOAP est envoyée une seule fois, sans autres tentatives. Par défaut, la valeur est égale à 0. PayPal recommande de spécifier une valeur maximumRetries n'excédant pas 3. 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 SOAP. 184 Mai 2007 Guide de référence de l'API SOAP Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Configuration du kit de développement PayPal Niveaux de journalisation La quantité de détails enregistrée par le kit de développement PayPal varie en fonction de quatre niveaux de journalisation. TABLEAU C.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 SOAP 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 SOAP é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 ou SDK_root\samples\ClassicASP\Web.config. z Vous pouvez modifier la valeur de l'élément file pour 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 C.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> Guide de référence de l'API SOAP Mai 2007 185 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Services d'API <logger name="com.paypal.sdk"><level value="ALL" /> <appender-ref ref="PAYPALLOGFILE" /> </logger> </log4net> Journaliser les requêtes SOAP Pour activer la journalisation du texte complet des requêtes et réponses SOAP, ajoutez les lignes ci-après dans le bloc <system.web> de votre fichier Web.config. Vous pouvez copier ces lignes dans le fichier SDK_root\samples\ASPNET\Web.config ou SDK_root\samples\ClassicASP\Web.config. IMPO RTANT : le niveau de journalisation DEBUG peut réduire les performances du kit de développement PayPal. Evitez de l'utiliser au quotidien. <webServices> <soapExtensionTypes> <add type="com.paypal.sdk.logging.DefaultSOAPHandler, paypal_base" priority="1" group="0" /> </soapExtensionTypes> </webServices> Activer la prise en charge des procurations pour ASP.NET 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. Services d'API L'accès intégré aux API PayPal est l'une des fonctions principales de ce kit. Comme le montre la Figure C.1, « Services d'API du kit de développement PayPal : vue d'ensemble » page 187, le kit de développement PayPal communique avec le nœud de service API PayPal à l'aide du kit SOAP. Des classes de fiches correspondant aux requêtes, aux réponses et à leurs données sont fournies afin de permettre de spécifier les paramètres des requêtes et de lire les valeurs des réponses. Ces classes sont générées automatiquement à partir du fichier WSDL PayPal. 186 Mai 2007 Guide de référence de l'API SOAP Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Préférences FIGURE C.1 Services d'API du kit de développement PayPal : vue d'ensemble 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 d'un tiers qui autorise l'appelant à invoquer les API PayPal en son nom. Ce tiers porte le nom d'appelé. Ce nom est facultatif. z Environnement PayPal pour traiter les appels API : live, sandbox ou beta-sandbox. Des préférences pour les Paiements sur site marchand cryptés sont associées aux services EWP, notamment : Guide de référence de l'API SOAP Mai 2007 187 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Préférences 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 des Paiements sur site marchand cryptés, consultez le Guide d'intégration de Paiements sur site marchand. 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 ci-dessous. TABLEAU C.5 Récapitulatif des interfaces et classes liées aux préférences des kits de développement PayPal ASP.NET et Classic ASP 188 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 un objet IAPIProfile. Elle contient des méthodes statiques qui gèrent l'instanciation et la construction des objets de préférences. 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. Cette instance sera unique. 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. Mai 2007 Guide de référence de l'API SOAP Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Classes COM spécifiques Classes COM spécifiques Les développeurs COM peuvent utiliser les classes suivantes : z COMAdapter2 z COMArray z COMUtil Ces classes se trouvent dans l'espace de noms com.paypal.sdk.COMNetInterop. Pour voir des exemples d'utilisation de ces classes, consultez le code source de SDK_Root\Samples\ClassicASP. COMAdapter2 La classe COMAdapter2 contient des méthodes de définition et d'extraction des valeurs associées à des préférences API, notamment l'identifiant et le mot de passe API, la signature API, l'appelé tiers et l'environnement. Elle contient également des méthodes d'exécution d'appels API. L'ancienne classe COMadapter est utilisée pour la compatibilité ascendante. Par exemple, l'extrait de code suivant attribue aux préférences API les informations d'identification de l'exemple d'utilisateur fourni avec le kit de développement PayPal, tel qu'indiqué à la section « Exemples d'applications » page 191. L'exemple d'utilisateur utilise un certificat API : Set pp_caller = CreateObject("com.paypal.sdk.COMNetInterop.COMAdapter2") ' Set API profile pp_caller.SetAPIUsername "sdk-seller_api1.sdk.com" pp_caller.SetAPIPassword "12345678" ' Set the third-party subject to null pp_caller.SetSubject "" pp_caller.SetEnvironment “sandbox” L'extrait de code ci-après attribue aux préférences API les informations d'identification d'un utilisateur qui utilise une signature API : ' Set API profile pp_caller.SetAPIUsername "seller_api1.designerfotos.com" pp_caller.SetAPIPassword "5GM8R4SNEPLGP524" ' Set the API Signature string pp_caller.SetAPISignature "A0iFR8ojMS.TH8Eyc3t0CP1dTJzbA.cDbvQAR0GPJVEuvtDzkiPJNKj7" ' Set the third-party subject to null pp_caller.SetSubject "" pp_caller.SetEnvironment “sandbox” Guide de référence de l'API SOAP Mai 2007 189 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Classes COM spécifiques COMArray La classe de procurations COMArray fonctionne de la même manière que la classe .NET ArrayList. Utilisez COMArray lorsque vous avez besoin de créer un tableau .NET lors de la configuration de l'objet demandé ; par exemple, lorsque vous fournissez plusieurs objets PaymentDetailsType à une requête DoDirectPayment. Exemple : <% Dim pmtDetailsItemArray Set pmtDetailsItemArray = CreateObject("com.paypal.sdk.COMNetInterop.COMArray") Dim pmtDetailsItem1 Set pmtDetailsItem1 = CreateObject("com.paypal.soap.api.PaymentDetailsItemType") pmtDetailsItemArray.Add(pmtDetailsItem1) Dim paymentDetailsType Set paymentDetailsType = CreateObject("com.paypal.soap.api.PaymentDetailsType") pmtDetailsItemArray.SetField paymentDetailsType, "PaymentDetailsItem" %> COMUtil La classe d'outils COMUtil facilite la saisie de valeurs énumérées dans les objets de requête. Par exemple, supposons que vous voulez spécifier US Dollars comme type de devise dans un appel DoDirectPayment. Sans la classe COMUtil, il vous aurait fallu spécifier la valeur entière de l'énumération avec un code comme celui-ci : Set .Amount = CreateObject("com.paypal.soap.api.BasicAmountType") .Amount.currencyID = 21 Avec la classe COMUtil, vous la spécifiez comme suit : Set util = CreateObject("com.paypal.sdk.COMNetInterop.COMUtil") Set .Amount = CreateObject("com.paypal.soap.api.BasicAmountType") .Amount.currencyID = util.GetEnumValue("CurrencyCodeType", "USD") 190 Mai 2007 Guide de référence de l'API SOAP Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Exemples d'applications Exemples d'applications Le kit de développement PayPal contient des exemples d'applications dans le dossier SDK_root\samples\ASPNET ou SDK_root\samples\ClassicASP. Ces exemples sont répartis dans des sous-dossiers par produit. TABLEAU C.6 Exemples par produit Sous-dossier dans SDK_Root\samples\ASPNET ou ClassicASP 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 le kit de développement PayPal et l'Environnement de test PayPal. Cette signature API appartient à l'utilisateur suivant : TABLEAU C.7 Détails de l'exemple de signature API du kit de développement PayPal Identifiant API sdk-three_api1.sdk.com Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU Guide de référence de l'API SOAP Mai 2007 191 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Exemples d'applications Exemple d'utilisateur et de certificat d'API Les exemples sont accompagnés d'un certificat numérique de l'API PayPal à utiliser avec le kit PayPal pour développeur et l'Environnement de test PayPal. Ce certificat appartient à l'utilisateur suivant : TABLEAU C.8 Détails de l'exemple de certificat du kit de développement PayPal sdkseller.p12 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 password 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écutez l'une des commandes suivantes : SDK_root\samples\ASPNET\InstallSample.bat. SDK_root\samples\ClassicASP\InstallSample.bat. 2. Pour autoriser l'ouverture de session, remplacez les permissions du dossier localComputerName\ASPNET par Contrôle total. Pour Classic ASP : Pour activer la journalisation pour le compte utilisateur ayant l'accès anonyme, remplacez les permissions du dossier des fichiers journaux par Contrôle total. Par défaut, ce dossier est appelé IUSER_localComputerName. InstallSample.bat exécute les opérations suivantes : – Crée un répertoire virtuel appelé PaypalASPNETSample ou PaypalClassicASPSample dans IIS, qui pointe sur SDK_root\samples\ASPNET ou ClassicASP. – 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. 192 Mai 2007 Guide de référence de l'API SOAP Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Exemples d'applications Exécuter les exemples Pour exécuter les exemples, ouvrez l'une des URL suivantes dans un navigateur : http://localhost/PaypalASPNETSamples http://localhost/PaypalClassicASPSamples Guide de référence de l'API SOAP Mai 2007 193 Kits de développement PayPal ASP.NET et Classic ASP pour l'API SOAP Exemples d'applications 194 Mai 2007 Guide de référence de l'API SOAP D Kit de développement PHP pour l'API SOAP Le kit de développement PayPal est composé de services d'API et de préférences d'utilisateur qui définissent les caractéristiques des utilisateurs de ces services. Cette section comprend les rubriques suivantes : z « Configurer PHP et Apache pour le kit de développement PayPal » page 195 z « Normes acceptées » page 196 z « Télécharger et installer le kit de développement PayPal » page 196 z « Répertoires et fichiers de configuration du kit de développement PayPal » page 198 z « Services d'API » page 200 z « Préférences » page 201 z « Exemples d'applications » page 202 Ce chapitre présente les logiciels et le matériel pris en charge par le kit de développement PayPal et requis pour son installation. Configurer PHP et Apache pour le kit de développement PayPal Le kit de développement PayPal PHP utilise les packages PHP requis suivants : z NET_Url z NET_Socket z HTTP_Request z Log Pour utiliser le kit de développement PayPal, configurez PHP et Apache comme suit : 1. Désactivez les fonctions du mode sans échec. 2. N'utilisez pas les paramètres disabled_functions et disabled_classes. 3. Installez PHP en tant que module du serveur Web Apache. Ces instructions s'appliquent à PHP 4.3.0 ou 5.1.4 sous Microsoft Windows : – Insérez les lignes suivantes dans votre Apache httpd.conf (qui est généralement placé dans C:\Program Files\Apache Group\Apache2\conf) # Pour PHP 4, faites par exemple ce qui suit : LoadModule php4_module "c:/php/php4apache2.dll" # N'oubliez pas de copier le fichier php4apache2.dll à partir du répertoire sapi. AddType application/x-httpd-php .php Guide de référence de l'API SOAP Mai 2007 195 Kit de développement PHP pour l'API SOAP Normes acceptées # Pour PHP 5, faites par exemple ce qui suit : LoadModule php5_module "c:/php/php5apache2.dll" AddType application/x-httpd-php .php # Configurez le chemin d'accès du fichier php.ini PHPIniDir "C:/php" – Ouvrez votre répertoire d'installation PHP et modifiez le fichier php.ini. Recherchez la section relative aux extensions, puis annulez les marques de commentaires (en supprimant le point-virgule initial) des deux lignes suivantes : ;extension=php_curl.dll ;extension=php_openssl.dll 4. Vérifiez votre configuration PHP à l'aide de la commande d'affichage ci-dessous. php –info Normes acceptées 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 PHP avec PEAR (PHP Extension and Application Repository) 4.3.* Simple Object Access Protocol (SOAP) 1.1 Web Services Description Language (WSDL) 1.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 présente le kit de développement PayPal PHP version 4.3.1. Télécharger et installer le kit de développement PayPal La dernière version du kit de développement PayPal est disponible à l'adresse https://www.paypal.com/sdk. 196 Mai 2007 Guide de référence de l'API SOAP Kit de développement PHP pour l'API SOAP Télécharger et installer le kit de développement PayPal Vérifiez que vous avez configuré PHP et votre serveur Web comme l'explique la section « Configurer PHP et Apache pour le kit de développement PayPal » page 195. Vous pouvez installer le kit de développement PayPal sur un ordinateur local ou distant. Installer sur un ordinateur local Pour installer le kit de développement PayPal sur votre ordinateur local, procédez comme suit : 1. Téléchargez le kit de développement PayPal PHP au format de distribution de votre choix : .zip, .tar ou .tar.gz. 2. Extrayez la distribution dans votre répertoire d'installation (désigné dans cette procédure par install_dir) à l'aide de l'une des commandes suivantes : unzip paypal_php_sdk.zip tar vxf paypal_php_sdk.tar tar vxfz paypal_php_sdk.tar.gz 3. Installez les exemples comme suit : cd install_dir\php-sdkphp install.php 4. Lorsqu'un message vous invite à spécifier votre répertoire Web cible, entrez le nom de votre répertoire Web PHP. Le répertoire cible doit être placé à la racine des documents du serveur PHP. Installer sur un ordinateur distant à partir de Microsoft Windows Vous pouvez installer le kit de développement PayPal sur un ordinateur distant qui exécute un serveur FTP. Pour ce faire, les informations suivantes sont requises : z Le nom du serveur FTP z Vos nom d'utilisateur et mot de passe FTP z Le répertoire du kit de développement PayPal. Il doit être lié au répertoire racine FTP. z Le répertoire des exemples du kit de développement PayPal. Il doit être lié au répertoire racine FTP. Pour installer le kit de développement PayPal sur votre ordinateur local, procédez comme suit : 1. Téléchargez un format de distribution du kit de développement PayPal PHP : .zip, .tar ou .tar.gz. 2. Extrayez la distribution dans votre répertoire d'installation (désigné dans cette procédure par install_dir) à l'aide de l'une des commandes suivantes : unzip paypal_php_sdk.zip tar vxf paypal_php_sdk.tar Guide de référence de l'API SOAP Mai 2007 197 Kit de développement PHP pour l'API SOAP Répertoires et fichiers de configuration du kit de développement PayPal tar vxfz paypal_php_sdk.tar.gz 3. Installez le kit de développement PayPal et les exemples en procédant comme suit à l'invite de commande : cd install_dir\php-sdk remote_intall.bat 4. Suivez les messages d'invite pour terminer l'installation. Exemple d'installation à distance C:\php-sdk>remote_install.bat Ce programme d'installation supprimera les fichiers contenus dans le répertoire cible. Pour annuler, appuyez sur Ctrl+C, puis sur Y. Pour continuer, appuyez sur une touche. . . Spécifiez le serveur FTP d'installation : votreNomdeDomaine Nom d'utilisateur pour FTP : votreNomdutilisateurFTP Mot de passe pour FTP : votreMotdepasseFTP Veuillez spécifier le chemin d'accès (lié à la racine FTP) du répertoire paypal-php-sdk : votreRépertoireInstallationADistance Veuillez spécifier le chemin d'accès (lié à la racine FTP) du répertoire paypal-sdk-samples : votreRépertoireInstallationDistantAlaRacinedesDocumentsPHP Répertoires et fichiers de configuration du kit de développement PayPal Les composants du kit de développement PayPal PHP sont organisés en différents sousrépertoires, présentés ci-dessous. TABLEAU D.2 Kit de développement PayPal PHP : répertoires et contenu Répertoire Description lib Code principal du kit de développement PayPal. Les sousrépertoires sont décrits dans le Tableau D.3, “Sousrépertoires et contenu de lib”. docs Documentation du kit de développement PayPal : exemples, échantillon XML et documentation API exemples Exemples d'applications TABLEAU D.3 Sous-répertoires et contenu de lib Répertoire dans lib PayPal 198 Description Classes, fichiers de configuration et fichiers auxiliaires principaux du kit de développement PayPal Mai 2007 Guide de référence de l'API SOAP Kit de développement PHP pour l'API SOAP Répertoires et fichiers de configuration du kit de développement PayPal TABLEAU D.3 Sous-répertoires et contenu de lib (suite) Répertoire dans lib Description PayPal/cert Certificats publics PayPal PayPal/conf Fichier de configuration des propriétés système du kit de développement PayPal. Reportez-vous à la section « Fichier de configuration » page 199. PayPal/Profile Implémentations APIProfile et EWPProfile et définitions ProfileHandler, avec deux gestionnaires de préférences par défaut : ProfileHandler_File et ProfileHandler_Array. PayPal/SOAP Implémentation PEAR::SOAP. Aucun code spécifique à PayPal. PayPal/Type Fichiers de types de données générés automatiquement, dont les classes de types PayPal héritent, et deux classes parents : XSDType et XSDSimpleType. PayPal/wsdl Fichiers PayPal WSDL/XSD et paypal-endpoints.php Fichier de configuration Le kit de développement PayPal est distribué avec le fichier de propriétés de configuration SDK_root/lib/PayPal/conf/paypal-sdk.php.dist. Pour modifier la configuration, copiez ce fichier dans : SDK_root/lib/PayPal/conf/paypal-sdk.php Journaux du kit de développement PayPal Le kit de développement PayPal utilise la fonctionnalité de journalisation PEAR. Configurer les niveaux de journalisation La quantité de détails enregistrée par le kit de développement PayPal varie en fonction de trois niveaux de journalisation. Spécifiez la valeur du paramètre log_level dans le fichier SDK_root/lib/PayPal/conf/paypalsdk.php file. . TABLEAU D.4 Niveaux de journalisation du kit de développement PayPal Niveau Description PEAR_LOG_ERR Consigne uniquement les erreurs graves Guide de référence de l'API SOAP Mai 2007 199 Kit de développement PHP pour l'API SOAP Services d'API TABLEAU D.4 Niveaux de journalisation du kit de développement PayPal (suite) Niveau Description PEAR_LOG_INFO Niveau de journalisation par défaut. Date/heure de l'opération API, nom de l'opération, temps écoulé, indication de réussite ou d'échec. PEAR_LOG_DEBUG Texte complet des requêtes et réponses SOAP et des autres messages de débogage. Les requêtes et réponses SOAP étant asynchrones, leur enregistrement dans le fichier journal peut paraître désordonné. Evitez d'utiliser la journalisation DEBUG au quotidien, car elle risque de réduire les performances du kit de développement PayPal. TABLEAU D.5 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 SOAP 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 SOAP étant asynchrones, leur enregistrement dans le fichier journal peut paraître désordonné. Emplacement du fichier journal Dans le paramètre log_dir, spécifiez le nom du répertoire dans lequel le kit de développement PayPal doit enregistrer son fichier journal. Services d'API L'accès intégré aux API PayPal est l'une des fonctions principales de ce kit. Comme le montre la Figure D.1, « Services d'API du kit de développement PayPal : vue d'ensemble » page 201, le kit de développement PayPal communique avec le nœud de service API PayPal à l'aide du kit SOAP. Des classes de fiches correspondant aux requêtes, aux réponses et à leurs données sont fournies afin de permettre de spécifier les paramètres des requêtes et de lire les valeurs des réponses. Ces classes sont générées automatiquement à partir du fichier WSDL PayPal. 200 Mai 2007 Guide de référence de l'API SOAP Kit de développement PHP pour l'API SOAP Préférences FIGURE D.1 Services d'API du kit de développement PayPal : vue d'ensemble Client Web Services Server Layer Layer SOAP Toolkits Layer PayPal SDK SOAP Toolkit (e.g. Axis) .NET Application PayPal SDK .NET Framework PHP Application PayPal SDK PHP With PEAR SO Java Application ns po es t/r S e s TP qu T re er H AP o v e PayPal SOAP Service Endpoint PayPal Core Services Transaction Engine Business Logic SO AP r ov e qu e r es HT t /r T P esp S on se SOAP request/response over HTTPS 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 d'API, chemin du certificat d'API au format PEM téléchargé par PayPal 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, sandbox ou beta-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. Guide de référence de l'API SOAP Mai 2007 201 Kit de développement PHP pour l'API SOAP Exemples d'applications Pour en savoir plus sur le fonctionnement des Paiements sur site marchand cryptés, consultez le Guide d'intégration de Paiements sur site marchand. 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 ci-dessous. TABLEAU D.6 Récapitulatif des classes liées aux préférences du kit de développement PayPal PHP Interface/Classe Descriptions APIProfile Cette classe 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 implémentation par défaut, 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. ProfileHandler La classe ProfileHandler gère le stockage et la récupération des objets APIProfile et EWPProfile. PayPal propose deux implémentations de base : ProfileHandler_Array et ProfileHandler_File pour activer et désactiver la sérialisation des données des préférences envoyées vers ou provenant d'un fichier présent sur le disque. Par souci de sécurité, l'intégration ProfileHandler_File ne stocke pas le mot de passe API d'un utilisateur API. Exemples d'applications Le kit de développement PayPal contient des exemples d'applications, placés dans le répertoire SDK_root/samples. Les exemples d'applications sont répartis en deux groupes : 1. Paiements sur site marchand : avec l'API Paiement direct pour les débits de carte bancaire et les API Paiement express PayPal 2. Exemples d'administration : RefundTransaction, TransactionSearch, DoCapture, DoVoid et DoReauthorization 202 Mai 2007 Guide de référence de l'API SOAP Kit de développement PHP pour l'API SOAP Exemples d'applications Exemple d'utilisateur API avec signature API Les exemples sont fournis avec une signature API à utiliser avec le kit de développement PayPal et l'Environnement de test PayPal. Cette signature API appartient à l'utilisateur suivant : TABLEAU D.7 Détails de l'exemple de signature API du kit de développement PayPal Identifiant API sdk-three_api1.sdk.com Mot de passe API QFZCWN5HZM8VBG7Q Signature API A-IzJhZZjhg29XQ2qnhapuwxIDzyAZQ92FRP5dqBzVesOkzbdUONzmOU Exemple d'utilisateur et de certificat d'API Les exemples sont accompagnés d'un certificat numérique de l'API PayPal à utiliser avec le kit PayPal pour développeur et l'Environnement de test PayPal. Ce certificat appartient à l'utilisateur suivant : TABLEAU D.8 Détails de l'exemple de certificat du kit de développement PayPal sdk-seller.p12 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 Exécuter les exemples Exécutez les exemples en ouvrant l'URL suivante : http://yourWebServer:port/webDir/paypal_php_samples/ webDir varie en fonction du répertoire Web PHP cible que vous avez spécifié dans install.php lors de l'installation du kit de développement PayPal. Guide de référence de l'API SOAP Mai 2007 203 Kit de développement PHP pour l'API SOAP Exemples d'applications 204 Mai 2007 Guide de référence de l'API SOAP E Abréviations des états et provinces TABLEAU E.1 Abréviations pour les provinces canadiennes et les états américains Province canadienne ou état américain Abbreviation Alberta AB British Columbia BC Manitoba MB New Brunswick NB Newfoundland and Labrador NF Northwest Territories NT Nova Scotia NS Nunavut NU Ontario ON Prince Edward Island PE Quebec QC Saskatchewan SK Yukon YK Alabama AL Alaska AK American Samoa AS Arizona AZ Arkansas AR California CA Colorado CO Connecticut CT Delaware DE District of Columbia DC Guide de référence de l'API SOAP Mai 2007 205 Abréviations des états et provinces TABLEAU E.1 Abréviations pour les provinces canadiennes et les états américains (suite) 206 Province canadienne ou état américain Abbreviation Federated States of Micronesia FM Florida FL Georgia GA Guam GU Hawaii HI Idaho ID Illinois IL Indiana IN Iowa IA Kansas KS Kentucky KY Louisiana LA Maine ME Marshall Islands MH Maryland MD Massachusetts MA Michigan MI Minnesota MN Mississippi MS Missouri MO Montana MT Nebraska NE Nevada NV New Hampshire NH New Jersey NJ New Mexico NM New York NY Mai 2007 Guide de référence de l'API SOAP Abréviations des états et provinces TABLEAU E.1 Abréviations pour les provinces canadiennes et les états américains (suite) Province canadienne ou état américain Abbreviation North Carolina NC North Dakota ND Northern Mariana Islands MP Ohio OH Oklahoma OK Oregon OR Palau PW Pennsylvania PA Puerto Rico PR Rhode Island RI South Carolina SC South Dakota SD Tennessee TN Texas TX Utah UT Vermont VT Virgin Islands VI Virginia VA Washington WA West Virginia WV Wisconsin WI Wyoming WY Armed Forces Americas AA Armed Forces AE Armed Forces Pacific AP Guide de référence de l'API SOAP Mai 2007 207 Abréviations des états et provinces 208 Mai 2007 Guide de référence de l'API SOAP 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 209 Codes pays 210 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 211 Codes pays 212 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 213 Codes pays 214 Mai 2007 Guide de référence de l'API SOAP Index A C AbstractRequestType 29, 30 AbstractResponseType 29, 30, 95 Accès direct 16 Accès tiers 16 Ack 21, 31 réponse success 22 Address 52, 81 AddressOverride 53 AddressOwner 81 AddressOwnerTypeCode 81 AddressStatus 81 AddressStatus CodeType 81 AddressType 52, 69, 81 AddressVerifyResponseType 48, 58, 63 Ajout/Suppression de programmes 183 Amount 71, 72, 88, 89, 94, 98, 106 Apache Axis 1.1 171 API DoReferenceTransaction 121 Appelé 15, 16, 17, 19, 20 Auction 89 AuctionInfoType 89 AuctionItemNumber 104 AuctionTransactionID 72 authentification d'une requête SOAP 17 authentification de toutes les requêtes SOAP 17 AuthorizationID 73, 125 Autorisation et collecte 25 autorisation tierce 17 Canceled-Reversal 39, 85 CancelURL 52 CardNumber 104 Certificat 16, 18 exemple 178, 192, 203 Certificat d'API 15 Certificat numérique exemple 178, 192, 203 Champs de CreditCardDetailsType 124 Champs de DoReferenceTransactionRequest 123 Champs de DoReferenceTransactionResponse 125 Champs DoReferenceTransactionRequest 123 ChannelType 57 CityName 82 Classe CertificateAPIProfile 176 Classe DefaultAPIProfile 188 Classe ProfileFactory 176, 188 Classe Profiles 176 Classe SignatureAPIProfile 176 CLASSPATH 172 client-config.wsdd 173 ClosingDate 89 Codage et jeu de caractères UTF-8 24 Code d'erreurs 165 Codes de réponse CVV2 (cryptogramme visuel) 127 ColdFusion 171, 178 COMArray 190 Completed 39, 85 COMUtil 190 Configuration d'Axis pour la journalisation SOAP 173 Console.exe 182 ContactPhone 61 CoreComponentTypes.xsd 14 CorrelationID 22, 23, 31 CorrelationId 21 Country 82 CountryCodeType 58, 62, 63, 70 cpp-header-back-color 55 cpp-header-border-color 55 B balise paypal dans Web.Config 184 BasicAmountType 24, 25, 50, 51, 66, 67, 68, 71, 73, 74, 106, 107 Build 31 Business 80 ButtonSource 68 BuyerEmail 56 BuyerID 89 Guide de référence de l'API SOAP Mai 2007 215 Index cpp-payflow-color 55 CurrencyCode 106 currencyID 50, 51, 66, 67, 68, 71, 94, 106 currencyID, attribut requis 25 Custom 51, 60, 68, 87 CustomCode 31 F Failure 31 FailureWithWarning 31 FeeAmount 38, 73, 84, 107 FeeRefundAmount 99 fichiers source 183 FirstName 62, 80 D Denied 39, 85 Denied (état de la transaction) 106 DoAuthorizationRequest 41 DoAuthorizationResponse 41 DoAuthorizationResponseType 41 DoCapture 177, 191 DoCaptureResponseType 33 Documentation 182 Documentation du kit de développement PayPal 175, 187 Documentation Javadoc pour le kit de développement PayPal 175 DoDirectPayment 190 DoReauthorization 191 DoReauthorizationResponseType 45 DoVoid 177, 191 DoVoidResponseType 43 E EbayItemPaymentDetailsItem 71 eBL 23 echeck 37 EffectiveDate 88 EmailAddress 93 EmailAddressType 56, 61, 93, 103, 107 EmailSubject 92 EndDate 102 ErrorCode 22 Errors 22, 31 ExchangeRate 74, 85 Exemple d'application 191, 202 Exemple d'informations d'authentification API 177, 178, 191, 192, 203 Exemple de certificat d'API 178 Exemple de signature API 177, 191, 203 Expired 39, 85 ExpressCheckoutTokenType 50 216 G Get Transaction Details 191 GetTransactionDetails 25, 177 GetTransactionDetailsRequest 79, 101 GetTransactionDetailsRequestType 77 GetTransactionDetailsResponse 94 GetTransactionDetailsResponseType 77 Global.asa 183 GrossAmount 73, 84, 107 GrossRefundAmount 99 Guide d'intégration de Paiements sur site marchand 176, 188, 202 H HandlingTotal 67 horodateur 21, 107 I Identifiant 15, 16, 17, 19, 20, 88 identifiant API 17 IIS 192 Init 183 Installation du kit de développement PayPal 172, 182, 196 InstallSample.bat 192 instant 37 Interface EWPProfile 176, 188 Interface IAPIProfile 176, 188 InvoiceID 51, 61, 68, 87, 103 ItemNumber 72 ItemTotal 66 J Journalisation SOAP 173 Mai 2007 Guide de référence de l'API SOAP Index JSP 177 K Kit de développement Java 1.4 171 L LandingPage 56 LandingPageType 56 LastName 81 LocaleCode 54 log4j 173 log4j.properties 173, 174 log4net 184 LongMessage 22 M magasin système 192 MassPay 25, 191 MassPayItem 93 MassPayItemType 93 MassPayRequest 91 MassPayRequestItemType 91 MassPayRequestType 91 MassPayResponseType 91 MaxAmount 51 maximumRetries 184 Memo 98 Message SOAP de type doc-literal 18 Méthode Session_OnStart 183 Microsoft .NET 1.1 181 MiddleName 62, 80 Mot de passe 15, 16, 17, 19, 20, 88 mot de passe API 17 multiItem 89 N Name 70, 72, 81, 87 NameType 62, 80, 81 Ndoc, documentation pour le kit de développement PayPal 187 NetAmount 107 NetRefund 99 Niveaux de journalisation 185 Guide de référence de l'API SOAP NoShipping 53 Notification instantanée de paiement 26 API Paiements groupés 91 API RefundTransaction 26, 91 NotifyURL 69 Number 71, 72, 88 O Options 88 OptionType 88 OrderDescription 51, 68 OrderID 72 OrderTotal 50, 66 P Pages CFM, exemples 179 Paiement direct 25, 177 Paiement express PayPal 25, 47, 177 ParentTransactionID 83 Payer 61, 80, 103, 107 PayerBusiness 62, 81 PayerCountry 62, 81 PayerDisplayName 107 PayerID 61, 65, 80, 94 PayerInfo 60, 79, 80, 81 PayerInfoType 60 PayerName 61, 104 PayerStatus 61, 80 PaymentAction 56, 65, 73 PaymentAction CodeType 56, 65 PaymentCodeType 37, 73 PaymentDate 73, 84 PaymentDetails 65 PaymentDetailsItem 69 PaymentDetailsItemType 69 PaymentDetailsType 65 PaymentInfo 72, 79, 82 PaymentInfoType 37, 72 PaymentItem 87 PaymentItemInfo 79, 87 PaymentStatus 74, 85 PaymentStatusCodeType 74, 85 PaymentTransactionClassCodeType 105 PaymentTransactionCodeType 37, 73 PaymentTransactions 107 Mai 2007 217 Index PaymentTransactionSearchResultsType 101 PaymentTransactionStatusCodeType 106 PaymentType 73, 84 PayPalSvc.wsdl 14 PayPalUser StatusCodeType 80 PayPalUserStatusCodeType 61 Pending 39, 85 Pending (état de la transaction) 106 PendingReason 39, 75, 85, 86 PendingStatusCodeType 86 period 89 PersonNameType 104 Phone 82 PHP 4 196 PostalCode 82 Préférences API définition 175, 187, 201 Préférences pour les Paiements sur site marchand cryptés définition 175, 187, 201 Processed 39, 85 Processing (état de la transaction) 106 PromoCode 57, 69 Q Quantity 71, 88 R ReasonCode 39, 76, 85, 87 ReasonCodeType 76, 87 reattempt 89 ReceiptID 83, 103 Receiver 80, 103 ReceiverEmail 93 ReceiverID 80 ReceiverInfo 79 recherche par état de transaction 106 Recurrences 89 recurring 89 Refunded 39, 85 RefundPurposeTypeCodeType 98 RefundTransaction 25, 177, 191 RefundTransactionID 98 RefundTransactionRequest 97, 98 RefundTransactionRequestType 97 218 RefundTransactionResponseType 97 RefundType 97, 98 Remarque 94 ReqConfirmShipping 53 RequesterCredentials 17, 19, 20 Requêtes SOAP, nombre maximum de tentatives 184 RetryTime 88 ReturnURL 52 Reversed 39, 85 Reversed (état de la transaction) 106 S SaleTax 87 Salutation 62, 80 SampleApp 177 sdk-seller.p12 178, 182, 192, 203 sdk-seller_api1.sdk.com 177, 178, 191, 192, 203 sdk-three_api1.sdk.com 177, 191, 203 sécurité autorisation tierce 17 identifiant API 17 mot de passe API 17 Service Pack 1 de Microsoft .NET Framework 1.1 182 Services Web 13 SettleAmount 73, 84 ShippingTotal 67 ShipToAddress 69 ShortMessage 22 Signature 16, 17, 19, 20 nœuds de service pour 18 Signature API 15 SOAP 171, 181, 196 SolutionType 56 SolutionTypeType 56 src 183 StartDate 102 StateOrProvince 82 Status 106, 107 Street1 81 Street2 82 Subscription 88 SubscriptionDate 88 SubscriptionID 88 SubscriptionTermsType 89 Success 22, 31 Success (état de la transaction) 106 Mai 2007 Guide de référence de l'API SOAP Index SuccessWithWarning 31 Suffix 62, 81 SuffixType 62, 81 T Tax 71 TaxAmount 74, 84 TaxTotal 68 Timestamp 30 Timezone 107 Token 50, 60, 65, 72 TransactionClass 105 TransactionID 73, 83, 97, 98, 101, 103, 107, 125 TransactionSearch 26, 177, 191 TransactionSearchRequest 101, 106 TransactionSearchRequestType 101 TransactionSearchResponse 101 TransactionType 73, 76, 87 Type 107 Type de BasicAmount 84 type de données dateTime 24 Type de données pour le montant des devises 24 Type de EmailAddress 80 Type de PayerInfo 80 Type de PaymentInfo 82 Type de ReceiverInfo 79 Type rpc-encoding non accepté 18 WinHttpCertCfg.exe 192 WinHttpPCertCfg.exe 192 WSDL 13, 14, 171, 181, 196 emplacement du fichier de configuration WSDL de PayPal 14 X XSD 13 emplacement des services Web de PayPal 14 U Unicode 24 UniqueId 94 UserID 93 UserIDType 61, 80 UTC/GMT 22, 24, 30, 107 V Version 20, 30, 31 Voided 39, 85 W Web.config 183, 184, 185, 186 balise maximumRetries 184 balise paypal 184 Guide de référence de l'API SOAP Mai 2007 219