> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://documentation.celestory.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 💳 Monetize your app

To monetize your app, there are 3 non-exclusive options:

**The demo:** the app is free up to a certain point (X% of the experience)

**Paid app:** the app is not accessible unless you pay

**In-app purchases:** elements within the app are paid for, either directly or via a virtual currency.

**Subscription:** most of the app is only accessible for a monthly or yearly subscription

We will see how to link monetization to variables, using a database to synchronize them.

We take here the example of the subscription, the approach is the same for the other monetizations.

1. [🔌 Create your relational database (Airtable)](/en/article/create-your-relational-database-airtable-losz0u/)
Fill in the database a test profile in the 1st columns: Email (type field *email* ), First name (type field *texte*)
and Subscription (type field *checkbox*) . The default Email field which will be used to recognize the user.

Ex: hubert@gmail.com , Hubert, 🔳

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1l2hphd.png)

2. Create an account [Stripe Payment Link](https://stripe.com/en-fr/payments/payment-links)

Click on Create Payment Link. This will allow you to generate a monetization link.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_exjwvu.png)

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_vq9o7n.png)

Determine if the payment is Punctual or Recurring.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_62tbab.png)

You can customize your payment page to your colors and give details about the purchase.

3. Get your Stripe API secret key
This will allow Striper to communicate with 

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_hbgcin.png)

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_to7x19.png)

4. Create an Integromat account
There are alternatives: Zapier, Automate.io..._

Go to Scenarios

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1552ymy.png)

Right click and click on Add a module:

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_odniln.png)

Choose Stripe

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_ir4d00.png)

Click on Watch Events

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_92y80h.png)

Click on Webhook/Add and again click on Add a connection. Fill in the name of the connection
and paste the Stripe secret key.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_x3410p.png)

Choose in the Group menu that of Customer and check Customer created.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1udjz92.png)

In Stripe, in the Developers/Webhooks menu, you will see that this one is added automatically:_
![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_cmysnr.png)

Extend the point to the right of the Stripe record to and select Airtable.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1m6wj85.png)

Then click on Search records.
We are looking here to make recognize the email that the buyer will enter at the time of payment and the one he will have
filled in your Airtable database when connecting to the application.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_tvfn1j.png)

Choose on Airtable your Database, then your Table (your leaflet).

Then indicate in the formula: {Email}='X' replacing X by the suggested element of Stripe: **6. Object: Email**.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_3g8azk.png)

Add a new Airtable point this time for **Update a Record**.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_10ck1m5.png)

In Record, put the suggested element of the previous Airtable block: ID
Indeed this Airtable module has previously matched the Stripe email with the one in your database. It knows now
which line of the database to update.
![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_abyg1y.png)

Now you just have to change the field you want to change. For example here we change 
the Subscription from No to Yes.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1vqmood.png)

To change a virtual currency, one would have to use the [Integromat mathematical formulas](https://support.integromat.com/hc/en-us/articles/360005688334-Math-Functions) to add X to a numerical variable.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1s3xy77.png)

4. Create your payment link in Stripe
Go to Stripe, Products and click on Create Payment Link

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1qf1pw1.png)

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_3a8q7q.png)

When you go to your link, you will see that it is now activated. It is also mobile compatible.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_114t7h3.png)

5. Test your monetization by creating a test client
Go to Clients and Add test client

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1pxsd5y.png)

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1s0ttj.png)

Back on Airtable, you see that Hubert, by being created by Stripe (an operation that the real purchase will do automatically), is indicated as an active customer in your database.
the real purchase), is indicated as an active customer in your database.
![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_nx6i52.png)

6. Integrate the payment link on Celestory
If you want to place it in your graph, create a Link block (for example after a Choice block) and paste the Payment Link in it.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_fs9pdw.png)

If you want to place it in your menu, create a Menu Item (see [📑 Create a menu and its pages](/en/article/create-a-menu-and-its-pages-goy6ym/) Web Link.

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_1wtqkqu.png)

![](https://storage.crisp.chat/users/helpdesk/website/d46a92e92b2b3800/image_emttk1.png)