# 💎 Monetize your membership app using Payhere + Make (Updated 2024)

**URL:** <https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646>\
**Category:** Community Resources\
**Tags:** tutorial\
**Created:** [May 11, 2021, 6:08pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646 "2021-05-11T18:08:18Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![Hani\_Ibrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/hani_ibrahim/32/42108_2.png) [@Hani\_Ibrahim](https://community.glideapps.com/u/Hani_Ibrahim)\
**Post date:** [May 21, 2022, 4:43am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/42 "2022-05-21T04:43:57Z")

</div>

I want to sell the app per user. The client will buy one or two pr 50 users licence to use it.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 21, 2022, 5:43am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/43 "2022-05-21T05:43:39Z")

</div>

Gotcha…monthly or one time license?

---

<div class="post-metadata">

**Author:** ![Hani\_Ibrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/hani_ibrahim/32/42108_2.png) [@Hani\_Ibrahim](https://community.glideapps.com/u/Hani_Ibrahim)\
**Post date:** [May 21, 2022, 11:18am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/44 "2022-05-21T11:18:56Z")

</div>

Monthly and yearly. Thank you

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 21, 2022, 11:45am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/45 "2022-05-21T11:45:01Z")

</div>

You’ll need to use a donation style payment link and populate the quantity dynamically from within the Glide app.

I don’t have the means to show you at the moment…give me a few days and I’ll create a tutorial.

---

<div class="post-metadata">

