A one-time fee is a payment made by a marketplace user to your marketplace business in exchange for a novel capability or service. Without payment, the user would not have the capability or receive the service. One-time fees let you monetize usage of your marketplace beyond earning a commission on purchases or bookings.
Offering one-time purchases requires determining what you are offering and configuring your marketplace to use this model of one-time-payments. You must set up a payment system supporting direct payments to your platform and integrate this system into your marketplace.
This article explains how charging a one-time fee works on Sharetribe.
How monetizing through a one-time fee works
Charging your users one-time fees in exchange for a right, service, or capability requires two distinct pieces to work together. The first piece is what the user purchases: these are the actual rights, permissions, or special services and the ability to exercise them. The second piece is how they purchase it. You need a payment system that enables your users to pay you the one-time payment. Together, these pieces combine to create an offering that you grant or fulfil in exchange for payment.
Determine what you will offer in exchange for a one-time fee first. You have countless options for what exactly you offer in exchange for payment. For example, you could monetize the right to publish a listing: only when a provider pays you is their listing published to the marketplace.
When considering what offerings you want to monetize via a one-time fee, factor in what user capabilities you can control in Console. Only certain marketplace capabilities of a user can be granted or revoked without coding in Sharetribe. The exact capabilities are described in the section below.
With the details of what you are offering established, you must determine how users will pay you for this offering. This will happen via a payment system. The payment system you choose should include a checkout through which users pay you. It should also let you set the price of your offering, establish the terms of the sale, and handle billing logic like issuing receipts.
Such a payment system must be set up externally and integrated into your marketplace. Sharetribe has a built-in payment system that enables customers to pay providers through your platform, but it will not be suitable for this use case because one-time payments work differently than payments on your marketplace. Whereas marketplace payments involve 3 parties (customer, provider, and platform), with the payment from a customer going to the provider through your platform, a one-time fee only involves a user purchasing directly from your business, with no intermediation.
Integrating your marketplace platform and the payment system together for a seamless user experience involves linking between the two systems and keeping the information between them in sync. Zapier can help keep these platforms in sync automatically, but you also have the option to manually keep the system on track.
What permissions can you grant to users in Console in exchange for a one-time fee
Sharetribe includes Access control features that enable you to control what functions a user can or cannot do on the marketplace. Permission to perform these core marketplace behaviors can be monetized via a one-time fee. In exchange for a one-time fee, a user gains rights that non-paying users do not have.
Below are all the marketplace capabilities that can be controlled from Console by the admin for each user or listing and examples of how you can monetize them via a one-time fee:
Joining the marketplace - any new user must be approved in order to create new listings or initiate transactions. You can require payment in order for a user to be able to join the marketplace.
Posting rights - a user cannot create a new listing without receiving permission from the admin. You can require payment in exchange for posting rights.
Listing viewing rights - a user cannot view listings without receiving permission from the admin. You can require payment in exchange for listing viewing rights.
Transaction rights - a user cannot start a new transaction without receiving permission from the admin. You can require payment in exchange for transaction rights.
Approve listings before publishing - a listing is not published (visible to other users) until it is approved. You can require payment in exchange for publishing the listing. Follow our guide to set up a listing fee to publish listings.
Your offering may include perks, services or features not available explicitly in Console. Your challenge with these would be to figure out how to provide them to users, which will depend on the exact offering itself. Moreover, you may use custom code to introduce additional functionalities and features for your subscribers.
How to set up a one-time fee on your marketplace
One-time fees are enabled through an interplay of your marketplace and an external payment system. The following sections introduce how to set up the marketplace and payment system and how to integrate them so that, together, they enable one-time fees. Each section links to more detailed resources that you can follow for step-by-step instructions and examples.
Configure Access control permissions in Console
If your offering includes certain marketplace capabilities that can be controlled in Console, you must first turn on Access control to these capabilities. Turning on an Access control feature enables you to grant or revoke a user’s permission to use the feature. In addition, you can require that new listings must be approved before they are published.
Access control features are turned on in Console > General > Access Control.
Individual user permissions are managed in Console > Manage > Users. Listings can be reviewed and approved in Console > Manage > Listings.
Configure the payment system for one-time fees
You need to set up a payment system for users to be able to pay your business. There are numerous systems available for such a use case, but we recommend using Stripe’s Checkout product. Their offering is robust. Moreover, because you may already be using Stripe Connect for payments in your marketplace, using Stripe Checkout lets you keep all billing information in one place.
In Stripe, you’ll set up your one-time fee offerings that will live on a Stripe-hosted page. Users can purchase through this page. You can then view their payments through the Stripe dashboard.
Integrate the two systems
The final set up piece is making your marketplace and payment system work together. There are two parts: linking to your checkout page and connecting your marketplace database to the payment system.
First, you must direct your users to the checkout page where they can pay the one-time fee. The checkout page will be external to your marketplace and hosted at a domain separate from your marketplace domain. You must direct users to that external page. You can do this by linking to the checkout page from your marketplace.
You have different options for where you present these links. If you are controlling access to a particular capability, such as the permission to post listings, you can configure a call-to-action button that leads to the checkout page. The button is presented on a page when users try to access the ability without having permission. You can also modify the information texts on this page using Marketplace texts.
Another option is to set up a content page describing your offering and linking to the checkout page from there. You could also introduce the offering in a newsletter or through more targeted messaging. Regardless of the communication medium, a direct link is an easy way to give users access to the checkout page.
Second, you must connect your marketplace database and payment system database so that your marketplace knows whenever a new payment occurs. You must connect them because your marketplace and payment system are separate systems that are not connected by default. When something happens in one system, the other system is not aware automatically.
You can handle this connection manually by updating your marketplace database yourself: whenever you notice a payment occurs, you grant the necessary permission to the user in Console.
You can also automate this connection using the Sharetribe-Zapier integration. Zapier can update your marketplace database as a result of a purchase event in the payment system. Specifically, Zapier can grant a user the same permissions automatically you’d otherwise need to manually grant through Console.
Custom code is another way to integrate your payment system and your marketplace. Using custom code opens up more thorough integration capabilities, such as hosting the checkout page on your marketplace website rather than hosting it with the payment system. It can also enable you to create, and monetize, capabilities or features beyond those described in this article.
Charge a listing fee to publish a listing on the marketplace
The capability to publish a listing is a common permission to monetize in marketplaces. In exchange for a fee, providers can publish their listing. Only published listings can be viewed and used by customers. Only by paying a one-time fee can providers have their listing published.
Monetizing the ability to publish a listing on your marketplace is done by using the approach outlined above. After deciding the offering (ability to publish a listing), set up the Access control configurations, then configure the payment system, and finally connect your marketplace and payment system.