In this article, you'll learn how to set up Stripe in your marketplace to allow online payments between your customers and your providers, and to collect a commission from each transaction.
Test environment: setup is already done!
In your Test environment, you can try out payments in your marketplace in a test mode. This means that instead of using your real bank account and credit card information, you can use test information provided by Stripe. There's a button in your test marketplace to insert these details automatically when you're adding your payout details as a provider or your credit card as a customer.
Your Test environment is already connected to a test Stripe account provided by Sharetribe. You don't need to set up your own Stripe account in your Test environment.
There are two scenarios where you still might want to connect your own Stripe account to your Test environment:
If you're customizing your marketplace with code.
If you want to see how connected accounts look like in your own Stripe dashboard before going live.
If you want to change the Stripe keys in your Test marketplace and you have user accounts with Stripe account IDs, you need to contact Sharetribe support to change your keys.
To check if your user accounts have Stripe connected, you need to go to Console -> Manage users, open each user to see if they have a Stripe account ID in place.
Connecting your own Stripe account to your own Test environment works otherwise just like connecting it to your Live environment (see instructions below), but you should use Stripe's Test API keys instead of Live API keys.
Live environment setup
In your Live environment, you need to connect your own Stripe account if you want to process online payments and earn a commission from each transaction. The instructions below walk you through creating a Stripe account, configuring the appropriate settings in your new Stripe account (Stripe has a bunch of tools and your marketplace uses a specific one called Stripe Connect with Custom accounts), and adding your API keys to your Live environment.
1. Create and confirm your free Stripe account
Creating a Stripe account is free, and you can delete it anytime. If you already have a Stripe account (for another project), it's better to create a new one to avoid any interference.
Fill in the required fields, then create your Stripe account
Go to your inbox to verify your email address. Check your email inbox and look for a confirmation email sent from Stripe (by notifications@stripe.com) named “Verify your email address.”
Click the confirmation link in this email and log in with your credentials.
Your Stripe account is now confirmed! Let’s proceed.
2. Activate payments on your account
As you will receive money from your users via your Stripe account, you have to complete your business profile by providing information such as your business type, industry, address, web URL and your bank account. This data is secured by Stripe and won't be shared with anyone. This process is called “Activating” your account. Click on "Start" on the page to fill in your business profile.
Complete all the fields according to the instructions and set Your website to your marketplace custom domain when asked.
It's OK to activate your account as an individual, you don't need a company ID. For example, in the US, it's okay to use your personal name and SSN in place of an EIN. You can read more about signing up without a tax ID or employer ID number from Stripe here.
The fields in the form vary based on the Business Location, so select that first!
Once completed, click "Agree and submit."
3. Go through the Connect setup
Sharetribe uses the Stripe Connect features with Custom Accounts. These enable your sellers to process payments through your marketplace and let you earn a commission on these sales. These next steps describe how to set up Stripe Connect.
This step is important. Without it, providers will not be able to receive money, and buyers will not be able to start any transaction.
Fill in your platform profile
Click more+ in the sidebar → Connect.
Select "Buyers will purchase from you" and click "Continue."
Click "review", acknowledge and review your platform responsibilities, and click on "Continue".
Continue with the rest of the Funds Flow setup by selecting the industry that best matches your business and answering a couple of questions about the type of services or products sold on your marketplace and their value. Then, proceed with the Account creation step.
Select "Onboarding hosted by Stripe" and click on "Continue".
Select "Build your own with our API" and continue.
Acknowledge and review Ongoing seller compliance, and click on "Continue". Then, review all of your setups, and once you're ready, click on "Continue". And Voilà, your platform profile should now be complete!
Add your branding
On the "Set up Connect" page, click on "Get Started" next to "Add your branding". On the Onboarding Interface page, click on "Customise" to start customizing the onboarding interface with your marketplace's branding, logo and colors. These branding configurations will be displayed on the Connect Onboarding process hosted by Stripe.
Enable the "Show support number" toggle, and then click on "Save". And Voilà, the Stripe onboarding page will have your marketplace's branding!
Verify an identity document
On the "Set up Connect" page, click on "Get Started" next to "Verify an identity document." In this step, Stripe will ask you to provide a valid ID document to verify your identity.
Review and finish
Once you have filled in your platform profile, added your branding, and verified with an identity document, you can finish the Connect setup; click on "Get Started" next to "Review and finish." Then, click on "Continue" once you have confirmed all of your configurations.
4. Enable bank account information collection
After enabling Stripe Connect, you should see your Connect dashboard on the left sidebar. Let’s finalize the Connect setup now.
From the top bar, go to Settings (the gear icon), and then go to Connect.
Now, you're on the Connect settings page.
On the Connect settings page, click on "Payouts". On the Payouts page, External accounts tab:
Select Yes for "Require a bank account?"
Select No for "Allow debit cards?"
Enable the toggle for "Collect external account information".
This is important, as otherwise providers won't be able to connect their bank account details on where to receive money for their transactions.
5. Get your API keys from Stripe and add them to your Console
API keys are some text strings that link your Sharetribe marketplace with your Stripe account, so you can manage payments in your marketplace.
Custom-coded marketplaces follow different steps to set up their Live environment with Stripe. Please follow the steps in our technical documentation to configure and deploy your custom marketplace.
First, get your API keys from Stripe.
Click "Developers" → "API Keys" in the top bar menu.
Make sure that you are not using test data. If this is the case, switch the View test data toggle. Test API keys will not work in your Sharetribe marketplace.
Copy the value from the Publishable key row from the Token column. It should look like pk_live_somelongrandomvaluelikeVqFze9etc
Paste that value in Console at Integrations>Payments>Stripe publishable key. Save changes.
Go back to your Stripe account, in the API tab and click the Reveal live key token button.
A new window will pop up with the Secret key.
Copy the value of the Secret key. It should look like sk_live_somelongrandomvaluelike0Rx3jvetc - Note that you won't be able to see the key again after this. Make sure you copy it and save it somewhere safe and private.
Past that value in Console at Integrations>Payments>Stripe secret key. Save changes.
That's it! You have now connected your Stripe account and are ready to receive payments in your marketplace!