A unified representation of a store purchase or renewal transaction across Apple App Store and Google Play Store.
Use id_at_source to correlate with the store-native transaction identifier:
- Apple App Store: App Store Transaction ID
- Google Play Store: Google Play Order ID (
GPA.…)
Parent subscription / one-time-order resources use purchase-token semantics for Google id_at_source; do not treat those as interchangeable with this transaction Order ID.
Apple App Store
The price value reflects the price you configured in App Store Connect, which the system records at the time of transaction (transacted_at) after the discount if any offers are applied.
Important For financial and accounting purposes, use the App Store Connect reporting tools. For more information, see Download financial reports and Overview of reporting tools. Learn more about price in Apple App Store.
Google Play Store
Google Play does not always expose a complete transaction amount or purchase time for every notification path. When Google provides price / time data for a transaction, Chargebee records price_* and transacted_at; otherwise these attributes may be absent. Some Google one-time-order samples include price and transacted_at on purchase_transaction.
Transactions can be linked to subscriptions and/or one-time orders via linked_omnichannel_subscriptions and linked_omnichannel_one_time_orders. Chargebee may also emit omnichannel_transaction_created when a new transaction row is recorded.
Sample Omnichannel transactionJSON
Omnichannel transactions attributes
The store-native identifier for this transaction.
Apple App Store: The App Store Transaction ID for this purchase or renewal.
Google Play Store: The Google Play Order ID (typically GPA.…) — not the subscription or one-time-order purchase token (those live on omnichannel_subscription.id_at_source / omnichannel_one_time_order.id_at_source).
App Identifier in Chargebee. This is the handle created by Chargebee for your app. To get the app_id:
- For Apple, follow these steps.
- For Google, follow these steps.
The whole units of the amount, when price data is available.
For example:
if price_currency is USD (two-decimal currency), then the unit value for USD 1.23 will be 1
if price_currency is JPY (zero-decimal currency), then the unit value for JPY 123 will be 123
if price_currency is BHD (three-decimal currency), then the unit value for BHD 1.234 will be 1
The fraction part of the amount, when price data is available.
The value must be between 0 and +999,999,999 inclusive.
For example:
If price_currency is USD (two-decimal currency), then nanos value for USD 1.23 will be 230,000,000
If price_currency is JPY (zero-decimal currency), then nanos value for JPY 123 will be 0
If price_currency is BHD (three-decimal currency), then nanos value for BHD 1.234 will be 234,000,000
Type of omnichannel transaction. Applies to both subscription and one-time-order purchase flows.
Indicates an initial purchase transaction (subscription or one-time order).
Indicates a renewal transaction for a previously completed subscription purchase. Not used for one-time orders.