---
title: Appside developer docs
nav: Overview
order: 1
---
# Sell from your game's own web store

Appside gives your game a web store that looks and feels like your app, a checkout, and delivery of purchased items back into your game. Players move from the app to the store **already signed in**, pay, and their items land in the game in seconds.

> **Status:** test mode. Every flow on these pages works end to end against the Appside sandbox. Live payments are on the roadmap. Each SDK page says whether it is **built and tested** or **preview source**.

## Three steps, on every platform

| | What you build | Where |
|---|---|---|
| 1 | **Sign a player token**: a 5-minute ES256 JWT that says who the player is | your game backend |
| 2 | **Open the store or a pack**: `Appside.openStore(token)` or `Appside.purchase("voyager", token)` | your app or game client |
| 3 | **Grant on the webhook**: verify `order.paid` and credit the player once per `order_id` | your game backend |

There is no server-to-server checkout session to create and no separate store-login system to run. The price always comes from the catalogue you published in Studio, so a client can't tamper with it.

```mermaid-ish
Game client ──openStore(token)──▶ Appside store ──pay──▶ Appside
     ▲                                                    │
     └── returnURL (deep link, UI hint only)              │ order.paid (signed webhook)
                                                          ▼
                                                   Your game backend ──grants items
```

## Start here
- [Quickstart: first pack sold in 15 minutes](/docs/quickstart/)
- [Player tokens](/docs/player-tokens/)
- [Webhooks: order.paid and order.refunded](/docs/webhooks/)
- [Return to the game: deep links and universal links](/docs/deep-links/)
- [Testing: cards, 3-D Secure, outages](/docs/testing/)
- [SDKs and their status](/docs/sdks/)
- [Coming from Appcharge Payment Links](/docs/migrate-from-appcharge/)
