Create a subscription checkout link
Creates a checkout link for purchasing a subscription plan. The link can be shared with users to complete their subscription purchase.
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
Plan ID or code for the subscription
Optional client reference ID for tracking
ISO-4217 Currency code (e.g., USD)
Optional region code (2-3 letter country code)
Optional preferred payment method
Optional custom key-value metadata
Empty Object
User information for the subscription checkout
Optional customization for the initial payment amount
Response Body
curl -X POST "https://test-api.stash.gg/sdk/subscriptions/checkout-links" \ -H "Content-Type: application/json" \ -d '{ "plan": "string", "currency": "string", "user": { "id": "string" } }'{
"id": "string",
"url": "string"
}{
"code": 0,
"message": "string",
"details": [
{
"@type": "string",
"property1": null,
"property2": null
}
]
}How is this guide?
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.
Get plan by ID GET
Retrieves a subscription plan by its unique identifier. Returns full plan details including pricing, billing period, and trial configuration.