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.
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 register a purchase intent with the game backend, at which point the game backend is expected to reserve the inventory for the purchase.
The user making the purchase
Unique transaction identifier for this purchase session
Optional checkout link identifier if purchase was made through a checkout link
Currency code (ISO-4217 code, e.g., 'USD', 'EUR')
List of items to register for 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')
Response Body
curl -X POST "https://loading/api/v1/purchase/register" \ -H "Content-Type: application/json" \ -d '{ "playerId": "string", "transactionId": "string", "currency": "string", "registrations": [ { "guid": "string", "productId": "string", "cents": 0, "quantity": 0 } ] }'{
"statuses": [
{
"guid": "string",
"productId": "string",
"status": "PURCHASE_REGISTRATION_STATUS_UNSPECIFIED",
"message": "string"
}
]
}{
"code": 0,
"message": "string",
"details": [
{
"@type": "string",
"property1": null,
"property2": null
}
]
}How is this guide?