Getting Started
APIs you can expose on your game backend server to power a WebShop via Dynamic Catalog, and/or StashPay checkout links.
This is an ingress integration: Stash calls your backend. You implement and host these APIs, and Stash invokes them during catalog and checkout flows.
Skip the API reference: You can generate type-safe clients from our protobufs and let your IDE's autocomplete guide the integration - no need to read through the API specification below.
Implement these endpoints in your backend, keep request/response contracts aligned with the reference, and return validation outcomes exactly as documented.
Endpoints
Get product catalog
Retrieves the complete product catalog including all purchasable items, offer chains, and non-purchasable display items organized in rows.
Get offer details
Retrieves detailed information about a specific offer, including reward details and tabbed content with structured data tables for each item.
Get player by ID
Retrieves an existing player by ID. Returns player information including profile data and in-game currency balance.
Cancel pending payment
Step 2B: Cancels a pending purchase that was previously registered. IMPORTANT: Always expects HTTP 200 OK response with inline error codes in the body.
Confirm payment completion
Step 2A: Confirms and completes a pending purchase that was previously registered. IMPORTANT: Expects HTTP error status (3xx, 4xx, 5xx) codes for failed purchases.
Register payment intent
Step 1: Registers a purchase intent with the game backend. The game backend is expected to reserve inventory for the purchase. IMPORTANT: Always expects HTTP 200 OK response with inline error codes in the body.
How is this guide?