VIP membership

The crown, the velvet rope, the gold frame: a status that renews. Bonus percent on every pack, fewer ads, a priority queue. The benefits are yours to define; the store shows them on the card.
A monthly VIP, a season pass, a daily stipend. Appside charges the card each cycle, tells your game with a signed event, and lets the player cancel in one tap. Self-serve from day one, one published rate of 3.9% per successful payment, and a contract your engineers can read before they sign anything.



The crown, the velvet rope, the gold frame: a status that renews. Bonus percent on every pack, fewer ads, a priority queue. The benefits are yours to define; the store shows them on the card.

A reward track with chests and gems along the way, renewed each new season. Your game grants the track on subscription.started and again on every renewed.

One payment, a coin every day for thirty days. Ten times the value of a one-off pack, spread over a month, and the strongest reason to open the game every morning.
In every case the entitlement lives in your game, not in the store. Appside charges, proves and notifies; your backend grants and revokes.
Store subscription fees are lower than pack fees, so the margin case is real but smaller. The bigger case is control: your renewal emails, your cancellation flow, your win-back, your data.
Price minus platform fee only. Before your taxes and before failed renewals. Sources checked October 28, 2026: Apple, Google Play.
| Route$4.99 per month | Feepublished | You keepper month |
|---|---|---|
| App Store, first year of a subscription | 30% | $3.49 |
| App Store, after one paid year, or Small Business Program | 15% | $4.24 |
| Google Play, US / EEA / UK (2026 model) | 10% + 5% billing | $4.24 |
| Google Play, everywhere else | 15% | $4.24 |
| Your web store on Appside | 3.9% | $4.80 |
What the Starward player sees, and what yours will: the pass with its art, the price per period, the benefits, the next charge date, and a cancel button that does what it says.
Signed in from the game with a player token. The card is shown with the price per period, the benefits and the renewal terms, then the same checkout as a pack. The card number never touches our servers; the secure fields are the payment provider's.
The player account shows the plan, the next charge date and amount, and the payment history. No guessing when the card is billed.
No questions, no retention maze. Renewals stop immediately, the card is never charged again, and the membership stays active until the date already paid for. EU and UK rules say cancelling must be as easy as signing up. Ours is.


Starward demo store → styled checkout example. Renews monthly. Cancel anytime.
Every change in a subscription reaches your Fulfillment URL as a signed POST with the headers, retries and dedupe you already handle for order.paid. Event IDs are <subscription>:<cycle>, so each cycle is granted exactly once, and events for one subscription are delivered in order.
Plans are created in Studio: name, monthly or annual, prices in USD, EUR and GBP, up to six benefit lines. A plan id is stable once published; prices are immutable per plan, so you create a new plan to change them. Full contract · Webhooks
switch (event.type) {
case 'subscription.started':
case 'subscription.renewed':
await grantPass(player, sub.plan_id, sub.period_end); break;
case 'subscription.payment_failed':
await grantPass(player, sub.plan_id, sub.grace_until); break;
case 'subscription.canceled':
break; // access runs to sub.access_until
case 'subscription.expired':
case 'subscription.refunded':
await revokePass(player, sub.plan_id); break;
}| Askbefore you sign | Appsidepublished | Why it mattersto your players and your finance team |
|---|---|---|
| What does it cost? | 3.9% per successful payment. No setup fee, no monthly fee, no minimum. | A rate you can put in a spreadsheet today, before any call. |
| Can I start without a sales process? | Yes. Paste your app link, get a store, add a plan in Studio. | A pass can be live this week, not next quarter. |
| Is the integration documented? | Yes: plans, events, player controls, limits, with a Node example. | Your engineers can estimate the work from the page. |
| What happens when the player cancels? | Renewals stop at once; access continues to the paid date; you receive canceled now and expired then. | No surprise charges, no support tickets, compliant in the EU and UK. |
| Who owns the entitlement? | You do. The store never changes a wallet or a flag. | One source of truth, also for players subscribed in the app. |
| Where is the card stored? | With the payment provider, in its secure fields. Not with Appside. | Your PCI scope stays small. |
| Who handles tax? | You do. Appside is not a merchant of record today, and says so. | No hidden markup, and no surprise when you read the contract. |
Comparison with other providers' public pages, dated and sourced: the buyer's checklist for web subscriptions.
Not before the paid period ends. Cancelling stops renewals for good; when the membership ends, the player subscribes again from the store in one tap, with the same account. We chose the rule that never charges a card the player asked us to stop charging.
Your game receives subscription.payment_failed with a grace date, the player sees a "payment failed, update your card" notice with a retry, and nothing is revoked until the grace period ends. Then subscription.expired.
They can, and only your backend can see both. Decide the union rule before launch; the usual one is "the entitlement is the union, and support refunds the duplicate". The store knows only the web plan.
Cards, with plan prices in USD, EUR and GBP. The player pays in the currency the store shows them and the subscription keeps that currency. More methods and currencies follow the one-time packs.
Plans can be drafted with a trial length in Studio. Trial checkout opens after the first memberships have run a full cycle in production.
Per cycle, from Studio. Your game receives subscription.refunded with the cycle number and decides what to revoke.
YOUR NEXT MOVE