You can create invoices for connected accounts, which support several approaches for collecting payments. You can create them directly on the connected account using direct charges, or on the platform with transfers to the connected account using destination charges. You can also take an application fee on these invoices.
Create an invoice using direct charges
To create an invoice that directly charges on a connected account, create an invoice while authenticated as the connected account. For this to work, the customer must be defined on the connected account.
As with creating a direct charge on a connected account, you can create a customer on a connected account using either the platform’s publishable key or the connected account’s publishable key. You can also create a token using shared customers. When using direct charges, the connected account is responsible for the cost of the Stripe fees, refunds, and chargebacks.
Create an invoice using destination charges
To create an invoice that charges on the platform and creates automatic transfers to a connected account, create an invoice while providing the connected account ID as the
For this to work, the customer must be defined on the platform account, and the connected account token must be created using the platform’s publishable key. If charging a customer, the customer must exist within the platform account. When using automatic transfers, the platform is the business of record.
On the invoice, you can (optionally) withhold an application_fee_amount. This example shows an
application_fee_amount for an invoice with a direct charge on the connected account:
This example shows an
application_fee_amount for an invoice with a destination charge:
To make the connected account the settlement merchant, charge the customer using the
on_behalf_of parameter when you create or update the invoice. You must set
on_behalf_of in the API before finalizing an invoice—the Dashboard doesn’t have an interface for invoices you send on behalf of connected accounts.
on_behalf_of applies the branding and contact information of the connected account to the invoice email, invoice PDF, Hosted Invoice Page, and invoice receipt. As with standard invoices sent with the API, emails aren’t sent in test mode, but you can verify the invoice was created by checking the Invoices section of the Dashboard.
To collect payments on behalf of the connected account, the connected account also needs to have account capabilities enabled for the relevant payment methods. You can automatically transfer payments for invoices created on behalf of the connected account by using destination charges. For more information about the
on_behalf_of parameter, refer to the relevant Connect documentation:
- For automatic transfers to the connected account, refer to the
on_behalf_ofparameter details in Charge on behalf of a connected account.
- For information on how to transfer payments manually, refer to the Transfer Availability section in Creating separate charges and transfers.
- For a list of account capabilities required for processing payment methods, refer to Payment method capabilities.
This example shows how to use
on_behalf_of for a new invoice using separate charges and transfers:
As with standard destination charges, you can set an
application_fee_amount on invoices. This example shows how to use
on_behalf_of with a destination charge and application fee.
Invoices created on behalf of a connected account don’t support:
- Account-level sequential invoice numbering
- Account tax IDs
- Bank transfers payment methods, such as ACH Credit Transfer and Paper Checks