Page tree
Skip to end of metadata
Go to start of metadata


Contenu



Création d'un compte marchand AmazonPay

Pour mettre en place AmazonPay sur Payline, vous devez créer un compte AmazonPay dans SellerCentral et récupérer les informations ID Marchand, Jeton d'autorisation NWS et Identifiant Client nécessaires pour configurer votre contrat Payline.

Pour créer un compte AmazonPay en homologation et production

Cette procédure est présentée à titre indicatif, veuillez vous reporter à la documentation AmazonPay pour tout complément ou changement.

  1. Lancer le script :  OnBoardingMonext contenant l'id PSP Payline.

  2. Suivre les étapes d'inscription et fournir les informations, coordonnées commerciales et bancaires puis récupérer l'ID Marchand le menu Intégration > Clé d'accès NWS.

  3. Associer le compte marchand avec le compte PSP Payline : dans le lien sellercentral, sélectionner le menu Paramètres > Autorisations utilisateur.

  4. Autoriser un développeur avec le  nom Monext et le l'identifiant : 1310-1336-9584, puis récupérer le Jeton d'autorisation MWS. Voir l'identifiant de production.

  5. Inscrire une nouvelle application à l'aide du menu de sellercentral, choisir le menu Connectez-vous avec Amazon et cliquer sur Inscrivez une nouvelle application.
    • (warning)  Vous devez whitelister les URL d'appel à Amazon. Les URL serront statiques.
    • Pour le shortcut, vous devez indiquer l'URL d'appel depuis le bouton Amazon Pay ;
    • Pour le mode à redirection (page web de paiement V2 de Payline), vous devez supprimer le token de l’URL et whitelister URL avec le template dans l’interface Seller Central à chaque modification du template (voir l'encart information pour plus de détail).

  6. Déployer l'encart Paramètres Web et récupérer l'Identifiant client.

  7. Remplir impérativement les champs indiqués comme facultatifs. Les paramètres GET ne sont pas autorisés dans les URL de retour au panier :

    • Origines JavaScript autorisées: il s'agit des URLs des sites du commerçant ;
    • URL de renvoi autorisées: il s'agit des URL de retour au panier.



Pour créer un moyen de paiement dans le centre administration Payline

Vous devez vous rapprocher de votre responsable de compte partenaire pour obtenir les informations nécessaires permettant de configurer votre compte de production sur Payline (contrat vad, ID marchand, Jeton d'authorisation MWS, Identifiant client). 

Ensuite veuillez adresser un email à notre équipe support avec les informations ci dessous, afin qu'ils puissent procéder au paramétrage dans votre compte marchand Payline en indiquant l’ID Marchand et le nom de l’alias du contrat partenaire à créer.  Vous devez réaliser des transactions 'pilote' pour valider le bon fonctionnement en production.

Contactez le support Payline.

Ce numéro de contrat (alias) vous permettra d'effectuer les paiements.


Paramètre PaylineDescription
ID commerçant 

ID marchand récupéré précédemment sur sellercentral

ID de l'application 

Identifiant client de l'application du marchand récupéré précédemment sur sellercentral

Token MWSJeton d'authorisation MWS associé au compte Monext récupéré précédemment sur sellercentral
Type de buton

Aspect souhaité pour le bouton Amazon Pay

Couleur du bouton

Valeurs possibles : Gold (par défaut), LightGray, DarkGray
Taille du boutonValeurs possibles : small, medium (valeur par défaut), large, x-large
Liste blanche des pays de livraison 

Cette liste est utilisée pour contrôler l'adresse de livraison.

(vide) : Aucun contrôle sur l'adresse de livraison

LOT 2 codes pays suivants normes ISO 3166 séparés par des ";" (Ex.: "FR;IT;ES") → PAYLINE contrôle l'adresse de livraison. Si elle est dans un pays hors liste blanche alors un message d'erreur demande à l'acheteur de changer son adresse de livraison.

Région 

Il s'agit de la région Amazon de laquelle dépend le compte marchand

  • UK → Grande Bretagne LOT 2
  • DE → Europe  (valeur par défaut) 
  • US → Etats Unis LOT 2
  • JP → Japon LOT 2


Consignes AmazonPay sur les boutons

https://pay.amazon.com/fr/merchant/tools

Type du bouton

LwA
Login
PwA (valeur par défaut)
Pay
A


Taille du bouton

small

medium (valeur par défaut)

large

x-large


Couleur du bouton

Gold (valeur par défaut)

LightGray

DarkGray

Validez votre intégration

Cette étape obligatoire vous permet de contrôler que votre intégration est correcte.

  • Obtenez une transaction de paiement accordée avec le numéro de contrat Amazon Payline.
  • Consultez le centre d'administration commerçant et validez le bon enregistrement de vos transactions de paiement.


Comment proposer AmazonPay à vos clients ?

Vous pouvez afficher le bouton AmazonPay sur le panier, ou dans la liste des moyens de paiement.

En mode Shortcut

Avec l'API Web Payment de Payline, vous pouvez intégrer le mode Shortcut

Les étapesDescription

1. Le marchand initie le paiement

Appeler le service doWebPayment avec un contractNumber AmazonPay ;

2. Le marchand affiche le bouton AmazonPay sur le panier en mode Widget

Ajouter les scripts suivants dans le head de la page :
  <script src=“$environment/scripts/widget-min.js" charset="utf-8"></script> 
  <link rel="stylesheet" href="$environment/styles/widget-min.css" charset="utf-8">

Ajouter le code suivant dans le body de la page :

  <div id="PaylineWidget" data-token=“$token“ data-template="shortcut" data-event-didshowstate="widgetStateCallback" data-embeddedredirectionallowed="true">

Si vous masquez les moyens de paiement du compte Amazon: 

.pl-amazon-wallet-container { display : none; }


(warning) Les URL de retour au panier ne doivent pas contenir de paramètres GET.

3. Le marchand affiche le carnet d'adresses et les moyens de paiement d'Amazon 

Ajouter les scripts suivants dans le head de la page :

   <script src=“$environment/scripts/widget-min.js" charset="utf-8"></script> 
  <link rel="stylesheet" href="$environment/styles/widget-min.css" charset="utf-8">

Ajouter le code suivant dans le body de la page :

  <div id="PaylineWidget" data-token=“$token“ data-template="shortcut" data-event-didshowstate="widgetStateCallback" data-embeddedredirectionallowed="true">

Si vous masquez les moyens de paiement du compte Amazon: 

  .pl-amazon-wallet-container { display : none; }

4. Le marchand récupère les informations acheteurs et adresses

Utiliser la fonction : Payline.Api.getBuyerShortcut();
5. Le marchand doit récupérer les informations mises à jour si le consommateur change son adresse de livraison ou de facturation ou son moyen de paiement


Lorsque le consommateur change d’adresse, vous êtes prévenu via la callback widgetStateCallback et l’état PAYMENT_TRANSITIONAL_SHORTCUT. Il suffit alors de faire un nouvel appel à Payline.Api.getBuyerShortcut()

A la validation du mode de livraison (clic sur le bouton Poursuivre) : mettre à jour les informations de livraison, de facturation et le montant de la commande Payline.Api.updateWebpaymentData();


6. Le marchand valide le paiement (clic sur le bouton payer)

Appeler la fonction Payline.Api.finalizeShortcut();

7. Le marchand doit contrôler le résultat du paiement

Utiliser le getWebPaymentDetails pour contrôler le montant, adresses et mode de livraison et les informations du consommateurs.


Les web services en mode Web

Le mode d'intégration est disponible avec l'API WebPayment  : services doWebPayment et getWebPaymentDetails

  • Interfaces de paiement : API WebPayment, Cente d'administration, TPEV, Batch.

  • Paiement à la commande : en utilisant le service  doWebPayment  avec payment.mode à CPT et code Action à 101.

  • Paiement à l'expédition : en utilisant les services doWebPayment  et doCapture avec le code Mode à CPT et code Action à 100.

  • Demande d'annulation d'une autorisation non encaissée : utilisez la fonction doReset permet au marchand de demander l’annulation totale ou partielle de la commande.

  • Demande de remboursement d'une transaction remisée : utilisez la fonction doRefund pour rembourser la commande.
  • Mode de paiement : comptant, différé, récurrent, n fois  avec le code Mode = CPT.
  • Module fraude : règles sur la transaction, l'acheteur et sur le moyen de paiement.
  • 3DSV2 : Suivre l'intégration des pages web : 3DSV2 avec Interface PageWeb.


Rediriger l'acheteur après l'authentification sur Amazon Pay

L'acheteur revient sur la page où se trouvait le widget au départ.

Pour rediriger l'acheteur sur la page de votre choix après son authentification chez Amazon, vous devez alimenter le paramètre ‘data-partnerreturnurl’ en mode Widget, en ajoutant cet attribut dans la balise <div> avec le token session. 


Vous pouvez également récupérer le token qui se trouve dans le hash # qu’a placé amazonPay dans l’url : 


Exemple de la fonction à reprendre..
function _getURLParameterFromHash(name, source) {
    return decodeURIComponent((new RegExp('[?|&|#]' + name + '=' +
        '([^&]+?)(&|#|;|$)').exec(source) || [, ""])[1].replace(/\+/g,
        '%20')) || null;
}

var state = _getURLParameterFromHash('state', location.hash);
if (state != null) {
    var split = state.split('&');
    if (split != null) {
        for (var i = 0; i < split.length; i++) {
            const param = split[i];
            if (param.indexOf('token') !== -1 || param.indexOf('payline-token') !== -1) {
                var splittedParam = param.split("=");
                urlToken = splittedParam[1];
            }
        }
        if (urlToken) {
            element.setAttribute('data-token', urlToken);
        }
    }
}



Récupérer l'adresse de livraison

(warning) Il est indispensable pour le commerçant de récupérer l'adresse de livraison via les fonctions de l'API widget Payline pour assurer l'envoi à la bonne adresse et afin d'obtenir la garantie de paiement Amazon Pay : voir le processus de paiement developer.amazon.com.fr.

Mode Widget 

  • surcharger le bouton Payer en créant un bouton Continuer : InitShortcut() ;
  • récupérer l'adresse via la fonction getBuyerShortcut() ;
  • proposer de sélectionner le mode de livraison en fonction de l'adresse ;
  • mettre à jour l'adresse utilisée avec updateWebpaymentData() et finalizeShortcut() puis proposer le bouton Payer ;
  • afficher le résultat du paiement.

Mode Shortcut

  • sur le bouton Payer prévoir un callback widget Payline ; 
  • le commerçant récupère l'adresse de livraison via les fontion du widget Amazon pour déterminer les modes de livraison disponibles ;
  • sur le bouton Payer géré par le ommerçant, mettre à jour le montant en fonction du mode de livraison ;
  • La callback passée déclenchera le clique sur le bouton caché Continuer
  • exécuter al fonction iniShortcut(data-shortcutfinalizeauto = TRUE ;
  • afficher le résultat du paiement.



En mode Direct

Avec l'API Direct Payment de Payline, vous pouvez intégrer le mode direct  

Les fonctionnalités de paiement disponibles :

Les spécificités AmazonPay  :

  • Le nom et prénom sont regroupés dans la balise buyer.lastname ;
  • Le service doCapture et doRefund répondent un code retour ON_HOLD_PARNER. Une notification sera envoyée vers le marchand dès la mise à jour ;
  • Adresse de livraison :
    • Une adresse de livraison est rattachée à un ou plusieurs moyens de paiement. Un moyen de paiement est rattaché à une adresse de facturation.
    • Pour les cas où le commerçant souhaite garder son adresse de livraison au lieu de l'adresse de livraison du consommation d'Amazon, il suffit de réaliser un appel de la fonction Payline.Api.updateWebPaymentData() avant l'appel à Payline.Api.finalizeShortcut().
      Par exemple si l'adresse de livraison n'est pas l'adresse domicile du consommateur : point relais, adresse du magasin...
  • Référence commande :
    • De la même manière avec la fonction Payline.Api.updateWebPaymentData vous pouvez mettre a jour la référence commande à la fin du parcours si la référence commande n'est pas définie en début de parcours.


Comment réaliser des tests ?

Toutes les types de cartes acceptées dans le wallet AmazonPay seront acceptés pour un paiement, consulter la documentation d'AmazonPay pour tout complément information.

Note : Il est indispensable de réaliser des tests transactionnels sur l'environnement de production avec des comptes Amazon après la validation de la mise en œuvre sur l'environnement de test.


Les codes de retour

Avec l'API WebPayment, Payline vous informe du résultat d'un paiement via le ShortMessage des services getWebPaymentDetails.
Avec l'API DirectPayment, Payline vous informe du résultat de manière synchrone en réponse du service getTransactionDetails.
Lorsque le paiement est accepté, Payline renvoie le ShortMessage = ACCEPTED.
Pour un paiement refusé, le code varie en fonction du motif de refus (Par exemple : 04xxx pour une suspicion de fraude).

Les codes spécifiques au moyen de paiement sont listés ici.


Les codes les plus utilisés sont :

Code PaylineShortMessageLongMessage
00000ACCEPTEDOperation Successfull
02000ONHOLD_PARTNERTransaction in progress, please wait for payment status
02008CANCELLEDTransaction canceled by user => redirection sur abort ou timeout url
02016ONHOLD_PARTNERTransaction hold on partner, please wait for payment method return
02008CANCELLEDTransaction canceled by user
02020REFUSEDTransaction refused by partner
02101ERRORSystem internal error (frontend)
02102ERRORAcquirer server communication error
02324REFUSEDThe session expired before the consumer has finished the transaction
02106ERRORPayment partner error
02012ERRORUnmatched partner return code
02305ERRORInvalid field format
02308ERRORInvalid value for
02310ERRORRequested function not available

Les liens web

Voici les liens utiles  :



1 Comment

  1. Pour utiliser AmazonPay en template hébergé V2, il faut remplacer le script de chargement de token classique :

    var urlToken = location.hash.substr(1);
    if (urlToken) {
        var element = document.getElementById('PaylineWidget');
        element.setAttribute('data-token', urlToken);
    }


    Par un script qui fonctionne dans le cadre d'AmazonPay et dans les autres cas aussi :

    function _getURLParameterFromHash(name, source) {
                    return decodeURIComponent((new RegExp('[?|&|#]' + name + '=' +
                                   '([^&]+?)(&|#|;|$)').exec(source) || [, ""])[1].replace(/\+/g,
                                   '%20')) || null;
    }
    
    // Pour charger le widget avec amazonpay
    var hash = location.hash.substr(1);
    var element = document.getElementById('PaylineWidget');
    let currentUrl = window.location.href;
    element.setAttribute('data-partnerreturnurl', currentUrl.replace('#', '?token='));
    if (hash && hash.indexOf("access_token") === -1) {
                    element.setAttribute('data-token', hash);
    } else {
                    let state = _getURLParameterFromHash('state', hash);
                    var split = state.split('&');
                    if (split != null) {
                                   let urlToken = "";
                                   for (var i = 0; i < split.length; i++) {
                                                   const param = split[i];
                                                   if (param.indexOf('token') !== -1 || param.indexOf('payline-token') !== -1) {
                                                                   var splittedParam = param.split("=");
                                                                   urlToken = splittedParam[1];
                                                   }
                                   }
                                   if (urlToken) {
                                                   element.setAttribute('data-token', urlToken);
                                   }
                    }
    }