Splitting subscription payments

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.

Video tutorial

The below video tutorial demonstrates how to split a one-off payment (relevant section is from 12:42 to 20:14):

Database Setup

You can see an example of a database setup for a subscription marketplace in the below demo app:

https://bubble.io/page?name=index&id=stripeconnectmarketplace&tab=tabs-3&subtab=Data+Types&type_id=subscription

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:

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

and another data type called 'plan' (or something similar) with the following fields:

Name
Type
Description

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)

Free trials

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:

Last updated