Pour toute question, nous sommes à un clic

Poser une question

Payment Widget

Introduction

Le script Payment Widget (Widget de paiement) - c'est un script low code qui permet de placer les boutons Apple Pay et Google Pay sur la page de la boutique du vendeur - sur les pages de produits et/ou dans le panier de l'acheteur. Cela permet ainsi au client de passer commande en un clic sur les appareils pris en charge sans quitter votre domaine.

Problème que nous proposons de résoudre

Les longs processus de commande en plusieurs étapes et les formulaires de saisie de données de carte à faible conversion affectent négativement les revenus. La réduction des étapes et le maintien des acheteurs sur la page augmentent le taux de finalisation et la confiance.

À propos de notre solution

Intégrez le widget de paiement là où l'intention d'achat est la plus élevée (par exemple, sur la page produit) pour contourner le panier et finaliser le paiement avec un portefeuille intégré sécurisé. Aucune redirection externe. La configuration typique prend moins d'une journée.

Avantages principaux

Connexion du script

Ajout du fichier

Sur la page du vendeur à l'intérieur de la balise <head> il faut ajouter le lien vers le fichier pay-buttons.js.

Le script pay-buttons.js doit se trouver dans le dossier pay-buttons, au même niveau que le dossier merchants (avec les pages de paiement).

La déclaration du script doit obligatoirement avoir spécifié id="pay-buttons".

<head>
  ...
  <script
    src="https://dev.bpcbt.com/payment/pay-buttons/pay-buttons.js"
    id="pay-buttons">
  </script>
  ...
</head>

Initialisation

<script>
  document.addEventListener("DOMContentLoaded", function () {
    var widget = payButtonsWidget("containerId"); // où `containerId` — id de l'élément DOM où seront ajoutés les boutons
 
    widget.init({
      gatewayInfo: { // Informations pour la passerelle
        token: "i29v9o5hkmuv2590l7661p9vcu", // Token du vendeur dans MP2
        amount: 852300, // Montant de la commande en centimes (ou en unités mineures)
        returnUrl: "http\:\/\/yourwebsite.com\/success.html", // Adresse cible après paiement
        merchantLogin: "buttonApple",
      },
 
      applePay: { // Informations pour la session ApplePay
        merchantId: "yourwebsite.com", // identifiant du marchand chez Apple
      },
 
      googlePay: {
        environment: "TEST",
      },
    });
  });
</script>

Paramètres d'initialisation

Ci-dessous la liste complète des paramètres pour l'initialisation du script.

ObligatoireParamètreTypeDescription
FacultatifcartItemsArray of objectsTableau d'objets pour décrire les produits dans le panier. Voir la description des éléments imbriqués ci-dessous.
FacultatifappleButtonClassStringNom de classe qui sera attribué au bouton applePay pour pouvoir le styliser séparément ou s'y référer. Valeur par défaut : pay-button_applepay.
ObligatoireapplePayObjectObjet contenant les informations sur la session Apple. Voir la description des éléments imbriqués ci-dessous.
FacultatifdebugBooleanSi true - active le mode débogage, dans ce cas toutes les informations de service seront affichées sous le bouton. Par défaut false.
ObligatoiregatewayInfoObjectObjet contenant les informations pour la commande dans la Passerelle de paiement. Voir la description des éléments imbriqués ci-dessous.
ObligatoiregooglePayObjectObjet contenant les informations sur la session Google Pay. Voir la description des éléments imbriqués ci-dessous.

Paramètres du bloc cartItems

