Skip to main content
POST
Validate IOS Receipt

Authorizations

X-Authorization
string
header
required

This API requires a client session ticket, available from any Client Login function.

Body

application/json

The CurrencyCode and PurchasePrice must match the price which was set up for the item in the Apple store. In addition, The ItemId of the inventory in the PlayFab Catalog must match the Product ID as it was set up in the Apple store. This enables the PlayFab service to securely validate that the purchase is for the correct item, in order to prevent uses from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being for a $19.99 purchase, for example).

The CurrencyCode and PurchasePrice must match the price which was set up for the item in the Apple store. In addition, The ItemId of the inventory in the PlayFab Catalog must match the Product ID as it was set up in the Apple store. This enables the PlayFab service to securely validate that the purchase is for the correct item, in order to prevent uses from passing valid receipts as being for more expensive items (passing a receipt for a 99-cent purchase as being for a $19.99 purchase, for example).

PurchasePrice
number
required

Amount of the stated currency paid, in centesimal units.

CatalogVersion
string

Catalog version of the fulfilled items. If null, defaults to the primary catalog.

CurrencyCode
string

Currency used to pay for the purchase (ISO 4217 currency code).

CustomTags
object

The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

JwsReceiptData
string

Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase.

ReceiptData
string

Base64 encoded receipt data, passed back by the App Store as a result of a successful purchase.

Response

Once verified, the catalog item matching the iTunes item name will be added to the user's inventory. This result should be used for immediate updates to the local client game state as opposed to the GetUserInventory API which can have an up to half second delay.

code
integer

The Http status code. If X-ReportErrorAsSuccess header is set to true, this will report the actual http error code.

status
string

The Http status code as a string.

data
object

Once verified, the catalog item matching the iTunes item name will be added to the user's inventory. This result should be used for immediate updates to the local client game state as opposed to the GetUserInventory API which can have an up to half second delay.

Example:
Last modified on October 1, 2026