Skip to main content
All CollectionsMonetization
How to charge a listing fee
How to charge a listing fee

Step by step guide to implement a one-time fee for the ability to publish a listing to your marketplace without coding

Sharetribe avatar
Written by Sharetribe
Updated this week

The ability to publish a listing is a core value marketplaces offer to their users. Without a published listing, a provider cannot make their profile, products, or services available to customers. This is value that can be monetized by requiring a listing fee to publish listings.
โ€‹

You can set up a listing fee without coding on your Sharetribe marketplace. It requires configuring your Access control permissions, setting up a payment system for one-time fees, and integrating your marketplace and the payment system together.

This guide walks you through how to charge a listing fee without coding on Sharetribe.

1. Create a payment page to pay the listing fee via Stripe

First, you will need to create a payment page where users can pay the listing fee. There are many payment systems you could use. We recommend using Stripe Checkout and use this system in our guides and tutorials.

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 listing fee payments work differently than payments on your marketplace. Whereas marketplace payments involve 3 parties, 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.

2. Enable listing approval

You need to enable the listing approval feature in Console > General > Access Control.

Turning on Listing approval means that all new listings must be approved before they are published. When a new listing is created, a provider is informed that their listing is pending approval when viewing their listing.

3. Link your marketplace and payment system

Once you have set up the payment page and enabled listing approval, you need to communicate to your users what actions they need to take to get their listings approved on the marketplace. You should provide guidance in a couple of places:

  • When enabling listing approval, you can include a CTA button to direct users to the necessary steps or instructions for the listing to be approved. Learn how to add a call to action. In the CTA link URL, you should add the Listing_ID and Email Address dynamic parameters: ?client_reference_id={listingId}&prefilled_email={userEmail}. This will be crucial later on, if you plan to automate listing approval process using Zapier. Learn how to use dynamic parameters.โ€‹

Note: This step is essential if you plan to automate the listing approval action after the listing fee is paid. Make sure to implement the correct dynamic parameters in your call to action. Learn more about using dynamic parameters.

  • You can also modify the default message shown on a listing that is pending approval. You can do this through the Marketplace Texts feature. The specific text key you need to edit is:

    "ListingPage.ownListingPendingApproval": "This listing is pending approval.",

4. Approve and publish the listing

The final step is to approve the listing and publish it once a provider has paid the listing fee.

You can manually approve listings after the listing fee is paid. After receiving and reviewing the payment in Stripe, you would go to Console and approve the paid-for listing. Listings can be reviewed and approved in Console > Manage > Listings. A listing is published when you approve it.

You can also automate the approval and publishing of listings using Zapier. Through Zapier, your marketplace can be informed and updated when a listing fee payment occurs and approve the paid-for listing automatically.

More information on monetizing your marketplace

A listing fee is only a single example of the capabilities and value you can monetize. You can find more ideas on how to monetize your marketplace in the following articles:

Did this answer your question?