Generate Checkout
Generates a quick payment URL for server-side operations. This endpoint is used internally for creating payment links with user information.
Versioned HMAC-SHA256 signature authenticating server-to-server SDK requests (your backend calling Stash), as opposed to client-side SDK operations. Recommended over the deprecated X-Stash-Api-Key for the best security. Header format: v1;{appId};{unixMillisTimestamp};{base64Signature} (semicolon-delimited). {base64Signature} is the base64-encoded HMAC-SHA256 of the string {unixMillisTimestamp}.{requestBody} using your app ingress secret (the ingress secret is shown base64-encoded in Studio; base64-decode it to the raw bytes used as the HMAC key), where {requestBody} is the compact canonical request JSON for POST requests and empty for GET requests. The timestamp must be within 5 minutes of Stash server time. Your appId is your immutable app identifier, shown in Stash Studio under Project Settings > App details; your ingress secret is under Project Settings > API Secrets.
In: header
Item to purchase with inline pricing. Mutually exclusive with catalog_items; provide exactly one of the two.
Optional bonus items to include with the purchase. These are free items granted alongside the main item.
User information for the payment
Optional transaction ID for tracking
Region code (2-3 letter country code, defaults to US if not set)
ISO-4217 Currency code (currently only USD supported)
Managed Catalog SKUs (id + quantity) to resolve server-side. Requires the shop to have managed catalog enabled. Mutually exclusive with item; provide exactly one of the two.
Optional checkout-session id (the per-tab analytics session for this checkout, shared with telemetry and the funnel webhooks); persisted on the order. Distinct from the multi-PSP payment session_id used during authorization.
Response Body
curl -X POST "https://test-api.stash.gg/sdk/server/checkout_links/generate_quick_pay_url" \ -H "Content-Type: application/json" \ -d '{}'{
"url": "string",
"id": "string",
"regionCode": "string"
}{
"code": 0,
"message": "string",
"details": [
{
"@type": "string",
"property1": null,
"property2": null
}
]
}How is this guide?
Generate authenticated URL POST
Generates an authenticated URL for a specific target (home or loyalty) for a user. This endpoint is used for server-side URL generation.
Create a subscription change checkout link POST
Creates a checkout link for upgrading an existing subscription to a new plan. Only subscriptions in a `active`, `trialing`, or `cancelled` (still within paid period before expiration) state are eligible for upgrades.