Charge SaaS fees to your connected accountsPublic preview
Use Billing to charge SaaS fee subscriptions directly to your connected accounts.
You can use Stripe Billing to charge your connected accounts a recurring subscription fee for using your platform.
Create a product with a recurring price
Create a product and price representing your subscription fee. You can use the API or the Dashboard.
Create subscriptions to charge your connected accounts
You can collect SaaS subscription fees directly from a connected account’s Stripe balance. The connected account must meet the following requirements:
- It must have both the
merchant
andcustomer
configurations. - Its
merchant
configuration’scard_
capability must be active.payments - Its available balance must have sufficient funds to make a full payment.
Configure your integration to manage Stripe balance payment failures
When you collect a payment from a connected account’s Stripe balance, the account’s available balance must have sufficient funds to make the full payment. Otherwise, the payment fails. If you plan to collect payments directly from your connected accounts’ Stripe balances, we recommend configuring your integration to manage balance-related payment failures.
Avoid balance payment failures
Because payments from a connected account’s Stripe balance rely on its available funds, you can avoid payment failures by taking steps to maximize your connected accounts’ balances.
Tailor connected account payout schedules
Coordinate your payout schedules with your subscription billing cycles. For example, if you charge subscription fees on the first day of each month, and schedule weekly payouts on Mondays, then months with more Mondays have more payouts. Those months have lower available balances than months with fewer payouts, making payment failures more likely.
Another way to avoid payment failures due to payouts is to change to manual payouts before a subscription payment. At a set time before each subscription payment, if a connected account has sufficient available funds, switch it to manual payouts so the subscription payment gets paid before the automatic payout clears the account. After the subscription payment, resume automatic payouts.
Set a minimum balance on connected accounts
You can prevent automatic payouts from reducing a connected account’s available balance below a certain amount by defining a minimum balance for that account.
- Find the account in your Dashboard.
- From the account’s overflow menu (), select View Dashboard as….
- Click the gear icon and select Settings.
- Under Account Settings, click Business.
- Select the External payout accounts and scheduling tab.
- Turn on Keep a minimum amount in your payments balance and enter an amount.
You must manually set the minimum balance for each connected account.
Handle balance payment failures
Set up webhooks and event destinations to receive notifications about subscription payments. Identify payment failures by listening for the invoice.
event. When a payment fails:
- The PaymentIntent status changes to
requires_
.action - The Subscription status remains
incomplete
for the current invoice. - The Subscription continues to generate invoices, which remain in
draft
status.
Automatic retries
Enable retries for failed balance payments due to insufficient available funds on recurring subscription invoices. Automatic retries schedules 2 payment attempts following an insufficient funds failure:
- The first retry happens at least 24 hours after the failed payment.
- If needed, the second retry happens on the next Sunday following the first retry.
This retry schedule aims to give your connected account time to accumulate more funds in their Stripe balance and to avoid conflicts with scheduled payouts.
You can enable retries for any amount for no additional fee.
Manually retrying
If a payment from a Stripe balance fails due to insufficient available funds, you can manually retry it by following these steps:
- Set the connected account’s payout schedule interval to
manual
. - Listen for the next payment that comes into the connected account, then check the account’s available balance.
- If the available balance is equal to or greater than the subscription fee, set the unpaid invoice’s payment method to
stripe_
and retry it. Otherwise, continue listening for payments until the available balance is enough to pay the invoice.balance - If the payment succeeds, restore the connected account’s normal payout schedule.
Instead of retrying a failed payment from a Stripe balance, you can try using a different payment method by specifying it directly on the invoice. You can also implement a flow that allows connected accounts to update their own subscription payment methods.
Next steps
When your connected accounts can accept payments and you’ve configured your monetization, set up payouts so your connected account can transfer their Stripe balance to their external account.