Overview: three ways to connect
You will choose one of three ways for the app to learn about a payment made on a web page.
A person pays in the browser; the app must recognise them and find out whether their access is open.
Before you start
- A paid plan. The connection to the app works on Pro and Business. On the free plan the section is locked and no access key is issued.
- The project owner or admin role. Other roles do not see access keys or the signing secret at all. Invited as a member? Ask the project owner to change your role: “Project and team”, “Hand off to a developer”.
Which path is yours
The Subster cabinet asks the same when you first open “App connection”: who in your app decides that a person has a subscription.
| If you have | Path in the cabinet | What you do | What you need |
|---|---|---|---|
| iOS or Android and our library — with or without your own server | “Our library inside the app” | embed the library; the server, if there is one, checks access with a key | project ID; for the server, an access key sk_live_… |
| your own server, no library | “Your own server” | write requests to us and an event handler | access key sk_live_… |
| subscriptions are run by Adapty or RevenueCat | “Subscriptions live in an outside service” | enter the platform key in the cabinet and link the profile once | the secret key and the access level name from the platform dashboard (RevenueCat calls it an entitlement) |
The fourth card, “I am not connecting an app”, is for those who do not link the app to the funnel: access keys and events to your server stay, the payment is not passed to the app.
Undecided about the library? Install it: the cabinet calls it the simplest path, and your own server does not conflict with it. Library plus your own server is the first row: on the “Your own server” path the cabinet hides the return link settings and blocks test mode, in which the app sees “paid” before a real payment.
Our library inside the app
The library (SDK) for iOS and Android: current versions are iOS 0.8.1 and Android 0.7.2. It takes the buyer identifier from the return link, recognises the person after install and tells the app whether access is open.
Setup and the first access answer — “Quick start”; all library methods — “SDK”.
Your own server
No library in the app; the whole cycle is requests:
- The app exchanges the code from the return link for a buyer identifier; if the link is lost, it requests an email with a new code. “How we recognise the customer”
- Your server requests the entitlement with the key in the
Authorizationheader. “Authentication”, “Check the entitlement” - Our events tell the server about payments, renewals, cancellations and refunds. “Webhooks”
- Optional: the server reports a sign-up or purchase that bypassed us. “Send an event to us”
Ready-made Node code for steps 2 and 3 — “Recipes”.
Subscriptions in Adapty or RevenueCat
We set access directly in your subscription platform: a web payment activates the profile's access, a refund removes it. The app asks its own platform; our library is not in it.
From you: the platform key in the cabinet and, once, the pair “our buyer identifier ↔ profile in the platform”: a parameter in the opened page's address or a request from your server. Details — “Adapty and RevenueCat”.
Working with an AI assistant?
Copy the prompt and fill in the platform, whether you have a server and where subscriptions live. The assistant will pick the path and guide you; connecting our MCP server to it — “MCP server”.
I am integrating Subster into a mobile app. Subster takes subscription payments
on a web page and opens the paid access inside the app.
Our setup: <iOS / Android>, <we have our own backend / we have none>,
subscriptions live <in Adapty / in RevenueCat / nowhere yet>.
1. Read the overview of the three ways to connect and tell me which one fits us,
with the reason.
2. Then walk me through that way step by step: what to set up in the cabinet,
what code to write.
3. Take every endpoint, field name and error code from the Subster documentation:
its MCP server is https://api.subster.ai/mcp, or use the pages I attach.
If something is not there, ask me — do not invent names or addresses.
FAQ
Can we do without our own server at all?
Yes: the library and the subscription platform both work without it. The price is trust: an answer received on the device is forged along with the device, so gating paid content on your server's answer is safer.
One more caveat for Adapty and RevenueCat: without a server, the profile is linked only when the app itself opens the payment page. Those who pay on the site before installing are linked by your server — “Adapty and RevenueCat”.
What if we choose and change our minds?
Use the “Change” button in the same section. Saved settings keep working; only the set of fields shown changes. One exception: switching to “Your own server” or “I am not connecting an app” turns test mode off.
Next
- Quick start — the library or your own server and a customer's first access answer.
- Return to the app — three cases of leaving the browser: the app is open, not installed, installed.
- Troubleshooting — what to check on “I paid but have no access”.