Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: linked page
Contenu

Content

Sommaire
maxLevel2
stylenone



Align
alignright

  Image Added




Payline.Api.endToken(null, function() {
window.location.href = Payline.Api.getCancelAndReturnUrls().cancelUrl;
}, null, true);// en valorisant handledByMerchant à true,
// la session de paiement sera associée au code retour 02014
// renvoyé par getWebPaymentDetails.
// Dans le cas contraire c'est le code 02319 qui est renvoyé.
Extrait

Integration

The Widget integration (column / tab or Lightbox mode), takes place in only 3 steps :

  1. Initialization of payment : from your server you use the doWebPayment function of Web Payment API to initiate a payment on Payline payment pages.
  2. From web page, add a script and  <DIV> tag in body of your web page : Payline will use that tag to display the payment form.
  3. Payment Result : from your server you use the getWebPaymentDetails function of  Web Payment API to get payment result.

The minimum HTML page for generating a payment form is as follows

Intégration

L'intégration du widget en mode InShop (colonne/tab) ou mode Lightbox, extrêmement facile, s'effectue en uniquement 3 étapes :

  • Initialisation du paiement : depuis votre SI vous devez utiliser la fonction doWebPayment de l'API Web Payment pour initialiser un paiement sur les pages de paiement Payline.
  • Depuis la page web, ajouter un script et d'une balise <DIV> dans le corps de votre page web : Payline va se servir de cette balise pour afficher le formulaire de paiement.
  • Résultat du paiement : depuis votre SI vous devez utiliser la fonction getWebPaymentDetails de l'API Web Payment pour obtenir le résultat du paiement.

    La page HTML minimale pour générer un formulaire de paiement est la suivante :

    Bloc de code
    languagexml
    themeConfluence
    titleCode XMLHTML
    <html>
     <head>
       <script src="https://homologation-payment.cdn.payline.com/cdn/scripts/widget-min.js"></script>
     </head>
     <body>
     <div id="PaylineWidget" 
        data-token="the token obtained in doWebPayment Response" 
        data-template="column"
        data-embeddedredirectionallowed="false" 
     />
     </body>
    </html>
    



    Développer
    title Bookstore links..

    The HTML file of the payment page must contain, at a minimum, in the HEAD the links to the static resources of the widget corresponding to the desired environment (approval, production):




    And possibly a link to your own CSS, in a relative fashion.


    Développer
    titleExample in a test environment (certification) ...


    Head of file

    <html>
        <head>
            <title>Mon template</title>
            <link rel="stylesheet" type="text/css" href="tuto.css" />
            <script src="https://homologation-payment.cdn.payline.com/cdn/scripts/widget-min.js" charset="utf-8"></script>
            <link rel="stylesheet" href="https://homologation-payment.cdn.payline.com/cdn/styles/widget-min.css" charset="utf-8">
        </head>
    </html>





    The data-token is the session token for authentication and is obtained in response to the request to initialize a payment (doWebPayment). In order to avoid that a new initialization is performed during each refresh of the page, you must either use a session on your server to store it, or check if the current URL already contains a payment token in a GET parameter named paylinetoken. Here is an example to reuse the token present in the Le data-token est le jeton de session permettant l'authentification et il est obtenu dans la réponse à la demande d'initialisation d'un paiement (doWebPayment). Afin d'éviter qu'une nouvelle initialisation soit réalisée lors de chaque actualisation de la page, vous devez soit utiliser une session sur votre serveur pour le stocker, ou alors vérifier si l’URL courante contient déjà un jeton de paiement dans un paramètre GET nommé paylinetoken. Voici un exemple pour réutiliser le jeton présent dans l' URL:

    Bloc de code
    languagephp
    themeConfluence
    titleCode PHP
    <?php $paylineToken = ( is_empty($_GET['paylinetoken']) ) ? createNewWebPayment() : $_GET['paylinetoken']; ?>


    Des attributs additionnels que vous pouvez utiliser dans la balise <div> permettent de personnaliser l'affichage du formulaire. Par exemple; si vous ne souhaitez pas que le formulaire de paiement s'affiche automatiquement lors de l'affichage de votre page Additional attributes that you can use in the <div> tag allow you to customize the display of the form. For example; if you do not want the payment form to appear automatically when your page is displayed :

    ParamètreDescriptionvaleur
    data-template
    Le nom du template à utiliser pour l'initialisation du formulaire
    The name of the template to use for initializing the form.
    • tab
    • column
    • lightbox
    • shortcut
    data-auto-init
    Définit si le
    formulaire doit s’initialiser dès que la page web a fini de se charger Defines whether the form should initialize as soon as the web page has finished loading (auto-init à « to "true »), ou s’il doit attendre un demande d’initialisation "), or if it must wait for an initialization request (auto-init à « to "false »")
    • true
    • false
    data-embeddedredirectionallowed

    Permet de présenter la page d’authentification 3DSecure en mode iframe (intégré dans la page de paiement) valeur true ou en mode redirection (redirection plein écran dans une nouvelle page) valeur false.

    Vérifier avec le support que la banque est bien dans la liste blanche pour l'autorisation en lightbox.

    • true
    • false

    Function deactivated


    data-partnerreturnurl

    The parameter allows you to specify a return url for a defined list of partners, for now: AmazonPay

    When the buyer clicks on the AmazonPay button, he is redirected to the partner to authenticate. Once authenticated, it is redirected to the specified URL

    data-partnerreturnurl

    Le paramètre permet de spécifier une url de retour pour une liste définie de partenaires, pour l'instant : AmazonPay

    Lorsque l'acheteur clique sur le bouton AmazonPay il est redirigé chez le partenaire pour s'authentifier. Une fois authentifié, il est redirigé sur URL indiqué

    .

    <div id="PaylineWidget"
    data-template="shortcut"
    data-partnerreturnurl="https://maboutique.com/checkout">

    Suivant les paramètres, voici les exemples d'intégration :


    Examples of integration of Widget modes

    According to the parameters, here are the examples of integration :

    InShop Tab mode InShop Column mode LightBox mode Shortcut mode mode InShop Tabmode InShop Columnmode LightBoxmode shortcut


    Info

    Payline force l’affichage en mode « column » des pages de paiement lorsque vous utilisez le mode « tab » et que la taille de l’appareil utilisé par le consommateur est trop petite pour s’afficher correctement. Cette amélioration simplifie votre intégration technique lorsque vous avez une boutique « responsive desktop / mobile ».

    Feuille de style

    Pour obtenir la mise en forme du formulaire de paiement, vous devez intégrer la feuille de style CSS Payline en ajoutant la ligne suivante dans la balise <head> :

    Bloc de code
    languagexml
    themeEclipse
    titleCode XML
    <link href="https://homologation-payment.payline.com/styles/widget-min.css" rel="stylesheet" />
    Info

    Les URLs du script et de la CSS sont différents entre les environnements de test et de production. Nous vous conseillons de les configurer dans des variables d'environnements.

    API JavaScript

    Afin d’interagir avec le formulaire de paiement, Payline propose une API en JavaScript pour que vous gardiez la main sur le formulaire. Les fonctions disponibles de votre SI sont :

    FonctionDescriptionExemple
    endToken()

    Met fin à la vie du jeton de session web (token obtenu via DoWebPayment).

    Les paramètres  :
    (  additionnalData : any,
      callback : Function,
      spinner : any,
      handledByMerchant : boolean )

    Développer
    titleExemple..
    finalizeShortCut()Déclenche la finalisation du paiement ShortCut (à appeler en context.state PAYMENT_TRANSITIONAL_SHORTCUT)getBuyerShortCut()

    Renvoi un objet complexe contenant les données de l'acheteur provenant du partenaire shortcut.

    Cette fonction est disponible dans un contexte de state = PAYMENT_TRANSITIONAL_SHORTCUT.

    Développer
    titleExemple..
    {  "firstName": "DUPONT",
      "lastName": "Jean",
       "email": "jean.dupont@yopmail.com",
       "cityName": "Aix",
       "country": "FR",
       "street1": "5 rue de Marseille",
       "street2": "Batiment 2",
      "zipCode": "13390"
    }
    getCancelAndReturnUrls()Renvoie un objet complexe contenant la returnUrl et la cancelUrl provenant du DoWebPaymentOn peut par exemple créer un bouton annuler
    qui déclenche les actions suivantes :
    Développer
    titleExemple..
    function cancel() {
      Payline.Api.endToken();
    // met fin à la vie du token
    window.location.href =
    Payline.Api.getCancelAndReturnUrls().cancelUrl;
    // redirige l'utilisateur sur la cancelUrlgetContextInfo(key)Renvoi une information du contexte grâce à sa clé parmi les valeurs suivantes :
    Développer
    titleExemple..
    {  "PaylineAmountSmallestUnit": 100,
      "PaylineCurrencyDigits": 2,
       "PaylineCurrencyCode": "EUR",
       "PaylineBuyerFirstName": "Jean",
       "PaylineBuyerLastName": "DUPONT",
       "PaylineBuyerShippingAddress.street2": "Batiment 2",
       "PaylineBuyerShippingAddress.country": "FR",
       "PaylineBuyerShippingAddress.name": "Perso",
       "PaylineBuyerShippingAddress.street1": "5 rue de Marseille",
       "PaylineBuyerShippingAddress.cityName": "Aix",
       "PaylineBuyerShippingAddress.zipCode": "13390"
       "PaylineBuyerMobilePhone": "0605040302",
    "PaylineBuyerShippingAddress.phone": "0605040302",
       "PaylineBuyerIp": "127.126.125.100",
       "PaylineFormattedAmount": "EUR1.00",
       "PaylineOrderDate": "05/26/2008 10:00",
       "PaylineOrderRef": "170630111901",
       "PaylineOrderDeliveryMode": "4",
       "PaylineOrderDeliveryTime": "1",
       "PaylineOrderDetails": [
         { "ref": "1",
           "price": 998,
           "quantity": 1,
           "comment": "commentaire1",
           "category": "1",
           "brand": "66999",
           "subcategory1": "",
           "subcategory2": "",
           "additionalData": ""
         }
       ],
     }

    getCssIframeWhiteList()

    Renvoie la liste des primitives CSS acceptées pour styliser les champs protégés (Carte bancaire, CVV, …)

    getCssIframeWhiteList(): any

    getFragmentedPaymentInfo()

    Dans un contexte de paiement fragmenté (Carte Cadeau Carrefour, prochainement ANCV, …), permet de récupérer les différents paiements enregistrés jusqu’à maintenant.

    Développer
    titleExemple..

    {

                    "amount": "100,00 EUR", // Montant global de la commande
                    "amountLeft": "50,00 EUR", // Montant restant à payer
                    "recaps": [

                                   503200XXXXXXXXX1166: "50,00 EUR"

                    ]

    }

    getLanguage()Renvoi la clé du language du widget (passé dans la trame DoWebPayment)"en", "fr", …getOrderInfos()

    Permet de récupérer un objet complexe contenant:

    • le montant avec la devise le tout formaté
    • la référence commande
    • le nom du point de vente
    • un objet complexe représentant l'adresse avec :
      • adresse 1
      • adresse 2
      • ville
      • code postal
    Développer
    titleExemple..
    Payline.Api.getOrderInfos()
    on obtient :
    Object {
       amountCurrency: "15.00 EUR"
       orderRef: "order-123456789"
       pointOfSale: "POS_Demo"
       pointOfSaleAddress:
    Object {
           addess1: "260 rue Claude Nicolas Ledoux"
           addess2: "ZI Les Milles"
           city: "Aix en Provence"
           zipCode: "13290" }}
    getRecurringDetails()

    Permet de récupérer l'échéancier du paiement. 

    Voir le détail d'intégration : paiement N fois et paiement récurrent.

    Pour afficher l'échéancier N fois :

    Développer
    titleExemple..
    Bloc de code
    languagexml
    themeConfluence
    Payline.Underscore.forEach( Payline.Api.getRecurringDetails().schedules, function(key, value) { console.log(value + " " + key) } );
    Pour récupérer les détails du paiement récurrent : Développer
    titleExemple..
    Bloc de code
    languagexml
    themeConfluence
    Payline.Api.getRecurringDetails().schedules;

    getToken()

    Retourne le token courant avec lequel le Widget a été initialisé :

    getToken()
    hide()Demande de masquage du formulaire de paiement.
    Payline.Api.hide(): void

    init()

    Demande d'initialisation du formulaire de paiement. Lors de l'initialisation, le widget Payline construit le formulaire en fonction du contexte de la demande de paiement: montant, moyen de paiement proposé, etc.

    isSandBox()Permet de connaitre l’environnement : production ou homologation. La fonction retourne true ou false.
    Payline.Api.isSandbox(); 
    reset()Réinitialise totalement le widget avec le token et le template passé en paramètre Développer
    titleExemple..
    Bloc de code
    languagexml
    themeConfluence
    Payline.Api.reset(token: string = null, template: string = null): void
    show()Demande d'affichage du formulaire de paiement.
    Payline.Api.show(): void
    toggle()Si le widget est affiché, cette méthode le cache, sinon elle l'afficheupdateWebpaymentData()Mise à jour des informations de la session de paiement (adresses, montant,...) après l'initialisation du widget et avant la finalisation du paiement. Développer
    titleExemple..
    Payline.Api.updateWebpaymentData(Payline.Api.getToken(), JSON, callBack);
    Contenu du JSON : 
    {
    "payment": {
        "amount": "252",
        "currency": "978" },
    "order":
      {
        "amount": "255",
        "currency": "978",
        "ref": "123",
        "deliveryTime ": "1",
        "deliveryMode ": "1",
        "deliveryExpectedDate": "30/09/2016",
        "deliveryExpectedDelay": "1",
        "details": {
            "details":
         [  { "ref": "00001 (ref1)",
              "price": "50",
             "quantity": "1",
             "comment": "comment1 (rem1)",
             "category": "1",
             "brand": "My HERMES (brd1)",
             "subcategory1": "BOSS",
             "subcategory2": "MONTRE",
             "additionalData": "LegalAge=18;Discount=0105",
             "taxRate ": "1234"
            },
            { "ref": "00002 (ref2)",
              "price": "50",
              "quantity": "1",
              "comment": "comment2 (rem2)",
              "category": "1",
              "brand": "My HERMES (brd2)",
              "subcategory1": "HERMES",
              "subcategory2": "FOULARD",
              "additionalData": "LegalAge=18;Discount=0105",
              "taxRate ": "1234"
             },
             { "ref": "00003 (ref3)",
             "price": "50",
             "quantity": "1",
             "comment": "comment3 (rem3)",
             "category": "1",
             "brand": "My HERMES (brd3)",
             "subcategory1": "HERMES",
             "subcategory2": "MONTRE",
             "additionalData": "LegalAge=19;Discount=0105",
             "taxRate ": "1234"
              }
          ]
        }
      },
    "buyer": {
    "shippingAddress": {
    "title": "2",
    "name": "BUYER (shipping)",
    "lastName": "PAYLINE (shipping)",
    "firstName": "Validation Team (shipping)",
    "street1": "Colombus Circle (shipping)",
    "street2": "Central Park (shipping)",
    "cityName": "New York (shipping)",
    "zipCode": "NY 10023",
    "country" : "FR",
    "phone" : "0123458789",
    "state": "NYC (state)",
    "county": "Upper East Side (shipping)",
    "phoneType": "1"
    },
    "billingAddress": {
    "title": "3",
    "name": "BUYER (billing)",
    "lastName": "TUPU (billing)",
    "firstName": "Christian (billing)",
    "street1": "15 rue LEDOUX (billing)",
    "street2": "Z.I. les Milles (billing)",
    "cityName": "Aix-en-Provence (billing)",
    "zipCode": "13902",
    "country" : "FR",
    "phone" : "0223458789",
    "state": "FRANCE (state)",
    "county": "Bouches-du-Rhone",
    "phoneType": "4"
    }
    }
    }

    Exemple pour masquer, puis afficher le formulaire de paiement :

    • Payline.Api.hide(): void
    • Payline.Api.show(): void

    Exemple pour modifier le libellé sur bouton Payer :

    • Vous pouvez le changer via l’instruction JavaScript Payline.jQuery('.pl-pay-btn').text('libellé du bouton');

    Exemple pour modifier le libellé sur bouton Payer :

    • Vous devez récupérer le montant dans la langue de l’acheteur via un appel à la fonction Payline.Api.getContextInfo('PaylineFormattedAmount');
    • Vous pouvez modifier le texte du bouton avec la fonction : Payline.jQuery("<classe de l’élément à modifier>").text('<texte de remplacement>'));

    (avertissement)  Attention, toujours utiliser les classes pour ces instructions, jamais l’id de l’élément qui est généré à la volée

    • Pour afficher le montant dans le bouton. L’instruction est donc Payline.jQuery(".PaylineWidget .pl-pay-btn, .PaylineWidget .pl-btn").text('Payer '+Payline.Api.getContextInfo('PaylineFormattedAmount'));
    • Cette instruction doit être appelée lorsque le widget déclenche l’évènement « didshowstate » avec l’état PAYMENT_METHODS_LIST.

    Personnalisation CSS

    Personnaliser le style du formulaire de paiement est possible en surchargeant la feuille de style fournit par défaut par Payline. Les possibilités de personnalisation sont infinies, voici quelques exemples simples:

    DescriptionParamètrela couleur du bandeau Enseigne
    #PaylineWidget .pl-header-title-wrapper { background-color: #ABCDEF; }
    la couleur du texte de l'Enseigne
    #PaylineWidget .pl-header-title-content h4 { color: #ABCDEF; }
    la couleur du texte du montant à payer
    #PaylineWidget .pl-header-title-content p { color: #ABCDEF; }
    La couleur du bouton de paiement
    #PaylineWidget .pl-pay-btn { background-color: #ABCDEF; }
    #PaylineWidget .pl-pay-btn:hover { background-color: #ABCDEF; }
    La couleur de fond du formulaire
    #PaylineWidget .pl-body { background-color: #ABCDEF; }
    La couleur de la zone moyen de paiement
    #PaylineWidget .pl-pmContainer {
      background-color: #ABCDEF;
      border-color: #ABCDEF; }
    la couleur du bouton fermer la lightbox
    #PaylineWidget .pl-icon-close { color: #ABCDEF; }

    La taille de la fenêtre est optimisée dans la configuration suivante :

    • width minimum de la div PaylineWidget : 500px
    • width maximum conseillée de la div PaylineWidget : 900px

    Au dessous et au dessus des dimensions indiquées, il est préconisé d'ajuster les marges et champs.

    Pour cacher les labels, il faut supprimer les labels et supprimer la marge à gauche des champs.

    .PaylineWidget.pl-container-default .pl-pmContainer .pl-label-input 
    { display: none;} .PaylineWidget.pl-container-default .pl-pmContainer .pl-input-group-container
     { margin-left: 0; }
    Payline propose de réduire les marges afin d'ajuster la fenêtre au dessus de 900px de large, pour cela il suffit de diminuer la largeur du label (xx%), et de diminuer la marge à gauche des champs (yy% par défaut 30%).
    .PaylineWidget.pl-container-default .pl-pmContainer .pl-label-input
    { width: xx%; } .PaylineWidget.pl-container-default .pl-pmContainer .pl-input-group-container,
    .PaylineWidget.pl-container-default .pl-form-container label.pl-remember-container
    { margin-lef: yy%; }

    Pour obtenir plus d'information sur la liste des balises, veuillez trouver les informations ici.

    Callback du cycle de vie

    Inclusion d'extraitPW - Personnalisation du widget : Fonction CallBackPW - Personnalisation du widget : Fonction CallBacknopaneltrue

    Fonctions Gestion des frais

    La gestion des frais est présent sur le formulaire de paiement et correspond à l'encart Transaction :

    Centre administration : Moyen de paiement à configurerCentre administration : Détail d'une transactionPage de paiement

    Image Removed

    Image Removed

    Image Removed

    La gestion des frais exclut dans les cas suivants :

  • Paiement Wallet
  • Paiement ShortCut
  • Paiement Rec/NX

    forces column  page display  of payment pages when you use tab mode and the size of the device used by the consumer is too small to display properly. This enhancement simplifies your technical integration when you have a "responsive desktop / mobile" store.


    When a form is requested with several means of payment, some of which are conditioned by the return of a partner API, then: 

    • If the partner answers  before the display of the form then the means of payment are displayed according to the partners' response;
    • If the partner responds  after displaying the form then the inserts of the  conditioned means of payment are displayed only with a Spinner while waiting for the partner's response.  

    The order in which the payment methods are displayed is carried out with the order specified in the contractList tag of the doWebPayment.


    JavaScript API

    In order to interact with the payment form, Payline offers a JavaScript API so that you keep control of the form. Consult the JavaScript API.

    CSS customization

    Customizing the style of the payment form is possible by overriding the stylesheet provided by default by Payline. Consult the CSS customaton.

    Lifecycle callback

    Consult the CallBack functions.


    Expense management functions

    The cost management is present on the payment form and corresponds to the Transaction insert:

    Administration center: Payment method to configure

    Administration center: Details of a transaction

    Payment page

    Image Added

    Image Added

    Image Added

    The cost management excludes in the following cases:

    • Wallet payment
    • ShortCut payment
    • Rec / NX payment



    Features Fee Management

    The expense management is present on the payment form and corresponds to the Transaction insert:

    Back office : Configure the payment methodBack office : transaction detailsPayment page

    Image Added

    Image Added

    Image Added

    Fee management excludes in the following cases:

    • Wallet Payment
    • ShortCut Payment
    • Payment Rec / NX



    Linked pages

    Contenu par étiquette
    showLabelsfalse
    max10
    spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@9a3
    showSpacefalse
    sorttitle
    typepage
    cqllabel = "widget" and label = "integration" and label = "en" and type = "page" and space = "DT"
    labelsbancontact belgique choixdelamarque