Billing collection methods
Configure your preferred method to collect on invoices and subscriptions.
You can set your preferred payment collection method when creating invoices and subscriptions using either the Dashboard or API.
Automatic charging versus manual payments
The collection method determines how Stripe processes the payment for both products. To collect payments for invoices and subscriptions, you can select from these methods:
- Automatic charging
- Manual payments
Note
Manual payment methods, such as wire transfers, have more rigorous tracking and reconciliation processes, which enterprise clients often require for high transaction volumes. Some payment methods, such as bank transfers, only support send_
and can’t be charged automatically.
Set a collection method for an invoice
To set a collection method for an invoice through the Invoicing API, use the collection_method attribute.
charge_
: Lets you automatically charge a customer’s default payment method to pay invoices.automatically send_
: Sends an invoice for manual payment. Unlike automatic charging which requires immediate payment, you can give the customer an adjustable payment window. You can use the Hosted Invoice Page and set up email notifications and reminders to facilitate payment.invoice
Set a collection method for a subscription
To set a collection method for a subscription through the Subscriptions API, use the collection_method attribute. If you change the collection method for a subscription, only subsequently created subscription invoices use the new collection method.
charge_
: Tells Stripe to automatically charge your customer’s default payment method to pay the invoice generated for each subscription period.automatically send_
: Generates an invoice for each billing period, and requires manual payment. Unlike automatic charging which requires immediate payment, you can give the customer an adjustable payment window.invoice
Automatic charge for free trials without payment method
You can create a free trial for subscription without collecting payment method from your customers and still set the collection_method attribute as charge_
. During the trial period, customers can add their payment details using the Customer portal. Once the trial ends, customer’s default payment method will be automatically charged. You can also configure your subscription to pause/cancel if the trial ends without a payment method. Learn more about creating free trials without collecting payment method.
Collection methods and failed payments
Depending on the collection method, failed payments generate different subscription statuses and invoice statuses.
Failed subscription payments
Creating a subscription with a payment_behavior of allow_
, and the collection_
set to charge_
, immediately attempts payment and marks the subscription status
as incomplete
if the initial payment attempt doesn’t succeed.
Passing a payment_
of default_
will always initialise subscriptions with an incomplete
status if the first invoice requires payment. The resulting PaymentIntent must be confirmed in a separate request in order to attempt payment.
For both allow_
and default_
, the subscription becomes active
after the first invoice is paid. Subscriptions that do not require payment upon creation (such as those that are trials) will immediately have a status of active
. If the first invoice remains unpaid after 23 hours, the subscription is set to incomplete_
. This status is final and irreversible, voiding the open invoice and preventing future invoices.
Failed incomplete subscriptions
When a subscription has a status of incomplete
, you can only update attributes that won’t result in the creation of an invoice or invoice item, such as its metadata, save_default_payment_method, and description.
If a payment to renew the subscription fails when you’ve set it to charge automatically, the subscription transitions to past_
and Stripe may mark it as canceled
or unpaid
(depending on your subscriptions settings) after Stripe exhausts all payment retry attempts.
On the other hand, if the subscription’s collection_
is set to send_
, it becomes past_
when its invoice remains unpaid by the due date. If the customer still hasn’t paid the invoice after you extend the deadline, Stripe may mark the subscription as canceled
or unpaid
, which again depends on your subscription settings.
When a subscription has a status of unpaid
, Stripe creates future invoices but leaves them as drafts. In this case, you have the option to resend the past due
invoice and any created draft invoices to collect payment. Use this feature if you’re trying to collect payment for unpaid months (such as when you continue to provide the goods or services related to an unpaid subscription) or leave them closed and unpaid when you stop providing goods or services.
Failed invoicing payments
Invoices not associated with subscriptions that have their collection_
set to charge_
and auto-advancement disabled, remain open
if an initial payment attempt fails. Because auto-advancement is disabled, Stripe doesn’t automatically close the invoices, retry them, or transition them to a different status. Learn more about failed payment notifications and managing invoices sent to customers.
If auto-advancement is enabled for the invoice, Stripe may automatically mark the invoice as uncollectible
(depending on your invoice status settings) after Stripe exhausts all payment retry attempts.
When the collection method is set to send_
, the invoice requires manual payment. If the invoice remains unpaid past the due date, the status becomes past_
, indicating an overdue invoice. If you extend the payment deadline and the customer still hasn’t paid, you can leave the invoice as past_
or transition it to uncollectible
or void
.
Enterprise clients and wire transfers
For enterprise clients, manual payment methods, such as wire transfers, offer some advantages. These payment methods often involve more rigorous tracking and reconciliation processes compared to automated methods, which is crucial for enterprises that deal with high transaction volumes. By setting the collection_
to send_
, you can generate clear and well-documented invoices that enterprise clients can pay using wire transfers – a commonly preferred payment method for this type of client.