ObligationNomTypeDescription
ObligatoirenameString [1..255]Désignation ou description de la position tarifaire sous forme libre.
FacultatifitemDetailsObjectObjet avec les paramètres de description de la position de marchandise. La description des éléments imbriqués est donnée ci-dessous.
ObligatoirequantityObjectÉlément décrivant la quantité totale des positions de marchandises d'un même positionId et ses unités de mesure. La description des éléments imbriqués est donnée ci-dessous.
FacultatifitemAmountInteger [1..12]Montant du coût de toutes les positions de marchandises d'un positionId dans les unités minimales de la devise. itemAmount est obligatoire à transmettre, seulement si le paramètre itemPrice n'a pas été transmis. Dans le cas contraire, la transmission d'itemAmount n'est pas requise. Si dans la requête les deux paramètres sont transmis : itemPrice et itemAmount, alors itemAmount doit être égal à itemPrice * quantity, dans le cas contraire la requête se terminera avec une erreur.
FacultatifitemPriceInteger [1..18]Montant du coût de la position de marchandise d'un positionId en argent dans les unités minimales de devise.
FacultatifitemCurrencyInteger [3]Code de devise ISO 4217. Si non spécifié, considéré comme égal à la devise de la commande.
ObligatoireitemCodeString [1..100]Numéro (identifiant) de la position de marchandise dans le système du magasin.

Exemple du bloc cartItems:

[
  {
    name: 'Pen',
    quantity: {
        value: 1,
        measure: "pcs"
    },
    itemAmount: (totalAmount * 100) / 2,
    itemCurrency: "643",
    itemCode: 'no_1'
  },
  {
    name: 'Cheese',
    quantity: {
        value: 1.4,
        measure: "kg"
    },
    itemAmount: (totalAmount * 100) / 2,
    itemCurrency: "643",
    itemCode: 'no_2'
  }
]

Paramètres de l'objet gatewayInfo

