Feature

Checkout links for app subscriptions: purchase links and redemption links

A RevenueDot purchase link is a hosted checkout page for one offering, which you put in emails, ads, QR codes or your website. Buyers pay on Stripe Checkout. A redemption link then opens your app and passes the purchase to the SDK's redeemWebPurchase, which moves it to the app user so the entitlement is active.

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

A hosted RevenueDot purchase page titled Go Pro on the web. A Monthly plan at $9.99 per month with a 7-day free trial is selected, an Annual plan at $59.99 per year has a Save 50% badge, a Have a discount code link sits below, and a Continue to payment button is at the bottom.
A purchase link for an offering with a monthly and an annual web plan.

One link per offering

The page shows the offering's web plans, the trial and a Save badge for the cheapest monthly price.

Prefill with the URL

?app_user_id= buys for a signed-in user, ?email= pre-fills the email and ?code= pre-fills a discount code.

Expiry and discounts

Links can expire, be turned off and carry an automatic web discount.

Redeem in one call

The SDK parses the redemption link and RevenueDot answers success, invalidToken, purchaseBelongsToOtherUser or expired.

FAQ

Purchase and redemption links: questions people ask

How do I share a checkout link for my app's subscription?

Create a purchase link for an offering in the RevenueDot dashboard and share its URL, such as https://api.revenuedot.app/pay/scanner/spring-sale. The page shows the offering's web plans and sends buyers to Stripe Checkout. Add ?app_user_id= to buy for a signed-in user.

How do I redeem a web purchase in my app with the RevenueCat SDK?

Register a URL scheme, parse the incoming link with asWebPurchaseRedemption on iOS or Android, and call redeemWebPurchase. The purchase moves to the app's user and the entitlement becomes active at once. The result is success, invalidToken, purchaseBelongsToOtherUser, expired or error.

What if the redemption link expires?

Redeeming an expired link makes RevenueDot email a fresh link and answer expired with the buyer's email in an obfuscated form. The old link keeps answering expired, so the app can always tell the buyer to check their email. A buyer who gave no email needs support.

Can a purchase link have an expiry date?

Yes. Set expires_at when you create or update the link, or turn the link off. An expired or turned-off link answers 410 with a page that says the link has expired, and starting a checkout from it also answers 410.

Do I need redemption if the buyer is already signed in to my app?

No. If the link carries the app user id, for example from an email or an in-app button, the purchase goes straight to that customer. Redemption is for anonymous web buyers.

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