Type Table Event storeTransaction Revision Release 2026.3728 Keywords Samsung, IAP, in-app purchases, storeTransaction, transaction See also storeTransaction store.* Gotchas
Samsung recommends using a server for using receipt rest api Samsung IAP Server Guide
This table contains the following state are nil.
state — A string indicating the state of the transaction. This will be "purchased" in the case of a purchase or a subscription plan change, "cancelled" for a cancelled purchase, "consumed" for a consumed purchase, "acknowledged" for an acknowledged purchase, "restoreCompleted" for each restored purchase, or "failed" in case of an error.
identifier — The unique string payment identifier of the transaction.
purchaseId — The unique string purchase identifier of the transaction. Pass it to store.consumePurchase() or store.acknowledgePurchase(), and use it to verify the purchase with the Samsung IAP server API.
productIdentifier — A string representing the product identifier associated with the transaction.
previousProductIdentifier — For store.changeSubscriptionPlan(), a string representing the product identifier of the replaced subscription.
orderIdentifier — A string representing the Samsung order identifier of a purchase.
purchaseType — Type (string) which is either "item" or "subscription".
isConsumable — A (boolean) whether or not the in-app item is consumable.
date — A string representing the date when the transaction occurred, represented in "YYYY-MM-DD HH:mm:ss" format.
subscriptionEndDate — A string representing the date when the given subscription ends, represented in "YYYY-MM-DD HH:mm:ss" format (restored subscriptions only).
acknowledgedStatus — For restored purchases, a string of either "acknowledged", "notAcknowledged" or "unsupported" (the installed Galaxy Store does not support acknowledging). Acknowledge non-consumable items and subscriptions with a status of "notAcknowledged" using store.acknowledgePurchase().
subscriptionPriceChange — For restored subscriptions whose price is changing, a table with the keys priceChangeMode ("priceIncreaseUserAgreementRequired", "priceIncreaseNoUserAgreementRequired" or "priceDecrease"), isConsented (boolean), startDate, itemName, appName, originalLocalPrice, originalLocalPriceString, newLocalPrice, newLocalPriceString, subscriptionDurationUnit and subscriptionDurationMultiplier. See store.restore().
obfuscatedAccountId / obfuscatedProfileId — The strings passed to store.purchase() when the item was bought.
passThroughParam — The string passed to store.purchase() when the item was bought (deprecated by Samsung).
minorStatus — For purchases, a string of either "minor", "notMinor" or "unidentified", telling whether Samsung identified the buyer as a minor.
statusType — Type (string) which is used for the states "consumed" and "acknowledged" and returns either "success", "invalidPurchaseID", "failedOrder", "nonConsumableItem" ("invalidProductType" when acknowledging), "alreadyConsumed" ("alreadyAcknowledged" when acknowledging), "unauthorizedUser" or "serviceError".
status — Status message (string) which is used for the states "consumed" and "acknowledged".
statusCode — The numeric Samsung status code (number) behind statusType.
downloadUrl — Url as a string to download the purchased item, if one was configured for the item.
imageUrl — Url as a string of the item’s image.
originalJson — A JSON-formatted string representation of the transaction.
isError — Boolean value indicating whether an error occurred. If this is true, errorType and errorString will be strings stating the reason.
errorType — A string representing the type of error that occurred if isError is true.
errorString — A more descriptive error message (string) if isError is true.
errorCode — The numeric Samsung IAP error code (number) if isError is true, for example -1003 when a non-consumable item is purchased again or -1008 when the network is not available. 1 marks a purchase cancelled by the user.