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 objet Subscription à l’aide de deux appels à l’API. Le premier appel à l’API envoie les informations concernant le client et le produit à l’API Subscriptions pour créer à la fois un objet Subscription et un objet PaymentIntent. La réponse contient un ID de PaymentIntent, que vous devez utiliser dans un appel à l’API Payment Intents pour confirmer un paiement.
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 un abonnementCôté serveur
Créez un abonnement avec un tarif et un client à l’état incomplete
en attribuant au paramètre payment_behavior la valeur default_
. Définissez le paramètre payment_
pour enregistrer un moyen de paiement lors de l’activation de l’abonnement.
La réponse inclut la première facture de l’abonnement. Celui-ci contient les paiements de la facture, qui inclut un PaymentIntent par défaut que Stripe a généré pour cette facture et la clé secrète de confirmation que vous pouvez envoyer au client afin qu’il finalise le processus de paiement en toute sécurité au lieu de lui transmettre la totalité de l’objet PaymentIntent. Renvoyez le latest_
au front-end pour finaliser le paiement.
Obtenez l’ID PaymentIntent que vous devez utiliser pour confirmer un paiement provenant de latest_
.
Remarque
Pour créer un abonnement avec une période d’essai gratuite, consultez la documentation relative aux périodes d’essai des abonnements.
Confirmer un paiementCôté serveur
Confirmez un paiement avec l’API PaymentIntents à l’aide de l’ID de PaymentIntent contenu dans la réponse de l’objet Subscriptions.
Ajoutez l’ID de PaymentIntent au chemin de l’URL et définissez la valeur du paramètre payment_
sur cashapp
.
La réponse du PaymentIntent contient l’état requires_
, ce qui signifie que vos utilisateurs doivent effectuer une autre action pour mener à bien le PaymentIntent. Utilisez l’objet next_
de la réponse du PaymentIntent pour rediriger vos utilisateurs vers une page hébergée Stripe qui affiche le code QR, ou présentez-leur directement le code QR. Afin d’authentifier les utilisateurs, suivez les instructions pour rediriger les utilisateurs et authentifier les transactions. Après leur authentification, l’application mobile Cash App redirige les utilisateurs vers l’URL return_
de leur appareil mobile et le PaymentIntent passe à l’état succeeded
.
Une fois le paiement abouti, l’abonnement devient actif et le moyen de paiement est enregistré comme moyen de paiement par défaut.