Configurer un abonnement avec Cash App Pay
Comment créer un abonnement et débiter votre client avec Cash App Pay.
Utilisez ce guide pour configurer un abonnement avec le moyen de paiement Cash App Pay.
Créez et confirmez un abonnement à l’aide de deux appels à l’API. Le premier appel à l’API utilise l’API Setup Intents pour définir Cash App 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 abonnement 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 :
- Go to the Products page and click Create product.
- Saisissez un Nom pour le produit. Vous pouvez éventuellement ajouter une Description et télécharger une image du produit.
- Select a Product tax code. Learn more about product tax codes.
- Sélectionnez Récurrent. Saisissez ensuite pour le prix et sélectionnez comme devise.
- Choose whether to Include tax in price. You can either use the default value from your tax settings or set the value manually. In this example, select Auto.
- Pour Période de facturation, sélectionnez Mensuel.
- Click More pricing options. Then select Flat rate as the pricing model for this example. Learn more about flat rate and other pricing models.
- Add an internal Price description and Lookup key to organize, query, and update specific prices in the future.
- Cliquez sur Suivant. Cliquez ensuite sur Ajouter un 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 un SetupIntentCôté serveur
Créez un objet SetupIntent pour enregistrer le moyen de paiement d’un client en vue de paiements futurs. Le SetupIntent
permet de suivre les étapes de ce processus de configuration.
L’objet SetupIntent renvoyé contient une clé secrète à utiliser côté client pour terminer la configuration en toute sécurité, sans avoir à transmettre l’objet SetupIntent dans son intégralité. Vous pouvez utiliser différentes approches pour transmettre cette clé secrète côté client. La réponse du SetupIntent contient également un ID de moyen de paiement, que vous devrez utiliser à l’étape suivante pour confirmer un PaymentIntent.
La réponse du SetupIntent contient l’état requires_
, ce qui signifie que vos utilisateurs doivent effectuer une autre action pour mener à bien le SetupIntent. Utilisez l’objet next_
de la réponse du SetupIntent pour rediriger vos utilisateurs vers une page hébergée Stripe qui affiche le code QR, ou présentez-leur directement le code QR.
Pour authentifier les utilisateurs, suivez les instructions pour confirmer un SetupIntent et enregistrer un moyen de paiement. Une fois les utilisateurs authentifiés, l’application mobile Cash App les redirige vers l’URL return_
de leur appareil mobile et le SetupIntent passe à l’état succeeded
.
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.
La réponse inclut le premier PaymentIntent de l’abonnement, qui contient une clé secrète à utiliser côté client pour finaliser le processus de paiement en toute sécurité, plutôt que de transmettre l’objet PaymentIntent dans son intégralité. Renvoyez le paramètre client_
au front-end pour finaliser le paiement.
Remarque
Pour créer un abonnement avec une période d’essai gratuite, consultez la documentation relative aux périodes d’essai des abonnements.