One call
Purchases.setProxyURL before configureWith is the whole code change.
SDK
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.
Purchases.setProxyURL before configureWith is the whole code change.
You cannot turn off the signature log from JavaScript in the stock plugin.
The native default mode is informational, so entitlements are granted.
The planned fork keeps cordova-plugin-purchases and the global Purchases.
Steps
Start free on Cloud and add an App Store app and a Google Play app, or a Test Store app for a first run.
Add credentials (App Store, Google Play), then products, a pro entitlement and a current offering.
Inside the deviceready handler, call Purchases.setProxyURL(...) before Purchases.configureWith.
Call Purchases.purchasePackage with callbacks and read customerInfo.entitlements.active["pro"].
Use a test_ key in a debug build to buy with no store account.
JavaScript
device.platform comes from cordova-plugin-device. setProxyURL returns nothing.
document.addEventListener("deviceready", () => {
Purchases.setProxyURL("https://api.revenuedot.app");
Purchases.configureWith({
apiKey: device.platform === "iOS" ? "appl_..." : "goog_...",
});
}); JavaScript
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 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.
cordova plugin add @revenuedot/cordova-plugin-purchases Notes
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.Purchases.syncPurchases() once on the first launch of the update.FAQ
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.
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.
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.
No. The plugin id stays cordova-plugin-purchases and the global stays Purchases. The fork is not published yet.
Get started
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