Search code examples
stripe-paymentsstripe-connect

Split payment for subscriptions on Stripe platform account


The stripe api documentation doesn't seem to cover a specific case I'm looking for:

Subscribe someone to a plan on the platform account, and automatically send a portion of their monthly dues to a second account:

I have two accounts:

  • Platform
  • Service

I have a plan, platformplan on the Platform account.

I want to subscribe someone to that plan, but send a portion of that cost to the Service account.


A similar, but not applicable request is covered by their documentation:

A serviceplan on the Service account can be subscribed to and an application fee taken via:

application_fee_percent: 10,
stripe_account: "{CONNECTED_STRIPE_ACCOUNT_ID}",

This works (and very helpfully shows the Service account the fee breakdown and total cost), but requires I have access to the Service account if I want to change the plans, which is not ideal. I am trying to set it up so I can have separate plans on the platform (which I control) connected to payable service accounts.


You can split a charge via the destination field:

destination: {
    amount: 877,
    account: "{CONNECTED_STRIPE_ACCOUNT_ID}",
},

but is there a way to do something similar with a subscription/plan?


Solution

  • The idea is to create the plan, customer and subscription on the connected account instead. This ensures that the owner of the account get their share of the funds. You would take the platform's share via an application fee. This is outlined here.

    Another solution is to charge on the platform instead and after the fact, transfer funds to one (or multiple) connected accounts while linked the transfer to that billing cycle's charge. This approach is documented here.