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.
HMAC signature generated by signing the request body with the Egress API key from Stash Studio. Used for secure server-to-server communication between game backends and Stash services.
In: header
Request to confirm and complete a pending purchase that was previously registered.
The user confirming the purchase
Transaction identifier to confirm
Optional checkout link identifier if purchase was made through a checkout link
Currency code (ISO-4217 code, e.g., 'USD', 'EUR')
Tax amount in smallest currency unit (e.g. 99 for $0.99, can be 0)
int64Total purchase amount in smallest currency unit including tax (e.g. 1098 for $10.98)
int64Timestamp when the purchase was completed (milliseconds since Unix epoch)
int64List of items in this purchase
Platform making the purchase
"PURCHASE_PLATFORM_UNSPECIFIED""PURCHASE_PLATFORM_UNSPECIFIED" | "PURCHASE_PLATFORM_IOS" | "PURCHASE_PLATFORM_ANDROID" | "PURCHASE_PLATFORM_WEBSTORE"Browser information for web purchases (e.g., 'Chrome/91.0', 'Firefox/89.0', 'Safari/14.1', 'any')
Device identifier for tracking and fraud prevention (can be generated client-side)
Source of the purchase for analytics
"PURCHASE_SOURCE_UNSPECIFIED""PURCHASE_SOURCE_UNSPECIFIED" | "PURCHASE_SOURCE_CART" | "PURCHASE_SOURCE_DIRECT"Customer IP address for fraud prevention and compliance
Region/country code using ISO-3166-1 alpha-2 code (e.g., 'US', 'CA', 'GB')
Optional flag indicating if customer opted in to email marketing
Optional extra in-game currency bonus
int64Optional extra loyalty points bonus
int64Optional extra loyalty credits bonus
int64Response Body
curl -X POST "https://loading/api/v1/purchase/confirm" \ -H "Content-Type: application/json" \ -d '{ "playerId": "string", "transactionId": "string", "currency": "string", "tax": 0, "total": 0, "timeMillis": "string", "items": [ { "guid": "string", "productId": "string", "quantity": 0, "cents": 0 } ] }'{
"results": [
{
"guid": "string",
"productId": "string"
}
]
}{
"code": 0,
"message": "string",
"details": [
{
"@type": "string",
"property1": null,
"property2": null
}
]
}How is this guide?