SDK

In-app purchases and subscriptions for Cordova apps

To add in-app subscriptions to a Cordova app on RevenueDot, keep cordova-plugin-purchases and call Purchases.setProxyURL("https://api.revenuedot.app") before Purchases.configureWith. The plugin has no option to turn off signature checks, so the native SDKs log a failed verification for every response, but access is still granted.

Free up to $10,000 a month in tracked revenue. Works with the RevenueCat SDK you already ship.

One call

Purchases.setProxyURL before configureWith is the whole code change.

Honest limit

You cannot turn off the signature log from JavaScript in the stock plugin.

Access still works

The native default mode is informational, so entitlements are granted.

Plugin id stays

The planned fork keeps cordova-plugin-purchases and the global Purchases.

Steps

How to add subscriptions to a Cordova app with RevenueDot

  1. 01

    Create a free Cloud project

    Start free on Cloud and add an App Store app and a Google Play app, or a Test Store app for a first run.

  2. 02

    Connect the stores and create the catalog

    Add credentials (App Store, Google Play), then products, a pro entitlement and a current offering.

  3. 03

    Call setProxyURL on deviceready

    Inside the deviceready handler, call Purchases.setProxyURL(...) before Purchases.configureWith.

  4. 04

    Buy and check the entitlement

    Call Purchases.purchasePackage with callbacks and read customerInfo.entitlements.active["pro"].

  5. 05

    Test with a Test Store key

    Use a test_ key in a debug build to buy with no store account.

JavaScript

The Cordova proxy URL change

device.platform comes from cordova-plugin-device. setProxyURL returns nothing.

Point the plugin at RevenueDotJavaScript
document.addEventListener("deviceready", () => {
  Purchases.setProxyURL("https://api.revenuedot.app");
  Purchases.configureWith({
    apiKey: device.platform === "iOS" ? "appl_..." : "goog_...",
  });
});

JavaScript

Check an entitlement and make a purchase

Callback API, unchangedJavaScript
Purchases.getOfferings(
  (offerings) => {
    const aPackage = offerings.current && offerings.current.availablePackages[0];
    if (!aPackage) return;
    Purchases.purchasePackage(
      aPackage,
      ({ customerInfo }) => {
        const nowPro = customerInfo.entitlements.active["pro"] !== undefined;
      },
      ({ error, userCancelled }) => { if (!userCancelled) console.error(error); }
    );
  },
  (error) => console.error(error)
);

Fork

The RevenueDot fork package for Cordova

The fork lives at github.com/revenuedot/cordova-plugin-purchases. It trusts RevenueDot's signing key, so the verification log noise goes away when the server signs with that key. It is not published yet (checked October 2026), and its native dependencies are not published either, so use proxy mode today.

Planned fork installterminal
cordova plugin add @revenuedot/cordova-plugin-purchases

Notes

Cordova details worth knowing

  • Signature log: configureWith takes no verification mode, so every RevenueDot response is logged as a failed check with the stock plugin. A self-hosted server signs with its own key, so the noise stays unless you build the forks with your key.
  • Migrating from RevenueCat? Call Purchases.syncPurchases() once on the first launch of the update.
  • Test Store keys work in debug builds only.
  • Status: there is no Cordova example app yet.

FAQ

Cordova: questions people ask

How do I add in-app purchases to a Cordova app?

Install cordova-plugin-purchases, configure it on deviceready, fetch offerings and call purchasePackage. A backend checks the receipts. With RevenueDot you call Purchases.setProxyURL before configureWith and connect your App Store and Google Play apps.

Can I turn off signature verification in the Cordova plugin?

No. configureWith has no verification option, so the native default, informational, applies. Every RevenueDot response is logged as a failed check and access is still granted. The RevenueDot fork removes the noise against a server that signs with its key.

Does RevenueDot work with Cordova on iOS and Android?

Yes, in proxy mode with the plugin you already ship. It uses the same native SDKs as the other RevenueCat wrappers, so the store handling is the same.

Will my config.xml change with the fork?

No. The plugin id stays cordova-plugin-purchases and the global stays Purchases. The fork is not published yet.

Get started

Run subscriptions without the revenue share.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.

Already have an account? Sign in · Prefer your own servers? Self-host free