stripe connect spree commerce integration

Stripe Connect integration with Spree Commerce allows you to launch an ecommerce platform in one of many business models: a SaaS platform, a ride-hailing service, a freelance services marketplace, a multi-vendor marketplace with split payments. These use cases differ significantly in account types and charge types being implemented. On the business side, they differ in integration effort and cost, vendor onboarding, payout settings, refunds, disputes, chargebacks consequences for your business. Here’s a quick rundown of the key decisions you need to make.

Not all Stripe Connect integration projects are exactly the same. Your business use case should help you decide how to integrate Stripe Connect.

But before we dive into it, let’s define some terms Stripe is using in their documentation:

  • Platform – that’s your website
  • Stripe – that’s their platform ūüėČ
  • User – the person with a Stripe account being paid for providing goods or services through your Platform
  • Connected account – a User’s account with Stripe (not with your Platform)
  • Account type – one of three types of connected accounts available for Users (Standard, Express, Custom)
  • Customer – end-customer making a payment on your website
  • Charge type – one of three types of payment charges made when a Customer makes a payment (direct, destination, or separate charges and transfers)

Stripe Connect has some pretty good documentation but here’s a TL;DR version for your convenience.

Stripe Connect user account types

Stripe Connect users (people or companies who sell stuff and get paid) to be able to use your Platform need to sign up for a Stripe Connect account.

There are three types of accounts and the type of account you choose for your user determines the integration type you need to build (from being Stripe-hosted to completely custom) and operational responsibilities such as chargebacks, user support:

  • Standard – suitable for one-to-one transactions between your users and their customers ie. Shopify, Freshbooks
    • a single customer makes a payment to a single user (no legal intermediary except for Stripe)
    • easiest integration
    • refunds, disputes, chargebacks owned by the user
    • safest for the Platform
    • very little control by the Platform over user onboarding and payments
  • Express – suitable for one-to-one transactions controlled by your Platform ie. Lyft or Thumbtack
    • a single customer makes a payment to your Platform and then to a single user (you are the legal intermediary)
    • mid-sized integration effort
    • refunds, disputes, chargebacks owned by your Platform
    • more control by the Platform over user onboarding and payments
  • Custom – suitable for one-to-many or many-to-many transactions ie. Amazon, Ebay, Bird
    • customer(s) make (a) payment(s) to your Platform and then to many users (you are the legal intermediary)
    • large integration effort
    • refunds, disputes, chargebacks owned by your Platform
    • most control by the Platform over user onboarding and payment splitting

Stripe Connect payment charge types

To simplify, each account type goes well with one of three payment charge types:

  • direct charges – goes well with Standard accounts:
    • Customers directly transact with your user, often unaware of your platform’s existence ie. Shopify
    • A single user (seller) is involved in each transaction
  • destination charges – goes well with Express or Custom accounts:
    • Customers transact with your platform for products or services provided by your user
    • A single user (seller) is involved in the transaction
  • separate charges and transfers – goes well with Express or Custom accounts if destination charges don’t quite cut it:
    • Multiple users (sellers) are involved in the transaction OR
    • A specific user (seller) isn’t known at the time of charge OR
    • Goods or services transfer can’t be made at the time of charge

Direct charges

Here’s an illustration of how direct charges work between the Platform (your website) and Connected¬† accounts (sellers):

Destination charges

Here’s an illustration of how destination charges work between the Platform (your website) and Connected¬† accounts (sellers):

Separate charges and transfers

Here’s an illustration of how separate charges and transfers work between the Platform (your website) and Connected¬† accounts (sellers):

 

 

 

 

 

This of course, is a TL;DR version of the story.

So tell us your business use case and we’ll tell you all about the accounts and charge types suitable for your business. Then let’s talk about the Stripe Connect integration.