Pour afficher un bouton de paiement sur votre site internet
head de votre application le script ci-dessous
div) identifiables par leur classe atomios-pay. Cet élément recevra le bouton de paiementwindow.ATOMIOS_CONFIGLes éléments qui recevront les boutons de paiement sont des éléments HTML
atomios-paydata-product avec pour valeur l'uuid du produit Atomiosdata permettant de configurer le rendu du boutonRappel: ces attributs sont à préfixer par data-
| Attribut | Description | Défaut |
|---|---|---|
label |
Alimente le label bouton | Payer |
help |
Alimente l'infobulle bouton | Cliquez pour accéder à la page de paiement |
classes-button |
Ajoute les classes CSS au bouton | Aucune |
classes-show-login-cta |
Ajoute les classes CSS au lien permettant d'afficher le formulaire de récupération d'identifiant | Aucune |
<div
class="atomios-pay"
data-product="fde73556-24ae-4140-8a14-054fc7d08d81"
data-label="S'abonner à MyCompany"
data-help="Vous abonner vous permettra d’accéder aux fonctionnalités premium"
data-classes-button="btn btn-primary"
data-classes-show-login-cta="link-secondary"
></div>
Cet élément est à disposer sur votre site. Le bouton sera inclus en tant qu'enfant de celui-ci.
Dans le cas où le produit a déjà été souscrit par l'internaute, l'élément restera vide.
Il est possible de modifier le comportement d'Atomios en créant un objet global window.ATOMIOS_CONFIG. Ci-dessous sont présentées les valeurs par défaut de chaque élément de cet objet.
window.ATOMIOS_CONFIG = {
locale: 'fr', // langue du navigateur par défaut
currency: 'EUR' // devise à utiliser si celle-ci n'est pas explicitement définie dans dans les appels au SDK (redirectToCheckoutSession)
baseDocument: document, // document racine (utile si atomios est inclus dans un iframe)
checkStatusOnInit: true, // Lors du chargement de la page, recherche si l'internaute est abonné au produit
showPaymentButton: true, // Affiche le bouton de paiement si l'internaute n'est pas abonné (utile uniquement si checkStatusOnInit)
showLoginFormCta: true, // afficher un lien permettant à l'internaute de retrouver son abonnement (utile uniquement si checkStatusOnInit)
sdkVersion: '1.0', // version du sdk à utiliser
sdkCore: false, // n'utiliser que les fonctionnalités core du SDK Atomios
}
La fenêtre de login permet à l'internaute de récupérer son identifiant client sous la forme d'un cookie. Pour ce faire l'internaute doit saisir son email dans un formulaire.
Ce formulaire peut s'afficher en cliquant sur le lien «Déjà payé ?» sous le bouton «Payer». Ce lien peut être masqué grâce à la variable de configuration showLoginFormCta. Dans ce cas le formulaire de login peut être affiché manuellement via le SDK d'Atomios :
window.Atomios.showLoginForm()
events contenu dans l'objet global window.Atomios.
Code exemple pour s'inscrire à un évènement :
window.Atomios.events.on('customer:subscribed', function(data) {
if (data.product == 'fde73556-24ae-4140-8a14-054fc7d08d81') {
// votre code concernant le produit fde73556-24ae-4140-8a14-054fc7d08d81
}
});
| Nom | Déclenchement | Données |
|---|---|---|
script:before-init |
Avant le début du script d'initialisation | |
script:after-init |
Après le début du script d'initialisation | |
customer:subscribed |
Le client a une souscription valide au produit |
|
customer:no-subscription |
Le client n'a pas de souscription valide au produit |
|
ui:payment-button:created |
Le bouton de paiement est créé (avant son montage) |
|
ui:payment-button:mounted |
Le bouton de paiement est monté |
|
ui:login-form:shown |
Affichage du formulaire de login |
Le script inclut dans le head de votre page crée un objet global window.Atomios. Cet objet vous donne accès au SDK d'Atomios
| Nom | Description | Core |
|---|---|---|
events |
Objet permettant de souscrire aux évènements émis par Atomios (cf § Évènements). | ✓ |
customerPaywallStatus(productUuid) |
Revoie une promesse contentant un object détaillant l'état de l'abonnement au produit pour le client.
|
✓ |
customerHasSubscription(productUuid) |
Revoie une promesse contentant un booléen indiquant si le client a un abonnement pour ce produit (version simplifiée de la fonction précédente) |
✓ |
showPaymentButtonIfNoSubscription(atomiosNode, showLoginCta) |
Fonction permettant tester si l'internaute est abonné au produit identifié dans le nœud. Affiche le bouton de paiement le cas échéant et éventuellement le lien de login. Écouter les évènements customer:* pour déterminer le résultat.
|
|
showLoginForm() |
Fonction permettant d'afficher le formulaire de récupération d'identifiant (cf § Fenêtre de login). | ✓ |
managementUrl(productUuid) |
Fonction retournant l'URL de la page de gestion d'abonnement, permettant à l'internaute de modifier son moyen de paiement ou de se désinscrire. | |
redirectToCheckoutSession(productUuid, currency) |
Redirection du navigateur vers la page d'abonnement. | ✓ |
La partie serveur d'Atomios va communiquer avec la partie inclue dans le navigateur de l'internaute via des query parameters de l'URL. C'est pourquoi le site utilisant Atomios doit veiller à ne pas supprimer les query parameters suivants :
atomios-pay-customer-login-token