💳
Stripe Connect - Marketplace
  • Introduction
    • 👋Welcome
    • Key use cases
    • Key features
  • Getting Started
    • Activating Stripe Connect
    • Adding your icon and branding
    • Installing the plugin
    • Configuring API keys
  • Implementing Key Features
    • Onboarding merchants
    • Checkout Sessions & Payment Forms
    • Splitting one-off payments
      • Autofill customer details
    • Saving down details of a transaction
      • Expiring Checkout Sessions
    • Processing Refunds
      • Insufficient Merchant Account Balance
    • Give merchants access to Stripe Express dashboard
      • Set custom descriptions for charges
      • Allow merchants to set their own payout schedule
    • Splitting subscription payments
      • Allow customers to cancel subscriptions via the Stripe Billing Portal
      • Updating Subscriptions
      • Viewing and downloading invoices for subscription payments
    • Embedding Payment Forms in your app
    • Invoices
      • Creating invoices
      • 'On behalf of' parameter
    • Promotion Codes (Discounts)
    • Integrating Stripe Tax
      • Tax for marketplaces
      • Using a Stripe Webhook to transfer tax to the platform account
  • Common Payment Flows
    • Overview
    • Delayed Payments (escrow-like)
      • Retrieving information on a transfer
      • Canceling an Authorized Payment
    • Shopping Cart Payments with Multiple Sellers
    • Charge a customer using saved payment details
  • Deploying to live
    • Checklist
  • Useful Tips
    • Debugging errors
    • Support
Powered by GitBook
On this page
  • Video tutorial
  • Database Setup
  • Free trials
  1. Implementing Key Features

Splitting subscription payments

PreviousAllow merchants to set their own payout scheduleNextAllow customers to cancel subscriptions via the Stripe Billing Portal

Last updated 2 months ago

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:

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:

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