# Configurer un abonnement avec virements bancaires Découvrez comment créer et facturer un abonnement par virement bancaire. Suivez ce guide pour configurer un *abonnement* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) avec les [virements bancaires](https://docs.stripe.com/payments/bank-transfers.md) comme moyen de paiement. ## Créer un produit et un tarif [Dashboard] [Côté serveur] Les *produits* (Products represent what your business sells—whether that's a good or a service) et les *tarifs* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) sont des ressources essentielles pour les abonnements. [Créez un produit et un tarif récurrent](https://docs.stripe.com/products-prices/manage-prices.md#create-product). Enregistrez l’ID du tarif, vous en aurez besoin plus loin dans ce guide. ## Créer ou récupérer un client [Côté serveur] Pour commencer, créez un client (soit un objet [Account](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer) configuré par le client, soit un objet [Customer](https://docs.stripe.com/api/customers/object.md)) avec une adresse e-mail valide, s’il n’existe pas encore. L’adresse e-mail valide garantit que le client peut recevoir les factures que vous lui envoyez. #### Accounts v2 Les fonds provenant de transferts bancaires sont détenus dans le [solde disponible](https://docs.stripe.com/payments/customer-balance.md) du client. Vous devez donc associer un client à chaque abonnement à un virement bancaire. Pour gérer le solde disponible d’un `Account` configuré par le client, utilisez l’endpoint de l’API Customers avec l’ID du compte comme paramètre de chemin d’accès, par exemple `v1/customers/acct_xxxxx/cash_balances`. ```curl curl -X POST https://api.stripe.com/v2/core/accounts \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: $latestPreviewApiVersion" \ --json '{ "contact_email": "jenny.rosen@example.com", "display_name": "Jenny Rosen", "configuration": { "customer": {} }, "include": [ "configuration.customer" ] }' ``` #### Customers v1 Les fonds provenant des transferts bancaires sont détenus dans le [solde disponible](https://docs.stripe.com/payments/customer-balance.md) du client, vous devez donc associer un objet [Customer](https://docs.stripe.com/api/customers.md) à chaque abonnement à un virement bancaire. ```curl curl https://api.stripe.com/v1/customers \ -u "<>:" \ -d "name=Jenny Rosen" \ --data-urlencode "email=jenny.rosen@example.com" ``` ## Créer l'abonnement [Côté serveur] [Créez](https://docs.stripe.com/api/subscriptions/create.md) l’abonnement à l’aide de l’ID client et de l’ID de tarif des étapes précédentes. - Définissez le paramètre [collection_method](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-collection_method) sur `send_invoice`. - Définissez le paramètre [days_until_due](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-days_until_due), correspondant au nombre de jours dont le client dispose pour payer la *facture* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice). #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer_account={{CUSTOMER_ACCOUNT_ID}} \ -d "items[0][price]={{PRICE_ID}}" \ -d collection_method=send_invoice \ -d days_until_due=30 \ -d "payment_settings[payment_method_types][0]=customer_balance" ``` #### Customers v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]={{PRICE_ID}}" \ -d collection_method=send_invoice \ -d days_until_due=30 \ -d "payment_settings[payment_method_types][0]=customer_balance" ``` Une facture est envoyée au client à la date d’échéance de l’objet Subscription. Si le [solde disponible](https://docs.stripe.com/payments/customer-balance.md) du client dispose de suffisamment de fonds, la facture est marquée comme payée. Dans le cas contraire, elle inclut les informations dont le client a besoin pour virer les fonds depuis son compte bancaire. Cette facture inclut également un lien vers la [page de facture hébergée](https://docs.stripe.com/invoicing/hosted-invoice-page.md). Les factures suivantes utiliseront le tarif créé à la première étape. En savoir plus sur les [factures avec virement bancaire](https://docs.stripe.com/invoicing/bank-transfer.md). ## Optional: Créer une planification d'abonnement [Côté serveur] Pour planifier des modifications de cet abonnement, [créez](https://docs.stripe.com/api/subscription_schedules/create.md) une [planification d’abonnement](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md). Saisissez l’ID d’abonnement de l’étape précédente dans l’attribut [from_subscription](https://docs.stripe.com/api/subscription_schedules/create.md#create_subscription_schedule-from_subscription). ```curl curl https://api.stripe.com/v1/subscription_schedules \ -u "<>:" \ -d from_subscription={{SUBSCRIPTION_ID}} ``` ## Tester votre intégration Utilisez le Dashboard Stripe ou l’interface de ligne de commande pour simuler un [transfert de fonds entrant](https://docs.stripe.com/payments/bank-transfers/accept-a-payment.md#test-your-integration). Dès que vous recevez des fonds, Stripe effectue un rapprochement [automatique](https://docs.stripe.com/invoicing/bank-transfer.md#automatic-transfer-reconciliation) ou [manuel](https://docs.stripe.com/invoicing/bank-transfer.md#manual-reconciliation) de la facture.