6
6 Comments

Some little known advice for setting up Stripe Connect

I intend to write this as a longer form post, but I have a bunch of discoveries and pitfalls about Stripe Connect and wanted to share them here first.

Account Types

The most confusing part of Stripe are probably the charge and account types. You can do Standard, Express and Custom accounts. Do destination charges, direct charges, separate transfers. It's pretty mind-blowing.

My advice here is to spend some serious time on deciding which integration is best for you. It highly depends on your app and country. You should also try out the new recommendation feature, but don't trust it blindly.

In short:

  • Standard: The supplier has their own Stripe account, has full control over it and connects it to your app
  • Express: The supplier creates an exclusive Stripe account on the go when signing up
  • Custom: Full control over the onboarding, but you are responsible to keep regulations and KYC rules up. Stripe account is invisible

  • Direct Charges: Charge is owned by the connected account. They pay a commission to you (you pay taxes on your commission)
  • Destination Charges: Charge is owned by you. You pay a commission to the supplier (you might need to pay taxes on the whole charge)
  • Separate charges: Charges are independent. You charge customers and pay out unrelated amounts (e.g. profit sharing?)

Webhooks

If you offer an integration that allows Stripe accounts to have some control (Standard), you will also get all their webhooks, not only the ones from charges/subscriptions created by you.

If you run webhooks for your connected accounts (which today is almost a must), you need to verify that the IDs match with your own system. If not, they may be coming from another connected app.

Don't trust the international endpoint

Stripe Connect is continuously rolling out in new countries. To help you with onboarding, Stripe is even offering an API endpoint with available countries. But, beware! Available doesn't equal available.

India-based Connect accounts are not able to do cross-border transactions, for example. Mexico-based Stripe connect accounts can often not be connected without an extended security check.

If you are rolling out internationally, I'd always recommend to do so opt-in. Listen for updates from Stripe, enable the location locally, enroll people on it and see whether it works out!

  1. 1

    Is there really no way to know if a country works properly outside of testing it manually? I would think there would be a list somewhere or someway to know in the API what each country's connect capabilities are.

    1. 2

      You can check on an account-level which capabilities and functions are enabled. You're looking at things like "cross-border transfers" to make sure you can work with them.

      But yes, in many cases it's a thing of "getting your first prod error" 😅

      1. 1

        "You can check on an account-level which capabilities and functions are enabled"

        Hey sorry, can you elaborate? Do you mean set up a connect account in each country and then check for which capabilities and functions are enabled on each? If so where do I check for these capabilities? In the api or dashboard?

        1. 1

          Hey! We actually check this live with customers that connect with us. So right after someone connects their account, we ping this API.

          https://stripe.com/docs/api/accounts/object#account_object-capabilities

          You'd want to check that capabilities.card_payments and charges_enabled is true. This is not only country dependent, but also e.g. if they need to do additional ID verification.

          I think you also see this on your dashboard.

          1. 1

            very cool! didn't know about that end point

  2. 1

    Hey @dqmonn! thanks for posting... I'm trying to start a SaaS company and agree on some of the confusing part of Connect. I'm having trouble on some parts of using the Stripe API. Do you mind taking time to chat? I also posted a (lengthy) IH post in the Stripe group detailing some of my problems. You can see that at the link below.

    https://www.indiehackers.com/post/help-using-stripe-connect-for-customers-to-accept-direct-payments-1808f535c1

Trending on Indie Hackers
Passed $7k 💵 in a month with my boring directory of job boards 29 comments Reaching $100k MRR Organically in 12 months 29 comments 87.7% of entrepreneurs struggle with at least one mental health issue 14 comments How to Secure #1 on Product Hunt: DO’s and DON'Ts / Experience from PitchBob – AI Pitch Deck Generator & Founders Co-Pilot 11 comments Competing with a substitute? 📌 Here are 4 ad examples you can use [from TOP to BOTTOM of funnel] 10 comments Are you wondering how to gain subscribers to a founder's X account from scratch? 8 comments