**Author:** ![Hani\_Ibrahim](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/hani_ibrahim/32/42108_2.png) [@Hani\_Ibrahim](https://community.glideapps.com/u/Hani_Ibrahim)\
**Post date:** [May 21, 2022, 12:18pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/46 "2022-05-21T12:18:41Z")

</div>

Really thank you @Robert_Petitto i am waiting for your video. Kindly, if you can include the follows:

I have different page projects i call it “Module” connected to a central data, but the client should choose which module he should subscribe to it and how many users are required.

Some modules cant be sold individually but the client should buy one or more assisted modules to allow the selected module to function properly.

The payment has a first year amount and then different amount paid in two different plans monthly or yearly.

If you buy 50 users for example, then the paid amount will be different.

Something similar to the [Odoo Payment Plan](https://www.odoo.com/pricing#pl=74&version_id=33&num_users=1&num_iot_boxes=1&hosting=online&odoosh_workers=1&odoosh_storage=1&odoosh_staging=1&implementation_service=self&pack=25&force_country=EG&integrating_partner_id=0&price_by=yearly)

Really, thank you for your efforts and supportive video tutorials.

---

<div class="post-metadata">

**Author:** ![Michael\_Weiss](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/michael_weiss/32/35265_2.png) [@Michael\_Weiss](https://community.glideapps.com/u/Michael_Weiss)\
**Post date:** [June 13, 2022, 1:01am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/47 "2022-06-13T01:01:05Z")

</div>

Hi Robert! Great tutorial. I can’t wait for your next video on this topic for further details and scenarios.  
Could you please explain how you setup/manage multiple links in the user profile sheet with multiple buttons to address a monthly subscription and a yearly subscription? I’m still new to Glide and this is my first time with Integromat and Payhere. Thanks for your help.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 13, 2022, 2:14am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/48 "2022-06-13T02:14:14Z")

</div>

> [@Michael\_Weiss](#):
>
> Could you please explain how you setup/manage multiple links in the user profile sheet with multiple buttons to address a monthly subscription and a yearly subscription?

Do you allow users to change their subscription type mid-way?

---

<div class="post-metadata">

**Author:** ![Michael\_Weiss](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/michael_weiss/32/35265_2.png) [@Michael\_Weiss](https://community.glideapps.com/u/Michael_Weiss)\
**Post date:** [June 13, 2022, 2:15am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/49 "2022-06-13T02:15:58Z")

</div>

No, once they paid, there is no refund or mid-way cancellation, nor change of plan.

---

<div class="post-metadata">

**Author:** ![Tiffany\_Edwards](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tiffany_edwards/32/19682_2.png) [@Tiffany\_Edwards](https://community.glideapps.com/u/Tiffany_Edwards)\
**Post date:** [June 26, 2022, 2:54pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/50 "2022-06-26T14:54:26Z")

</div>

Hello Robert,

I am having difficult finding the subscription name in Webhooks.

In payhere, I created a payment link with a specific name. I would like to carry that name to Google Sheets; however, I do not know what that name is in Webhooks. I have tried plan name, plan slug, and membership plan. All without success. Do you have any suggestions?

Tiffany

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [June 26, 2022, 3:25pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/51 "2022-06-26T15:25:03Z")

</div>

It should be Plan Name.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 27, 2022, 12:36am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/52 "2022-06-27T00:36:37Z")

</div>

Yes, it should be under the plan section.

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/c/6c2b6ef814a59f04be3fbfd52306fc16ae4b3d0f.png)

---

<div class="post-metadata">

**Author:** ![Tiffany\_Edwards](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tiffany_edwards/32/19682_2.png) [@Tiffany\_Edwards](https://community.glideapps.com/u/Tiffany_Edwards)\
**Post date:** [June 28, 2022, 10:13pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/53 "2022-06-28T22:13:16Z")

</div>

Yes, I found it, Thanks!

---

<div class="post-metadata">

**Author:** ![Tiffany\_Edwards](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tiffany_edwards/32/19682_2.png) [@Tiffany\_Edwards](https://community.glideapps.com/u/Tiffany_Edwards)\
**Post date:** [June 28, 2022, 10:20pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/54 "2022-06-28T22:20:23Z")

</div>

Hello Anyone who can help,

I have several subscriptions plan and payment links. I have noticed that as my current scenario runs, a user can sign up for one plan and then upgrade to another plan, no problem in the app. However in Payhere, the person has both subscriptions, as active instead of the old subscription cancelled and the new subscription active. Besides asking the users to cancel their previous subscriptions before upgrading to the next subscription, how would I prevent double paying (for the old subscription and for the new subscription). Is there a fix in Payhere?

Am I being clear?

Sincerely,

Tiffany

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [June 29, 2022, 1:55am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/55 "2022-06-29T01:55:37Z")

</div>

Yes, this is why I’ve started using a donation link type when offering multiple tiers. I plan on making a how-to video in the next couple weeks or so.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [June 29, 2022, 4:03am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/56 "2022-06-29T04:03:35Z")

</div>

If you use Make in your flow and have the previous subscription ID and subscription type recorded, you can do this:

- When users make a new purchase, check if the subscription type is the same as the current type recorded in the database (db).

- If yes, then just update the latest payment date to the db.

- If no, then first cancel the old subscription using the stored ID, then write the new subscription’s ID and type to the db.

---

<div class="post-metadata">

**Author:** ![Tiffany\_Edwards](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tiffany_edwards/32/19682_2.png) [@Tiffany\_Edwards](https://community.glideapps.com/u/Tiffany_Edwards)\
**Post date:** [June 30, 2022, 10:38pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/57 "2022-06-30T22:38:53Z")

</div>

Hello ThinhDinh,

In lieu of waiting for Robert’s video, do you have any step by step instructions for Make to make this happen? Would I use another google sheets module? Would the google sheets search for a specific row with the subscription ID and subscription type after updating the row? Where would I begin?

Any help that you can provide, would be great!

Tiffany

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [July 1, 2022, 1:05am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/58 "2022-07-01T01:05:28Z")

</div>

I would first either have columns in the user profiles sheet to store the subscription ID and subscription type, or if you have a separate table to store subscription info, add those two columns there.

Assuming you are using Google Sheets, the flow would look like this for a new payment:

- Webhook (to catch the new info from PayHere)

- Google Sheets search module: Search in the Sheet where you store the subscription info, with the client email from PayHere (assuming you’re having client email as a field).

- Router.

- If the search does not return a result, add a new row for the new subscription.

- If the search returns a result and the PayHere subscription type is the same as the Sheet’s subscription type, just update the latest payment date to the row.

- If the search returns a result and the PayHere subscription type is different from the Sheet’s subscription type, then add a HTTP module to cancel the old subscription using the stored subscription ID, then update the new subscription info from PayHere to the same row.

> **[DELETE /api/v1/subscriptions/:id · Developers](https://developers.payhere.co/docs/api-subscription-destroy)**
>
> Cancel a subscription immediately so there are no further payments, subscription will remain active until period end.

---

<div class="post-metadata">

**Author:** ![Tiffany\_Edwards](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tiffany_edwards/32/19682_2.png) [@Tiffany\_Edwards](https://community.glideapps.com/u/Tiffany_Edwards)\
**Post date:** [July 1, 2022, 4:39am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/59 "2022-07-01T04:39:47Z")

</div>

Hello ThinhDinh,

Thank you so much for your reply!!!

Please bear with me.

Steps 1 though 3, appears consistent with Robert’s video except, I needed to add Google sheets columns for the subscription Id and subscription type and link them to the red printed payhere information

Step 4 appears consistent with Robert’s video

For Step 5: I update the filter in my Make scenario as Robert created: Google sheets Email Equal case insensitive to Payhere customer email AND added the condition Google Sheets Subscription type equals to Payhere subscription type  
The payment date is added.

See link: [Screenshot 2022-06-30 (1) - Google Drive](https://drive.google.com/file/d/137VU4gwvBOvwznQgkg53HeMr5nYqMdX9/view?usp=sharing)

Step 6, the last step eludes me.  
I created another Google sheets module with the filter Google sheets Email Equal case insensitive to Payhere customer email AND added the condition Google Sheets Subscription type Not equals to Payhere subscription type

See link: [Screenshot 2022-06-30 (2) - Google Drive](https://drive.google.com/file/d/1uijjOuP26HroOakkB_mxWUMwNVFP2n0j/view?usp=sharing)

I attempted to add a HTTP module. However this is a complicated process for me. There are several options of HTTP modules. Which one do I pick?

I am not clear about the DELETE…url. Is that the url that I would insert into the HTTP module? I assume that I add the subscription id to the DELETE…url. How do I add the subscription id to the HTTP module?

See link: [Screenshot 2022-06-30 (3) - Google Drive](https://drive.google.com/file/d/1NrudHLnIcogJKeq-BH9VzOwz2wtiseLP/view?usp=sharing)

Additionally is the information in [developer.payhere.co](http://developer.payhere.co) in another language?

Sincerely,

Tiffany

---

<div class="post-metadata">

**Author:** ![apaschea](https://avatars.discourse-cdn.com/v4/letter/a/ecc23a/32.png) [@apaschea](https://community.glideapps.com/u/apaschea)\
**Post date:** [July 5, 2022, 6:17am UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/60 "2022-07-05T06:17:17Z")

</div>

Hello folks,  
At that point in the building process where I am going to build out the pay now button and the logic behind it. Spent the night browsing different posts and wondering if have the overall general idea:

-Currently Payhere is needed over regular stripe links because stripe links can’t be embedded in glide.  
-Previously, we would use to have to use google sheets instead of glide tables, but now with the API ability, I can use glide tables and just use Make to initiate and make all the connections

My questions:  
-Can I create dynamic links with Payhere? Robert mentioned above that it is possible. I have installation costs by area. Pretty straight forward. But they can also buy a small accessory with each installation. So would it take in both “items” and create a link, or do I have to manually create a link for each area, then make a second set of links for the installation + the accessory (there is only 1 accessory so this wouldn’t be so bad. But I’m thinking this could be tedious if they want 2x installations or something of that nature). Am I thinking of the dynamic links the right way(ability to add products and make a link depending on what gets sent int)?

-Is this logic correct? - People fill out a custom form. That gets written into a temporary form. That gets sent over to stripe. Only after we get an answer from stripe, the payment info and those temporary fields get written into a new row in my installations sheet.

thanks in advance

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [July 5, 2022, 12:04pm UTC](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646/61 "2022-07-05T12:04:15Z")

</div>

Correct.

You can even pass hidden values (like items purchased or a glide generated RowID) during payment in order to track what was purchased.

I’ll do my best to create this video sometime this week.

Bob

[Previous page](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646.md?page=2)

[Next page](https://community.glideapps.com/t/monetize-your-membership-app-using-payhere-make-updated-2024/26646.md?page=4)
