Stripe Connect for Dokan

This is a story about Schooner Chandlery and the multivendor marketplace. As some people who follow us with Facebook already know, we’ve been working on a couple different online marketplaces and that has involved drilling down into the underlying software and making some changes, improvements, or add-ons to existing software. Both the Ruby on Rails platform we’re working with and the WordPress platform, Dokan by weDevs, were not compatible with the use of Stripe Connect for Marketplaces. The Ruby platform is in use in the free peer-to-peer marketplace Bootstrap Adventure that we’re operating and, well, no payment platform is enabled there. For our WordPress and WooCommerce based multivendor marketplace, we initially thought this was no big deal but as I dug deeper I could find no developer who had already written a WooCommerce compatible add-on for Stripe Connect for Marketplaces. None, nada, zip. Everywhere I looked there were people looking for the same thing but no one taking up the challenge. The few who were taking it up were, for some reason, not delivering. Some had taken it on up to a year before we started our search in the late fall yet there was nothing yet available.

That’s where, for me, having a business partner like David is helpful. We are sometimes yin and yang but always work well together. While I’m looking outward and externally for resources, he’s all DIY sitting in front of the computer learning about Stripe, it’s API, writing Stripe Apps as well as how to write a plugin or add-on for WordPress and WooCommerce. Sometimes I can purchase a solution for a technology issue faster than he can solve it, but in this case, no. So, the end result? Along with several other (tax and utility) plugins to support our marketplace, we (David) were able to put together this Stripe Connect plugin (for WooCommerce multivendor platforms including Dokan) and then we (Brenda) partnered with the folks at weDevs who optimized that plugin as an add-on for use with the Dokan code alone. The plugin is now available for Dokan on the weDevs site and we’re very happy that other Dokan multivendor marketplace owners will be able to benefit from our work, too.

Stripe Connect

So why is this important? Why is Stripe Connect a big deal for us?  This tool allows us to get money to our sellers as quickly as possible without Schooner Chandlery (us) being in the middle of their transaction.  Considering there may be multiple sellers and multiple countries involved in a given shopping cart, this is incredibly useful to us and our customers.  Stripe Connect keeps us out of the money flow and allows for us to take on international sellers and customers around the world rather than just in our home country of the United States. The folks at Stripe explain:

Accepting payments on behalf of your users by (a) using Stripe Connect or by (b) collecting the payments in one account and paying out your users via API are indeed both intended to make accepting payments in a marketplace easy. However, they’re very different models in terms of how your payees get set up, how much control you have over the payout schedules, who is responsible for refunds and disputes, and more.

(a) Stripe Connect is a way for multivendor platforms like ours at Schooner Chandlery to set up payments for their users without being directly involved in the flow of funds.

(b) Collecting funds into one Stripe account and transferring funds via the API is intended for Stripe users who are providing some service or product for the marketplace customers, but need to be able to pay out third parties like sellers, vendors, or service providers.  This method is appropriate when Schooner Chandlery has been asked to act on behalf a seller in the marketplace.

Flow of funds

(a) With Stripe Connect, Schooner Chandlery will send its sellers to Stripe in a co-branded flow that enables them to connect their own existing Stripe account or seamlessly create a new one. They’ll then be redirected back to the Schooner Chandlery site,  and we will automatically have access to their Stripe account. When collecting customer payments, we’ll redirect the payments to our sellers’ accounts via their respective API keys, and all transfers are automatically handled by Stripe.

With Stripe Connect for Marketplaces working, the marketplace owner will have full API access to charge the sellers a transaction fee on top of Stripe’s fees or refund payments, but the marketplace owner will never have to worry about being in the flow of funds or dealing with any extra accounting.  This means simpler and less costly administration of the entire marketplace and this is reflected in lower fees to sellers (and prices to customers).

(b) If a marketplace owner would like to pay out their sellers themselves, they will first collect all of the payments in their own Stripe account and their sellers would likely never know about Stripe: Sellers will submit their bank account details or a debit card number directly on the marketplace owner’s site, and the owner will have the ability to programmatically send sellers transfers to their bank account or a debit card via the API. This means the marketplace owner does have fine-grained control over what, when, and where they send money to and from their Stripe account. However, this also means that they’ll need to keep track of how much they owe each of their sellers and trigger payouts explicitly.

User Relationships

(a) With Stripe Connect, sellers have a Stripe account, so they’ll have a direct relationship with Stripe: Stripe will underwrite them, take care of sending them automatic transfers for the funds they’ve received, and, in the United States, handle issuing 1099 tax forms. Sellers will also have access to the full Stripe dashboard including reporting, analytics, and payment management functionality.

(b) Without Stripe Connect, there are additional accounting, PCI compliance, and tax reporting requirements.  Marketplace owners have full control over the relationship with their sellers. Marketplace owners will vet and collect bank account details or a debit card number from individuals or businesses they’d like to send money to, handle payout schedules and customer support, and be responsible for sending them 1099-MISC tax forms, if necessary.

Refunds, Disputes

(a) With Stripe Connect, the responsibility for refunds or disputes lies with the sellers and not with the platform (though, through the API, marketplace owners have the power to take refund and dispute actions on behalf of the seller). The sellers will have a direct relationship with their customers: their business name will appear on the credit card statements, and they’ll be ultimately responsible for refunds or disputes.

(b) If the marketplace owner is taking all of the payments into a single Stripe account, the marketplace owner will handle and is ultimately responsible for all refunds, disputes and customer support. The marketplace customers will be paying the marketplace owner directly, and the marketplace business name (e.g. in our case Schooner Chandlery Inc) would appear on customers’ credit card statements.

International

(a) With Stripe Connect, sellers in any one of the Stripe-supported countries can seamlessly set up Stripe accounts to accept funds. As Stripe continues to expand internationally, marketplace owners will instantly be able to accept payments for users in those countries as well.

(b) Paying users out with funds from the marketplace owner’s Stripe account is restricted to the country the marketplace owner is currently in (no cross border transfers). Sending transfers is US-only at the moment, and Stripe can only currently support paying out to U.S. Visa or MasterCard debit cards.

When we went through the a:b comparison, we decided that using Stripe Connect provided us with the best way to support quick transactions between buyer and seller and to enable low overhead (and low marketplace fees) overall.

Leave a Reply