Represents a one-time in-app product purchase from Apple App Store or Google Play Store, normalized into Chargebee's omnichannel model.
Omnichannel one-time orders are typically created when you record a purchase and may be updated via store notifications (for example, refunds). Unlike subscriptions, one-time order items do not carry a recurring status field; cancellation is expressed via item cancelled_at / cancellation_reason.
Apple App Store: Parent id_at_source is the Transaction ID. Nested purchase_transaction.id_at_source is the same Transaction ID for the purchase row.
Google Play Store: Parent id_at_source is the purchase token. Nested purchase_transaction.id_at_source is the Order ID (GPA.…).
See omnichannel events for recording and cancel mappings, and omnichannel_transaction for price / transacted_at guidance.
Note: This resource specifically represents in-app product purchases made via the Apple App Store and Google Play Store.
Sample Omnichannel one time orderJSON
Omnichannel one time orders attributes
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 id
of the customer
object that is associated with this one-time order.
The store-native identifier for this one-time order.
Apple App Store: The App Store Transaction ID for the purchase (same value as purchase_transaction.id_at_source for the initial purchase row).
Google Play Store: The Google Play purchase token for the one-time product purchase — not the Order ID. The Order ID (GPA.…) is on purchase_transaction.id_at_source.
Omnichannel one time order item attributes
Product identifier of the purchased item in the source store.
Apple App Store: App Store Connect product identifier (consumable, non-consumable, or non-renewing subscription product).
Google Play Store: Google Play in-app product ID for the one-time product.
Product type as reported by the source store.
Apple App Store: Typically values such as consumable, non-consumable, or non-renewing subscription product types from App Store Connect / StoreKit.
Google Play Store: Typically the Google Play one-time product / in-app product type context.
The reason this omnichannel_one_time_order_item was cancelled (for example, refunded or revoked).
The customer cancelled / requested refund of the one-time purchase where the store reports a customer-initiated context.
Not typically applicable to one-time orders; reserved for parity with subscription cancellation reasons.
The one-time purchase was refunded due to an app issue.
Apple App Store: Commonly set for refund notifications with an app-issue refund reason.
Google Play Store: Not typically used for this reason code.
The one-time purchase was refunded for another reason.
Apple App Store: Commonly set for refund notifications with a non-app-issue refund reason.
Google Play Store: Not typically used for this reason code.
The merchant revoked the one-time purchase / access.
Google Play Store: Commonly used for voided / revoked purchases.
Apple App Store: Can apply when access is revoked.
Purchase transaction attributes
The store-native identifier for this transaction.
Apple App Store: Transaction ID for this purchase.
Google Play Store: Order ID for this purchase (typically GPA.…). This is not the parent one-time order purchase token (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 fractional price amount, in nanos (billionths of the currency unit), 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
Apple App Store: Typically present.
Google Play Store: May be present when Google provides price data for the transaction; otherwise absent.