Configurer un abonnement avec Amazon Pay
Découvrez comment créer et facturer un abonnement avec Amazon Pay.
Utilisez ce guide pour configurer un abonnement avec le moyen de paiement Amazon Pay.
Créez et confirmez un abonnement à l’aide de deux appels à l’API. Le premier appel à l’APIbilling/subscriptions/afterpay-clearpay#create-setup-intent) utilise l’API Setup Intents pour définir Amazon Pay comme moyen de paiement. Le deuxième appel à l’API envoie les informations relatives au client, au produit et au moyen de paiement à l’API Subscriptions pour créer un objet Subscription et confirmer un paiement en un seul appel.
Créer un produit et un tarifDashboard
Les produits correspondent aux articles ou services que vous vendez. Les tarifs définissent le montant et la fréquence des paiements facturés pour un produit. Le tarif prend en compte la valeur du produit, la devise que vous acceptez et s’il s’agit d’un paiement ponctuel ou récurrent. Si vous n’avez que quelques produits et tarifs, créez-les et gérez-les dans le Dashboard.
Ce guide prend comme exemple un service de banque d’images qui débite ses clients d’un montant de 15 USD pour un abonnement mensuel. Pour modéliser ceci :
- Rendez-vous à la page Ajouter un produit.
- Saisissez un Nom pour le produit.
- Saisissez 15 pour le tarif.
- Sélectionnez la devise USD.
- Cliquez sur Enregistrer le produit.
Après avoir créé le produit et le tarif, enregistrez l’ID de tarif de manière à pouvoir l’utiliser dans les étapes ultérieures. La page des tarifs affiche l’ID dont le format est similaire à ce qui suit : price_
.
Créer ou récupérer un objet CustomerCôté serveur
Pour enregistrer un moyen de paiement Amazon Pay en vue de paiements ultérieurs, vous devez l’associer à un objet Customer.
Créez un objet Customer
une fois que votre client a créé un compte auprès de votre entreprise. En associant l’ID de l’objet Customer
à votre propre représentation interne du client, vous pourrez par la suite récupérer et utiliser les informations du moyen de paiement pour les conserver. Si votre client n’a pas créé de compte, vous pouvez toujours créer un objet Customer
et l’associer à votre représentation interne de ce compte client plus tard.
Créer un SetupIntentCôté serveur
Créez un SetupIntent pour enregistrer le moyen de paiement d’un client en vue de futurs paiements. Un SetupIntent est un objet qui représente votre intention de configurer le moyen de paiement d’un client en vue de futurs paiements. Le SetupIntent suit les étapes de ce processus de configuration.
Créez un SetupIntent sur votre serveur avec payment_method_types défini sur amazon_
, indiquez l’ID du client et configurez usage=off_session ou usage=on_
.
L’objet SetupIntent contient un client_
, une clé unique que vous devez transmettre à Stripe.js côté client afin de rediriger votre acheteur vers Amazon Pay et autoriser le mandat.
Récupérer la clé secrète du client
Le SetupIntent contient une clé secrète à utiliser côté client pour finaliser le processus de paiement en toute sécurité. Vous pouvez adopter différentes approches pour transmettre cette clé secrète côté client.
Ensuite, enregistrez Amazon Pay côté client avec Stripe.js.
Intégrez le script Stripe.js à votre page de paiement en l’ajoutant entre les balises head
de votre fichier HTML.
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
Lorsqu’un client clique pour payer avec Amazon Pay, utilisez Stripe.js pour soumettre le paiement à Stripe. Stripe.js est la bibliothèque JavaScript de base pour créer les tunnels de paiement : elle gère automatiquement les opérations complexes telles que la redirection décrite ci-dessous, et facilite l’extension de votre intégration à d’autres moyens de paiement. Incluez le script Stripe.js sur votre page de paiement en l’ajoutant à la section head
de votre fichier HTML.
<head> <title>Checkout</title> <script src="https://js.stripe.com/v3/"></script> </head>
Créez une instance de Stripe.js avec le code JavaScript suivant sur votre page de paiement.
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
);'pk_test_TYooMQauvdEDq54NiTphI7jx'
Utilisez stripe.
pour confirmer le SetupIntent côté client, avec une URL return_url et un attribut mandate_data. Utilisez l’URL return_url pour rediriger les clients vers une page spécifique une fois le SetupIntent réussi.
// Redirects away from the client const {error} = await stripe.confirmAmazonPaySetup( '{{SETUP_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/setup/complete', mandate_data: { customer_acceptance: { type: 'online', online: { infer_from_client: true } } }, } ); if (error) { // Inform the customer that there was an error. }
Créer un abonnementCôté serveur
Créez un abonnement avec un tarif et un client. Définissez la valeur du paramètre default_
sur l’ID de PaymentMethod contenu dans la réponse SetupIntent.
Dans le cadre d’un abonnement, le client est débité automatiquement selon le moyen de paiement préconfiguré par défaut. Lorsqu’un paiement aboutit, son état dans le Dashboard Stripe bascule sur Actif. Le tarif que vous avez configuré détermine le montant des prochaines factures. Découvrez comment créer un abonnement avec une période d’essai gratuit.