How to do pay suppliers anywhere as a marketplace (well, almost)

November 30, 2020

In order to build supply, it's not always attractive to keep your marketplace limited locally. Here's how you can get your payment system in order.

Payments have been a big part at MentorCruise since its initial release in 2018. There have been a few reasons that it has all been a little extra tricky.

Before we get into this, this is a more practical post than what you might be used to, but it’s also the biggest jewel I can offer. Coming up with this system has cost me a year and a few thousand $, so I hope this can help you at some point.

Let’s jump back into the good part, though.

First and foremost, I built MentorCruise before I had a registered business entity. That meant that some business accounts were inaccessible.

Then, I ran a business based out of Switzerland, so some US-only systems like Braintree at the time were out of reach.

Finally, I relied on being able to create a global experience. Right from the start, I had to figure out how to get money into countries like India, Nigeria and China.

Initially, I went with the global player PayPal here and their global Mass Payouts API. A decision that left me stranded at some point, sending out thousands of dollars to hundreds of suppliers by hand, as access to Mass Payouts got revoked outside of the US. I’ve decided to never work with PayPal again after this.

Nowadays, we are running a system that pays out north of $20,000 every month to suppliers worldwide, here’s how we do it.

Key coverage with Stripe Connect

Stripe Connect is the obvious choice for marketplaces with wide international coverage. With Stripe Connect, suppliers are able to connect their own Stripe accounts or create a new one on the fly.

On your side, you are able to just use the regular Stripe API, create charges in their name or take commissions.

However, things aren’t as easy as it sounds, and there are a lot of things to look out for.

First of all, there are three ways to connect accounts to your platform.

With Standard accounts, your suppliers will have fully fledged Stripe accounts connected to your platform. Customers will see your supplier’s name on their credit card statement and they are in charge of refunding payments and even the customer data. All disputes, fraudulent charges fall back on them directly. Stripe takes care of collecting data and documents. This is great for direct P2P marketplaces like Etsy.

Express accounts are “lite” versions of the full account. Most likely, you will create a new Stripe account on the fly and they will have a minimal dashboard to see income and manage payouts on Stripe directly. If anything goes wrong, it’s your duty to iron it out. This is great if your business is the shop front that people interact with, like with Uber.

Then, there are custom accounts. To be honest, I don’t know much about them other than they are “invisible” Stripe accounts. You need to collect documents, ask for banking information yourself, Stripe just takes care of the money flow.

Something to keep in mind: Standard accounts are free, for Express and Custom accounts you pay a flat fee per account.

And of course: Stripe is not available globally. Even if they are available, they may not work with your platform. For example, Stripe accounts in India will initially be able to be added to your platform, but won’t be able to pay you a commission if your platform is based elsewhere.

Hard lessons to be learned!

Expand coverage on new banking infrastructure

So, how do I send thousands of dollars every month into countries like Nigeria and China? My secret weapon is TransferWise (this is a referral link, btw).

Here’s how it works:

On signup, I give users the choice: Stripe or Bank Transfer. I list the facts – Stripe is much cheaper and instant, while we process bank transfers once per month.

For people choosing the bank transfer option, I redirect them to a bank info collection form. This alone is a piece of science and unless you want to figure out the interesting banking requirements of Sweden, I suggest you use a pre-built option here. All these suppliers now have their banking information saved on my TransferWise account.

For these users, I collect payments directly on my Stripe platform account. I record internally how much each mentor/supplier is owed. Once per month, I send all transactions to TransferWise and ask them to send it around the world.

Now, this is not a perfect solution either, but it’s damn close. Namely, these are the issues with this path:

  • A bank transfer can cost anywhere from $0.50 to $8, depending on where you are sending it to. It may not pay off for some transaction sizes.
  • Even TransferWise does not cover the whole globe and about a dozen countries (incl. Brazil and Turkey) won’t be able to get paid through this path
  • Taxes! While a split transaction on Stripe doesn’t even hit your account, some tax offices might look at those transactions you are receiving as net revenue. Connect with a tax advisor here, if it makes sense.

This may sound simple, but came out of a lot of mistakes and costly lessons. This is a system that works at scale, I hope it could save you some time with it.