Skip to main content
All CollectionsMonetization
How to charge a subscription fee for user rights
How to charge a subscription fee for user rights

Step-by-step guide to implementing a recurring subscription fee for the rights to view or post listing or start transactions.

Katri Antikainen avatar
Written by Katri Antikainen
Updated over a week ago

Access to certain action in a marketplace can be paywalled and monetized. If you restrict typical marketplace capabilities to only certain users, you can charge a fee for access to these capabilities. In addition to a membership fee for access to your platform, you can charge users for these permissions:

In exchange for a recurring fee, a user gains the access to do some or all of these actions.

You can set up a subscription fee without coding on your Sharetribe marketplace. It requires configuring permissions in your access control settings, setting up a subscription payment system, and integrating your marketplace and the payment system together with Zapier.

This guide walks you through how to charge a subscription fee for user permissions without coding on Sharetribe.

1. Create a payment page to pay the subscription fee

First, you will need to set up a system for users to pay you the recurring subscription fee. There are many subscription payment systems you can use, but we recommend using Stripe. Sharetribe's Help center guides use Stripe.

Sharetribe has a built-in payment system that enables customers to pay providers through your platform, but a subscription fee works differently, requiring payments between users and your platform directly.

2. Restrict user rights

Enable the “Restrict [user right]” feature/s of your choice in Console > General > Access Control. There are three user permissions:

The access control features listed above in Console.

Restricting some or all of these rights means that if a user tries to take these actions, they’ll be prevented from doing so if they haven’t gotten permission from a marketplace admin.

3. Link your marketplace and payment system

Once you have a subscription payment page and you’ve enabled the access control settings you need, you need to communicate to your users how they can get the user rights. Provide guidance in a couple of places:

  • In access control settings, include a CTA button to direct users to the necessary steps or instructions to get the restricted user permission. Learn how to add a call to action. If you're linking to a Stripe payment page, follow the CTA link URL with the User_ID and Email Address dynamic parameters to the URL: ?client_reference_id={userId}&prefilled_email={userEmail}. This will be crucial later on, if you plan to automate granting permission through Zapier. Learn how to use dynamic parameters.

  • You can also modify the default message that’s shown when a user tries to access a paywalled action. You can do this through the marketplace text editor. The text keys you’ll need to edit are:

    • Restrict rights to view listings: Search for NoAccessPage.viewListings in the editor.

    • Restrict posting rights: Search for NoAccessPage.initiateTransactions in the editor.

    • Restrict transaction rights: Search for NoAccessPage.postListings in the editor.

4. Grant (and revoke) the user permission or permissions they paid for

The final step is to grant the user the access control permission(s) they purchased with a subscription.

You can manually grant permissions. After receiving and reviewing the payment in Stripe, you can go to Console and grant the appropriate permissions in Console > Manage > Users. Users gain access to paywalled actions once they receive the right in Console.

You can also automate the granting of permissions using Zapier. We have a Zapier tutorial for automating user approval when a membership fee is paid. This tutorial is for the “Approve user” action in Zapier, but you can follow the tutorial and simply substitute the action “Approve user” with “Update permissions” in Zapier. Otherwise, the steps are the same!

When a user cancels their subscription, you may want to revoke their permissions. again, you can manually revoke permissions in Console > Manage > Users.

Did this answer your question?