Splitting subscription payments
Last updated
Last updated
The Stripe Connect - Marketplace enables you to split subscription payments between your platform and merchants who are selling goods/services on your platform. For example, if you're running a subscription content marketplace like Substack, the plugin allows your marketplace to take a % of each subscription paid by consumers to newsletter writers.
The below video tutorial demonstrates how to split a one-off payment (relevant section is from 12:42 to 20:14):
You can see an example of a database setup for a subscription marketplace in the below demo app:
The fields specific to the subcriptions are 'subscription', 'plan' and 'newsletter'
If you are processing subscription payments in your app, it is recommended you create an additional data type called 'subscription' (or something similar) with the following fields:
and another data type called 'plan' (or something similar) with the following fields:
Add a value to the 'Days for Free Trial' field to allow users to benefit from a free trial before their first payment.
For example, if you set it to ‘30’:
You user will be given a 30-day free subscription when they initially subscribe:
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
cancel at period end?
text
a field that lets you know whether the subscription will be ended after the current period
checkout session id
text
the unique ID Stripe gives to each checkout session
currency
text
the currency of the transaction (recommended to use a 3-digit ISO code to be consistent with Stripe requirements)
customer id
text
the unique Stripe ID associated with each customer
frequency
text
the frequency of the subscription (i.e. is it weekly, monthly or annual)
price
number
the price in cents (or equivalent) of the subscription
product
product
the product the subscription is associated with (please note I use 'newsletter' in place of product in my demo app as it is a substack-style marketplace)
seller account id
text
the unique ID of the seller's Stripe account
subscription status?
text
the status of the subscription
subscription id
text
the unique ID of the Stripe subscription
subscription start
date
the date on which the subscription started
subscription end
date
the end date of the subscription
cost
number
the total value of the transaction (in cents, or equivalent)
currency
text
the currency of the transaction (recommended to use a 3-digit ISO code to be consistent with Stripe requirements)
frequency
text
the frequency of the subscription (i.e. is it weekly, monthly or annual)
product
product
the product the subscription is associated with (please note I use 'newsletter' in place of product in my demo app as it is a substack-style marketplace)