Dynamic Checkout Button
Le Dynamic Checkout Button (bouton de paiement dynamique) est une fonctionnalité Shopify qui permet d'afficher automatiquement les options de paiement rapide comme Shop Pay, Apple Pay, Google Pay, etc., selon les méthodes disponibles pour le client.
Formulaire produit
Pour utiliser le Dynamic Checkout Button, vous devez d'abord créer un formulaire produit avec le tag form :
{% form 'product', product, id: 'product-form', novalidate: 'novalidate', data-type: 'add-to-cart-form' %}
<!-- Contenu du formulaire -->
{% endform %}⚠️ Attention : Il ne faut pas qu'il y ait le
javascript:voiddans le tag form !
Block Dynamique CTA avec checkbox
HTML/Liquid
Dans votre section produit, ajoutez le code suivant pour afficher conditionnellement le bouton de checkout dynamique :
{%- if block.settings.show_dynamic_checkout -%}
{{ form | payment_button }}
{%- endif -%}⚠️ Attention :
- Il faut un (et un seul) input avec
name="id"ayant la variant id en value.- Si on utilise de l'abonnement, il faut un (et un seul) input avec
name="selling_plan"ayant le selling plan id en value (par défaut la value doit être vide si on sélectionne un plan one shot par défaut)
Schema
Ajoutez ce block dans le schema de votre section produit :
{
"type": "buy_button",
"name": "t:sections.main-product.blocks.buy_buttons.name",
"limit": 1,
"settings": [
{
"type": "checkbox",
"id": "show_dynamic_checkout",
"default": true,
"label": "t:sections.main-product.blocks.buy_buttons.settings.show_dynamic_checkout.label",
"info": "t:sections.main-product.blocks.buy_buttons.settings.show_dynamic_checkout.info"
}
]
}Exemple complet
Section produit avec Dynamic CTA
{% form 'product', product, id: 'product-form', novalidate: 'novalidate', data-type: 'add-to-cart-form' %}
<!-- Informations produit -->
<h1>{{ product.title }}</h1>
<p>{{ product.price | money }}</p>
<!-- Variantes -->
<select name="id" id="product-select">
{% for variant in product.variants %}
<option value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money }}</option>
{% endfor %}
</select>
<!-- Quantité -->
<input type="number" name="quantity" value="1" min="1">
<!-- Bouton Ajouter au panier -->
<button type="submit" name="add">
Ajouter au panier
</button>
<!-- Dynamic Checkout Button -->
{%- if block.settings.show_dynamic_checkout -%}
{{ form | payment_button }}
{%- endif -%}
{% endform %}Utilisation dans le panier
Pour afficher les boutons de checkout dynamique dans la page panier, utilisez :
{{ content_for_additional_checkout_buttons }}Cette variable contient automatiquement les boutons de paiement rapide disponibles pour le client.
Explication
Le tag payment_button
Le filtre payment_button appliqué au formulaire ({{ form | payment_button }}) génère automatiquement :
- Shop Pay : Pour les clients ayant enregistré Shop Pay
- Apple Pay : Sur les appareils Apple compatibles
- Google Pay : Sur les appareils Android compatibles
- PayPal : Si configuré dans les paramètres de paiement
- Autres méthodes : Selon la configuration de votre boutique
Condition avec checkbox
La condition {%- if block.settings.show_dynamic_checkout -%} permet de :
- Activer/désactiver le bouton depuis l'éditeur de thème
- Donner le contrôle au marchand sur l'affichage du Dynamic Checkout
- Respecter les préférences de chaque boutique
Personnalisation
Styling du Dynamic Checkout Button
Le bouton généré par Shopify a des classes CSS que vous pouvez personnaliser :
.shopify-payment-button {
margin-top: 1rem;
}
.shopify-payment-button__button {
border-radius: 4px;
padding: 12px 24px;
}
.shopify-payment-button__button--unbranded {
background-color: #000;
color: #fff;
}Afficher toujours le Dynamic Checkout
Si vous voulez toujours afficher le bouton sans checkbox :
{{ form | payment_button }}Afficher conditionnellement selon d'autres critères
{%- if product.available and block.settings.show_dynamic_checkout -%}
{{ form | payment_button }}
{%- endif -%}Bonnes pratiques
- Positionnement : Placez le Dynamic Checkout Button juste après le bouton "Ajouter au panier"
- Visibilité : Assurez-vous qu'il soit bien visible et accessible
- Mobile : Le Dynamic Checkout est particulièrement utile sur mobile pour accélérer le processus d'achat
- Test : Testez avec différents navigateurs et appareils pour vérifier l'affichage des différentes options de paiement
- Inputs requis : Assurez-vous d'avoir exactement un input avec
name="id"et, si nécessaire, un input avecname="selling_plan"pour les abonnements
Limitations
- Le Dynamic Checkout Button ne fonctionne que pour les produits avec une seule variante ou des variantes simples
- Il nécessite que le produit soit en stock et disponible
- Certaines méthodes de paiement peuvent ne pas être disponibles selon la région du client
- Le formulaire ne doit pas contenir
javascript:voiddans l'attribut action
Ressources
- Documentation Shopify : Dynamic Checkout Buttons (opens in a new tab)
- Shop Pay : Documentation (opens in a new tab)