Accéder directement au contenu
Créez un compte ou connecter-vous
Logo de la documentation Stripe
/
Demander à l'assistant IA
Créez un compteConnectez-vous
Démarrer
Paiements
Revenus
Plateformes et places de marché
Gestion de fonds
Ressources pour les développeurs
API et SDKAide

Accepter les paiements d'abonnement avec PayTo

En savoir plus sur la création et la facturation d'un abonnement avec PayTo.

Suivez ce guide pour configurer un abonnement avec PayTo comme moyen de paiement.

Créez et confirmez un abonnement en utilisant deux appels à l’API. Le premier appel à l’API utilise l’API Setup Intents pour définir PayTo 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éez un produit et un tarif
Dashboard

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 AUD pour un abonnement mensuel. Pour modéliser ceci :

  1. Go to the Products page and click Create product.
  2. Saisissez un Nom pour le produit. Vous pouvez éventuellement ajouter une Description et télécharger une image du produit.
  3. Select a Product tax code. Learn more about product tax codes.
  4. Sélectionnez Récurrent. Saisissez ensuite pour le prix et sélectionnez comme devise.
  5. 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.
  6. Pour Période de facturation, sélectionnez Mensuel.
  7. Click More pricing options. Then select Flat rate as the pricing model for this example. Learn more about flat rate and other pricing models.
  8. Add an internal Price description and Lookup key to organize, query, and update specific prices in the future.
  9. 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_G0FvDp6vZvdwRZ.

Créer une SetupIntent
Côté serveur

Créez une SetupIntent pour enregistrer le moyen de paiement d’un client en vue de paiements ultérieurs. La SetupIntent permet de suivre les étapes de ce processus de configuration.

Limitez le montant de vos mandats en définissant un montant dans les paiement_method_options, car plusieurs banques rejettent systématiquement les mandats sans montant spécifié.

Command Line
cURL
No results
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d confirm=true \ --data-urlencode return_url="https://www.stripe.com" \ -d usage=off_session \ -d customer=cus_ODQluYFNl44ODI \ -d "payment_method_data[type]"=payto \ -d "payment_method_types[]"=payto \ -d "payment_method_options[payto][mandate_options][amount]"=1500 \ -d "mandate_data[customer_acceptance][type]"=online \ -d "mandate_data[customer_acceptance][online][ip_address]"="127.0.0.0" \ -d "mandate_data[customer_acceptance][online][user_agent]"=device

L’objet SetupIntent contient un paramètre client_secret, une clé unique que vous devez transmettre à Stripe.js côté client afin de rediriger votre client vers PayTo et autoriser le mandat.

Créer un abonnement
Côté serveur

Créez un abonnement avec un tarif et un client. Définissez la valeur du paramètre default_payment_method sur l’ID de PaymentMethod contenu dans la réponse de la SetupIntent.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]"={{PRICE_ID}} \ -d default_payment_method={{PAYMENT_METHOD_ID}} \ -d off_session=true

La création d’abonnements entraîne le débit automatique du compte des clients en raison du moyen de paiement par défaut. Une fois le paiement effectué, l’état dans le Dashboard Stripe passe à Actif. Le prix que vous avez précédemment défini détermine le montant des facturations futures.

Tester votre intégration

Testez votre intégration PayTo avec vos clés API de test en utilisant les différents PayID de test et les coordonnées bancaires ci-dessous. Chaque combinaison donne lieu à un scénario différent auquel votre intégration pourrait être confrontée en mode production.

PayIDDescription
{any_prefix}+succeed@{any_domain}L’état de la PaymentIntent passe de requires_action à processing au bout de 10 secondes, puis à succeeded après 5 secondes supplémentaires. Le mandat passe alors à l’état active.
{any_prefix}+decline@{any_domain}L’état de la PaymentIntent passe de requires_action à requires_payment_method au bout de 10 secondes. Stripe renvoie le code d’erreur payment_method_provider_decline avec le code de refus de paiement invalid_authorization. Le mandat passe alors à l’état inactive.
{any_prefix}+expire@{any_domain}L’état de la PaymentIntent passe de requires_action à requires_payment_method au bout de 10 secondes. Stripe renvoie le code d’erreur payment_method_provider_decline avec le code de refus de paiement generic_decline. Le mandat passe alors à l’état inactive.
{any_prefix}+insufficient_funds@{any_domain}L’état de la PaymentIntent passe de requires_action à processing au bout de 10 secondes, puis à requires_payment_method après 5 secondes supplémentaires. Stripe renvoie le code d’erreur payment_method_provider_decline avec le code de refus de paiement insufficient_funds. Le mandat passe alors à l’état inactive.
{any_prefix}+revoke@{any_domain}L’état de la PaymentIntent passe de requires_action à processing au bout de 10 secondes, puis à succeeded après 5 secondes supplémentaires. Le mandat est d’abord à l’état active, puis passe à l’état inactive au bout d’une minute.
{any_prefix}+agreement_type_not_supported@{any_domain}L’état de la PaymentIntent passe de requires_action à requires_payment_method au bout de 10 secondes. Stripe renvoie le code d’erreur payment_method_provider_decline. Le mandat passe alors à l’état inactive.
Cette page vous a-t-elle été utile ?
OuiNon
  • Besoin d'aide ? Contactez le service Support.
  • Consultez notre log des modifications.
  • Des questions ? Contactez l'équipe commerciale.
  • LLM ? Lire llms.txt.
  • Propulsé par Markdoc