ObligationParamètreTypeDescription
ObligatoiretokenStringToken du vendeur, qui peut être obtenu dans la console administrateur. Nécessaire pour l'identification du vendeur.
FacultatifregisterPreAuthBooleanEnregistrement du paiement à deux étapes. Par défaut false.
ConditionorderNumberString [1..36]Numéro de commande dans le système de la boutique. Facultatif, si le paramètre "Générer le numéro de commande" est activé.
FacultatifamountInteger [0..12]Montant du paiement dans les unités minimales de la devise (par exemple, en kopecks).
FacultatifcurrencyString [3]Code de devise du paiement ISO 4217. Si non spécifié, alors la valeur par défaut est utilisée. Seuls les chiffres sont autorisés.
ObligatoirereturnUrlString [1..512]Adresse vers laquelle l'utilisateur doit être redirigé en cas de paiement réussi. L'adresse doit être spécifiée complètement, y compris le protocole utilisé (par exemple, https://mybestmerchantreturnurl.com au lieu de mybestmerchantreturnurl.com). Sinon, l'utilisateur sera redirigé vers une adresse du type suivant : https://dev.bpcbt.com/payment/<merchant_address>.
FacultatiffailUrlString [1..512]Adresse vers laquelle il faut rediriger l'utilisateur en cas de paiement échoué. L'adresse doit être spécifiée entièrement, y compris le protocole utilisé (par exemple, https://mybestmerchantreturnurl.com au lieu de mybestmerchantreturnurl.com). Sinon, l'utilisateur sera redirigé vers une adresse du type suivant : https://dev.bpcbt.com/payment/<merchant_address>.
FacultatifdescriptionString [1..598]Description de la commande dans n'importe quel format.
Pour activer l'envoi de ce champ vers le système de traitement, contactez le support technique.
Il est interdit de transmettre des données personnelles ou des données de paiement (numéros de cartes, etc.) dans ce champ. Cette exigence est liée au fait que la description de la commande n'est masquée nulle part.
FacultatifclientIdString [0..255]Numéro du client (ID) dans le système du marchand — jusqu'à 255 caractères. Utilisé pour la mise en œuvre de la fonctionnalité de liaisons. Peut être retourné dans la réponse, si le marchand est autorisé à créer des liaisons.
L'indication de ce paramètre lors du traitement des paiements par liaison est obligatoire. Dans le cas contraire, le paiement sera impossible.
FacultatifsessionTimeoutSecsInteger [1..9]Durée de vie de la commande en secondes. Si le paramètre n'est pas défini, la valeur spécifiée dans les paramètres du marchand sera utilisée, ou le temps par défaut (1200 secondes = 20 minutes). Si le paramètre expirationDate est présent dans la requête, alors la valeur du paramètre sessionTimeoutSecs n'est pas prise en compte.
FacultatifjsonParamsObjectEnsemble d'attributs supplémentaires de forme arbitraire, structure:
jsonParams={"param_1_name":"param_1_value",...,"param_n_name":"param_n_value"}
Peuvent être transmis au Centre de Traitement, pour un traitement ultérieur (configuration supplémentaire requise - contactez le support).
Certains attributs prédéfinis de jsonParams:
  • backToShopUrl - ajoute un bouton à la page de paiement qui ramènera le porteur de carte à l'URL transmise dans ce paramètre
  • backToShopName - configure l'étiquette textuelle du bouton Retour à la boutique par défaut, si elle est utilisée avec backToShopUrl
  • installments - nombre maximum d'autorisations autorisées pour les paiements échelonnés. Requis pour créer des données de paiement sauvegardées d'échelonnement
  • totalInstallmentAmount - montant total de tous les paiements échelonnés. La valeur est nécessaire pour sauvegarder les données de paiement pour effectuer l'échelonnement
  • recurringFrequency - nombre minimum de jours entre les autorisations. Requis pour créer des données de paiement sauvegardées récurrentes, recommandé pour créer des données de paiement sauvegardées d'échelonnement (si 3DS2 est utilisé, le paramètre est obligatoire).
  • recurringExpiry - date après laquelle les autorisations ne sont pas autorisées, au format AAAAMMJJ. Requis pour créer des données de paiement sauvegardées récurrentes, recommandé pour créer des données de paiement sauvegardées d'échelonnement (si 3DS2 est utilisé, le paramètre est obligatoire).
  • paymentWay - méthode de paiement. Pour forcer l'exécution d'un paiement MOTO, il faut transmettre la valeur CARD_MOTO.
FacultatiforderBundleObjectObjet contenant le panier de produits. La description des éléments imbriqués est donnée ci-dessous.
FacultatifmerchantLoginString [1..255]Pour enregistrer une commande au nom d'un autre marchand, spécifiez son login (pour le compte API) dans ce paramètre.
Ne peut être utilisé que si vous avez l'autorisation de consulter les transactions d'autres vendeurs ou si le vendeur spécifié est votre vendeur filial.
FacultatifmerchantNameStringmerchantFullName dans la passerelle de paiement. Nécessaire pour afficher le nom du vendeur dans la fenêtre payment request api.
FacultatifdynamicCallbackUrlString [1..512]Paramètre pour transmettre l'adresse dynamique pour recevoir les notifications callback "de paiement" pour la commande, activées pour le marchand (autorisation réussie, débit réussi, remboursement, annulation, rejet du paiement par timeout, rejet du paiement card present).
Les notifications callback "non liées au paiement" (activation/désactivation de liaison, création de liaison), seront envoyées à l'adresse callback statique.
FacultatifipString [1..39]Adresse IP du payeur. IPv6 est supporté dans toutes les requêtes (jusqu'à 39 caractères).
FacultatifexpirationDateString [19]Date et heure d'expiration de la commande. Format : yyyy-MM-ddTHH:mm:ss.
Si ce paramètre n'est pas transmis dans la requête, alors le paramètre sessionTimeoutSecs est utilisé pour déterminer le temps d'expiration de la commande.
FacultatifpostAddressString [1..255]Adresse de livraison.
FacultatiffeeInputInteger [0..8]Taille de la commission en unités minimales de la devise. La fonctionnalité doit être activée au niveau du vendeur dans la passerelle.
ConditionemailString [1..40]Adresse e-mail à afficher sur la page de paiement. Si les notifications client sont configurées pour le vendeur, l'adresse e-mail doit être spécifiée. Exemple : client_mail@email.com.
L'adresse e-mail n'est pas vérifiée lors de l'enregistrement, elle sera vérifiée ultérieurement lors du paiement.
FacultatifbillingPayerDataObjectBloc avec les données d'enregistrement du client (adresse, code postal), nécessaire pour passer la vérification d'adresse dans le cadre des services AVS/AVV. Obligatoire, si la fonction est activée pour le vendeur du côté de la Passerelle de paiement. Voir paramètres imbriqués.
FacultatifshippingPayerDataObjectObjet contenant les données de livraison au client. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
FacultatifpreOrderPayerDataObjectObjet contenant les données de précommande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
FacultatiforderPayerDataObjectObjet contenant les données sur le payeur de la commande. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client. Voir paramètres imbriqués.
FacultatifbillingAndShippingAddressMatchIndicatorString [1]Indicateur de correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison. Ce paramètre est utilisé pour l'authentification 3DS ultérieure du client.
Valeurs possibles :
  • Y - correspondance entre l'adresse de facturation du porteur de carte et l'adresse de livraison ;
  • N - l'adresse de facturation du porteur de carte et l'adresse de livraison ne correspondent pas.

Ci-dessous sont présentés les paramètres du bloc billingPayerData (données sur l'adresse d'enregistrement du client).

Caractère obligatoireNomTypeDescription
FacultatifbillingCityString [0..50]Ville enregistrée pour une carte spécifique auprès de la Banque Émettrice.
FacultatifbillingCountryString [0..50]Pays enregistré pour une carte spécifique de la banque émettrice. Format : ISO 3166-1 (Alpha 2 / Alpha 3 / Number-3) ou nom du pays. Nous recommandons de transmettre le code ISO à deux/trois lettres du pays.
FacultatifbillingAddressLine1String [0..50]Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice (adresse du payeur). Ligne 1. Obligatoire pour la vérification AVS.
FacultatifbillingAddressLine2String [0..50]Adresse enregistrée pour la carte spécifique auprès de la Banque Émettrice. Ligne 2.
FacultatifbillingAddressLine3String [0..50]Adresse enregistrée pour une carte spécifique auprès de la Banque Émettrice. Ligne 3.
FacultatifbillingPostalCodeString [0..9]Code postal enregistré pour la carte spécifique auprès de la Banque Émettrice. Obligatoire à transmettre pour la vérification AVS.
FacultatifbillingStateString [0..50]État enregistré pour la carte spécifique auprès de la Banque Émettrice. Format : valeur complète du code ISO 3166-2, sa partie ou nom de l'état/région. Peut contenir uniquement des lettres de l'alphabet latin. Nous recommandons de transmettre le code ISO à deux lettres de l'état/région.
ObligatoirepayerAccountString [1..32]Numéro de compte de l'expéditeur.
FacultatifpayerLastNameString [1..64]Nom de famille de l'expéditeur.
FacultatifpayerFirstNameString [1..35]Nom de l'expéditeur.
FacultatifpayerMiddleNameString [1..35]Nom patronymique de l'expéditeur.
FacultatifpayerCombinedNameString [1..99]Nom complet de l'expéditeur.
FacultatifpayerIdTypeString [1..8]Type du document d'identification fourni de l'expéditeur.
Valeurs possibles :
  • IDTP1 - Passeport
  • IDTP2 - Permis de conduire
  • IDTP3 - Carte sociale
  • IDTP4 - Carte d'identité de citoyen
  • IDTP5 - Certificat de conduite d'affaires
  • IDTP6 - Certificat de réfugié
  • IDTP7 - Permis de séjour
  • IDTP8 - Passeport étranger
  • IDTP9 - Passeport officiel
  • IDTP10 - Passeport temporaire
  • IDTP11 - Passeport de marin
FacultatifpayerIdNumberString [1..100]Numéro du document d'identité fourni (par exemple, passeport) de l'expéditeur.
FacultatifpayerBirthdayString [1..20]Date de naissance de l'expéditeur au format YYYYMMDD.

Description des paramètres de l'objet shippingPayerData :

Caractère obligatoireNomTypeDescription
FacultatifshippingCityString [1..50]Ville du client (à partir de l'adresse de livraison)
FacultatifshippingCountryString [1..50]Pays du client
FacultatifshippingAddressLine1String [1..50]Adresse principale du client (à partir de l'adresse de livraison)
FacultatifshippingAddressLine2String [1..50]Adresse principale du client (à partir de l'adresse de livraison)
FacultatifshippingAddressLine3String [1..50]Adresse principale du client (à partir de l'adresse de livraison)
FacultatifshippingPostalCodeString [1..16]Code postal du client pour la livraison
FacultatifshippingStateString [1..50]État/région de l'acheteur (à partir de l'adresse de livraison)
FacultatifshippingMethodIndicatorInteger [2]Indicateur du mode de livraison.
Valeurs possibles :
  • 01 - livraison à l'adresse de paiement du porteur de carte.
  • 02 - livraison à une autre adresse, vérifiée par le Marchand.
  • 03 - livraison à une adresse différente de l'adresse principale du porteur de carte.
  • 04 - envoi en magasin/retrait en magasin (l'adresse du magasin doit être indiquée dans les paramètres de livraison correspondants)
  • 05 - Distribution numérique (inclut les services en ligne et les cartes-cadeaux électroniques)
  • 06 - billets de voyage et d'événements qui ne peuvent pas être livrés.
  • 07 - Autre (par exemple, jeux, biens numériques non livrables, abonnements numériques, etc.)
FacultatifdeliveryTimeframeInteger [2]Délai de livraison de la marchandise.
Valeurs possibles :
  • 01 - distribution numérique
  • 02 - livraison le jour même
  • 03 - livraison le jour suivant
  • 04 - livraison dans les 2 jours après le paiement et plus tard.
FacultatifdeliveryEmail String [1..254]Adresse e-mail cible pour la livraison de la distribution numérique. Il est préférable de transmettre l'e-mail dans le paramètre de requête indépendant email (mais si vous le transmettez dans ce bloc, les mêmes règles s'appliqueront).

Description des paramètres de l'objet preOrderPayerData :

ObligatoireNomTypeDescription
FacultatifpreOrderDateString [10]Date de livraison attendue (pour les achats en précommande) au format AAAAMMJJ.
FacultatifpreOrderPurchaseIndInteger [2]Indicateur de placement par le client d'une commande pour une livraison disponible ou future.
Valeurs possibles :
  • 01 - livraison possible ;
  • 02 - livraison future
FacultatifreorderItemsIndInteger [2]Indicateur que le client repasse une commande d'une livraison précédemment payée dans le cadre d'une nouvelle commande.
Valeurs possibles :
  • 01 - commande passée pour la première fois ;
  • 02 - commande répétée

Description des paramètres de l'objet orderPayerData.

ObligatoireNomTypeDescription
FacultatifhomePhoneString [7..15]Téléphone fixe du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
FacultatifworkPhoneString [7..15]Téléphone professionnel du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.
FacultatifmobilePhoneString [7..15]Numéro de téléphone portable du titulaire de la carte. Il est nécessaire de toujours indiquer le code du pays, mais le signe + ou 00 au début peut être indiqué ou omis. Le numéro doit avoir une longueur de 7 à 15 chiffres. Ainsi, les valeurs suivantes sont possibles :
  • +35799988877 ;
  • 0035799988877 ;
  • 35799988877.

Pour les paiements par VISA avec autorisation 3DS, il est nécessaire d'indiquer soit l'adresse électronique, soit le numéro de téléphone du titulaire de la carte. Si vous avez configuré l'affichage du numéro de téléphone sur la page de paiement et que vous avez indiqué un numéro de téléphone incorrect, le client pourra le corriger sur la page de paiement.

Description des paramètres dans l'objet orderBundle :

ObligatoireNomTypeDescription
FacultatiforderCreationDateString [19]Date de création de la commande au format YYYY-MM-DDTHH:MM:SS.
FacultatifcustomerDetailsObjectBloc contenant les attributs du client. La description des attributs de la balise est donnée ci-dessous.
ObligatoirecartItemsObjectObjet contenant les attributs des produits dans le panier. La description des éléments imbriqués est fournie ci-dessous.

Description des paramètres dans l'objet customerDetails :

ObligatoireNomTypeDescription
FacultatifcontactString [0..40]Méthode de contact préférée par le client.
FacultatiffullNameString [1..100]Nom complet du payeur.
FacultatifpassportString [1..100]Série et numéro du passeport du payeur au format suivant : 2222888888
FacultatifdeliveryInfoObjectObjet contenant les attributs de l'adresse de livraison. La description des éléments imbriqués est donnée ci-dessous.

Description des paramètres dans l'objet deliveryInfo :

Caractère obligatoireNomTypeDescription
FacultatifdeliveryTypeString [1..20]Mode de livraison.
ObligatoirecountryString [2]Code de pays de livraison à deux lettres.
ObligatoirecityString [0..40]Ville de destination.
ObligatoirepostAddressString [1..255]Adresse de livraison.

Description des paramètres dans l'objet cartItems :

ObligatoireNomTypeDescription
ObligatoireitemsObjectÉlément du tableau avec les attributs de la position de marchandise. La description des éléments imbriqués est donnée ci-dessous.

Description des paramètres dans l'objet items :

ObligatoireNomTypeDescription
ObligatoirepositionIdInteger [1..12]Identifiant unique de la position de marchandise dans le panier.
ObligatoirenameString [1..255]Désignation ou description de la position tarifaire sous forme libre.
FacultatifitemDetailsObjectObjet avec les paramètres de description de la position de marchandise. La description des éléments imbriqués est donnée ci-dessous.
ObligatoirequantityObjectÉlément décrivant la quantité totale des positions de marchandises d'un même positionId et ses unités de mesure. La description des éléments imbriqués est donnée ci-dessous.
FacultatifitemAmountInteger [1..12]Montant du coût de toutes les positions de marchandises d'un positionId dans les unités minimales de la devise. itemAmount est obligatoire à transmettre, seulement si le paramètre itemPrice n'a pas été transmis. Dans le cas contraire, la transmission d'itemAmount n'est pas requise. Si dans la requête les deux paramètres sont transmis : itemPrice et itemAmount, alors itemAmount doit être égal à itemPrice * quantity, dans le cas contraire la requête se terminera avec une erreur.
FacultatifitemPriceInteger [1..18]Montant du coût de la position de marchandise d'un positionId en argent dans les unités minimales de devise.
FacultatifdepositedItemAmountString [1..18]Montant de débit pour un positionId en unités minimales de devise (par exemple, en centimes).
FacultatifitemCurrencyInteger [3]Code de devise ISO 4217. Si non spécifié, considéré comme égal à la devise de la commande.
ObligatoireitemCodeString [1..100]Numéro (identifiant) de la position de marchandise dans le système du magasin.

Description des paramètres dans l'objet quantity :

ObligatoireNomTypeDescription
ObligatoirevalueNumber [1..18]Quantité de positions de marchandises de ce positionId. Pour indiquer les nombres fractionnaires, utilisez le point décimal. Maximum 3 chiffres après le point sont autorisés.
ObligatoiremeasureString [1..20]Unité de mesure de la quantité par position.

Description des paramètres dans l'objet itemDetails :

ObligatoireNomTypeDescription
FacultatifitemDetailsParamsObjectParamètre décrivant les informations supplémentaires sur la position de marchandise. La description des éléments imbriqués est donnée ci-dessous.

Description des paramètres dans l'objet itemDetailsParams :

ObligatoireNomTypeDescription
ObligatoirevalueString [1..2000]Informations supplémentaires sur la position de marchandise.
ObligatoirenameString [1..255]Dénomination du paramètre de description de la détaillisation de la position de marchandise

Paramètres de l'objet applePay

Plus de détails peuvent être consultés dans le constructeur de boutons https://applepaydemo.apple.com/

ObligatoireParamètreTypeDescription
FacultatifbuttonStyleStringStyle d'affichage du bouton. Valeurs autorisées : 'black', 'white', 'white-outline'. Valeur par défaut : 'black'.
FacultatifpaymentRequestStringDescription de la session de paiement Apple Pay. Plus de détails peuvent être lus dans la documentation officielle. Voir l'exemple ci-dessous.
FacultatifpaymentTypeStringType d'apparence du bouton de paiement. Valeurs autorisées : plain, buy, donate, set-up, book, subscribe. Valeur par défaut : buy.
Pour les types donate, book, subscribe la largeur du bouton doit être d'au moins 200 px.
ObligatoiremerchantIdStringmerchantId dans Apple, par exemple 'website.com'. Ce site sera également utilisé comme label dans la fenêtre Apple Pay. Comme elle est limitée en longueur, le plus simple est d'afficher le domaine du site.
ObligatoirelanguageString [2]Langue du bouton au format ISO 639-1.

Exemple paymentRequest:

{
  countryCode: 'BG',
  currencyCode: 'BGN',
  supportedNetworks: [
    'masterCard',
    'visa',
    'electron',
    'maestro'
  ],
  merchantCapabilities: [
    'supports3DS',
    'supportsCredit',
    'supportsDebit'
  ],
  total: {
    label: '',
    amount: 1.00 // major units
  },
  requiredShippingContactFields: [
    'postalAddress',
    'name',
    'phone',
    'email'
  ]
}

Paramètres de l'objet googlePay

ObligatoireParamètreTypeDescription
ObligatoireenvironmentStringEnvironnement. S'il n'est pas spécifié, alors le bouton GPay ne s'affichera pas. Valeurs autorisées :
  • PRODUCTION - utilisé pour afficher les modes de paiement réels, si un identifiant marchand Google actif est spécifié pour le domaine. Utilisé uniquement pour l'environnement de production.
  • TEST - modes de paiement d'essai destinés aux tests (par défaut).
FacultatifemailRequiredBooleanDemander l'email lors du paiement via PaymentRequest API. Valeur par défaut : true.
FacultatifphoneNumberRequiredBooleanDemander le téléphone lors du paiement via PaymentRequest API. Valeur par défaut : true.
FacultatifbillingAddressRequiredBooleanDemander l'adresse du payeur lors du paiement via PaymentRequest API. Valeur par défaut : true.
FacultatifshippingAddressRequiredBooleanDemander l'adresse de livraison lors du paiement via PaymentRequest API. Valeur par défaut : false.
FacultatifpayerNameRequiredBooleanDemander le nom du payeur lors du paiement via PaymentRequest API. Valeur par défaut : false.
ConditionallowedCountryCodesArray of StringListe des codes pays au format ISO 3166-1 alpha-2, où la livraison est disponible. Obligatoire, si shippingAddressRequired = true.
FacultatifbuttonColorStringCouleur du bouton Google Pay. Valeurs autorisées :
  • default - valeur par défaut sélectionnée. Actuellement utilise black.
  • black - bouton noir pour placement sur fond blanc ou autre fond clair.
  • white - bouton blanc pour placement sur fond coloré.
Valeur par défaut : default.
FacultatifbuttonTypeStringType d'inscription sur le bouton. Valeurs autorisées :
  • long - bouton avec le texte "Payer via Google Pay" (par défaut). Si dans les paramètres du navigateur de l'utilisateur une des langues disponibles est sélectionnée, une version localisée du bouton sera affichée.
  • short - bouton de paiement via Google Pay sans texte.
Valeur par défaut : short.

Générateur de code

Vous pouvez également générer rapidement du code pour l'initialisation du script Payment Widget dans l'Espace personnel. Pour cela, allez dans l'onglet Boutons rapides -> Générateur de code dans votre Espace personnel.

Cette page dispose d'un constructeur, qui ressemble à ceci :


Code generator 1
Code generator 2

L'onglet comprend les sections suivantes pour définir les paramètres d'initialisation du script :

Support par les navigateurs

Environnement logiciel / NavigateursApple PayGoogle Pay
iOS / iPadOS — SafariOuiOui (checkout web)
iOS / iPadOS — Chrome / Edge / FirefoxOuiOui (checkout web)
macOS — SafariOuiOui
macOS — Chrome / Edge / FirefoxOui, via QR (iOS 18+)Oui
Windows / Linux / ChromeOS — Chrome / Edge / FirefoxOui, via QR (iOS 18+)Oui
Android — Chrome / Edge / FirefoxOui, via QR (iOS 18+)Oui

Test et déploiement

Environnement de test (UAT)

Connecter le script avec l'adresse https://dev.bpcbt.com/payment/.

<script
  src="https://dev.bpcbt.com/payment/pay-buttons/pay-buttons.js"
  id="pay-buttons">
</script>

Environnement de production (PROD)

Connecter le script avec l'adresse https://dev.bpcbt.com/payment/.

<script
  src="https://dev.bpcbt.com/payment/pay-buttons/pay-buttons.js"
  id="pay-buttons">
</script>
Catégories:
eCommerceAPI V1
Catégories
Résultats de recherche