Links
💸

In-App Purchases

Before reading this page, please make sure you've set up your RevenueCat account.

🧋 Bubble.io Plugin

[Element] Natively - Purchases

Events:
  • Purchase Success
  • Purchase Failed
  • Set Customer Success
  • Set Customer Failed
  • Purchase Cancelled
  • Customer ID Received
  • Get Price Success
  • Get Price Failed
  • Restore Purchase Success [iOS]
  • Restore Purchase Failed [iOS]
States:
  • Latest Transaction Id - Transaction Id after Purchase Package
  • Latest Customer Id - Customer Id after Set Customer ID or Purchase Package
  • Latest Error - Empty if no error
  • Latest GetPrice price - 9.99
  • Latest GetPrice price (Localized) - "$9.99" / "9.99 USD"
  • Latest GetPrice currency - "USD", "UAH", etc.
  • Latest PurchasePackage packageId
Actions:
  • Purchase Package - Initiate purchase of product or subscription
  • Set Customer ID - Link your user's id with RevenueCat customer
    • Customer Identifier - (We're recommending using a Current User's unique id to identify customers in the RevenueCat dashboard)
  • Reset Customer ID - Unlink Customer ID from a device
  • Get Package Price - Returns a price for specific product
  • Get Customer ID - Returns a current customer id
  • Restore Purchase [iOS] - Restores purchases (Handled by RevenueCat automatically)
​
How to use?
  1. 1.
    Make sure you've set up your Revenue Cat for your app
  2. 2.
    Add revenuecat_apiKey in plugin settings. To find API Key, go to RevenueCat App > API keys > Secret API keys.
  3. 3.
    Call Set Customer ID
  4. 4.
    Call Purchase Package action
​

How to verify User's subscription?

Make sure you've added revenuecat_apiKey in plugin settings. To find API Key, go to RevenueCat App > API keys > Secret API keys.
RevenueCat - Verify Subscription
  • Customer ID - Revenue cat user id that was used on RevenueCat Login.
A new customer will be created if the customer with such ID does not exist. More details here​
  • Entitlements ID - your entitlements id, more details here.
Returns a result as:
  • Product ID - text
  • Purchase Date - date
  • Grace Period Expires Date - date
  • Expiration Date - date
  • Is Active - yes / no (Expiration Date > Current Date)
  • Error - empty text if no error

Bubble Setup example:

  1. 1.
    On each User Login or first Signup you need to set the RevenueCat customer ID to your own user's unique id.
    ​
  2. 2.
    Purchase a subscription (package) with action
    ​
  3. 3.
    Verify user's subscription whenever you need it
    ​
  4. 4.
    If you have any issues and, for some reasons, purchases doesn't work. You can check Latest Error value from Natively Purchases element
    ​
  5. 5.
    You can also use RevenueCat API for your purpose (for example, validation of purchases)

🛠 JavaScript SDK

NativelyPurchases

1
const purchases = new NativelyPurchases();
2
const login_callback = function(resp) {
3
console.log(resp.status); // SUCCESS or FAILED
4
console.log(resp.customerId); // Customer Id
5
6
// Empty if no error (should contain an error if status === "FAILED"
7
console.log(resp.error);
8
};
9
​
10
// Link your user with the customer on RevenueCat
11
const userId = "sdfdsr-2345-3rsd-fsd3432";
12
purchases.login(userId, login_callback);
13
​
14
// Unlink your user with the customer on RevenueCat
15
const logout_callback = function(resp) {
16
console.log("Logged out");
17
}
18
purchases.logout(logout_callback);
19
​
20
// Get the current user's customer id (Useful in case you're not linking the user with the RevenueCat customer)
21
const customer_id_callback = function(resp) {
22
console.log(resp.customerId);
23
}
24
purchases.customerId(customer_id_callback);
25
​
26
// Make a purchase
27
const packageId = "$rc_monthly";
28
const purchases_package_callback = function(resp) {
29
console.log(resp.status);
30
console.log(resp.transactionId);
31
console.log(resp.error);
32
};
33
purchases.purchasePackage(packageId, purchases_package_callback);
​

How to verify subscription with JS?

You need to fetch a user from RevenueCat API and verify it's entitlements. More details can be found here.
​

Where to find Package ID?

You can find it in your RevenueCat App dashboard, more details here​

How to find Package ID
​
We recommend checking this guide if you plan to use a Stripe subscription through RevenueCat.
Create a request in API Connector (more details about the endpoint you can find here)
Where fetch_token & app_user_id is: