Skip to content

Structures

This section describes all public structures used throughout the Google Play Billing plugin.

Structures contain product information, purchase data, subscription pricing phases, subscription offers, and advanced one-time product offer details returned by Google Play.

All structures are available in both Blueprint and C++.


Purchase

FGooglePlayBillingPurchase

Contains information about a purchase returned by Google Play Billing.

This structure is returned by purchase callbacks, pending purchase processing, and owned purchase queries.

Field Type Description
Product ID FString Primary Product ID included in the purchase.
Purchase State EGooglePlayBillingPurchaseState Current processing state of the purchase.
Quantity int32 Quantity of the purchased product. Usually 1 unless multi-quantity purchases are used.
Purchase Time int64 Purchase time in milliseconds since the Unix epoch.
Developer Payload FString Developer payload associated with the purchase, if provided by Google Play Billing.
Order ID FString Google Play order identifier. May be empty for some purchase states.
Package Name FString Application Package Name associated with the purchase.
Purchase Token FString Token that uniquely identifies the purchase. Required for acknowledgement, consumption, and server-side validation.
Signature FString Signature of the purchase data returned by Google Play Billing.
Products TArray<FString> Product IDs included in the purchase. Usually contains one Product ID.
Is Acknowledged bool Whether the purchase has already been acknowledged.
Is Auto Renewing bool Whether the subscription is configured to renew automatically. Only relevant for subscriptions.

Product Details

FGooglePlayBillingProductDetails

Contains product information returned by a Product Details query.

The structure provides simplified primary price fields for common use cases and complete offer arrays for advanced one-time product and subscription configurations.

Field Type Description
Product ID FString Product ID configured in Google Play Console.
Name FString Product name as configured in Google Play Console. For example, Test Product 1.
Title FString Full localized product title returned by Google Play. It may include the application name or Package Name in parentheses, for example Test Product 1 (com.example.app).
Description FString Localized product description returned by Google Play.
Product Type EGooglePlayBillingProductType Type of the product: one-time product or subscription.
Formatted Price FString Primary localized price for display. Uses the first available one-time product offer or the first pricing phase of the first subscription offer.
Price Amount Micros int64 Primary price amount in micro-units.
Price Currency Code FString Primary ISO 4217 currency code, such as EUR or USD.
Offer Token FString Primary Offer Token that can be passed to Launch Google Play Billing Flow. Uses the first available offer and may be empty for simple one-time products.
In App Product Offer Details TArray<FGooglePlayBillingInAppProductOfferDetails> Advanced offers and purchase options available for a one-time product.
Subscription Offer Details TArray<FGooglePlayBillingSubscriptionOfferDetails> Subscription base plans and offers available for the product.

Subscription Details

FGooglePlayBillingPricingPhase

Describes one pricing phase in a subscription offer.

A subscription offer may contain multiple phases, such as a free trial, introductory price, and regular recurring price.

Field Type Description
Billing Cycle Count int32 Number of billing cycles in this pricing phase.
Recurrence Mode EGooglePlayBillingRecurrenceMode Recurrence behavior of the pricing phase.
Price Amount Micros int64 Price amount in micro-units. For example, 1 EUR is represented as 1000000.
Billing Period FString ISO 8601 billing period, such as P1M for one month or P1Y for one year.
Formatted Price FString Localized formatted price returned by Google Play.
Price Currency Code FString ISO 4217 currency code, such as EUR or USD.

FGooglePlayBillingSubscriptionOfferDetails

Contains information about a subscription base plan or offer.

Field Type Description
Pricing Phases TArray<FGooglePlayBillingPricingPhase> Full pricing sequence for the subscription offer.
Base Plan ID FString Base Plan ID configured in Google Play Console.
Offer ID FString Offer ID configured in Google Play Console. Empty when the entry represents a base plan without a separate offer.
Offer Token FString Offer Token required to purchase this subscription option.
Offer Tags TArray<FString> Custom offer tags configured in Google Play Console.

One-Time Product Offers

FGooglePlayBillingInAppProductOfferDetails

Contains detailed information about a one-time product purchase option or offer.

Field Type Description
Offer Token FString Offer Token used to purchase this one-time product offer.
Offer ID FString Offer ID configured in Google Play Console, if available.
Purchase Option ID FString Purchase Option ID configured in Google Play Console, if available.
Offer Tags TArray<FString> Custom offer tags configured in Google Play Console.
Price Amount Micros int64 Current offer price in micro-units.
Formatted Price FString Localized formatted offer price returned by Google Play.
Price Currency Code FString ISO 4217 currency code of the offer price.
Full Price Micros int64 Original full price in micro-units, if available.
Discount Display Info FGooglePlayBillingInAppProductDiscountDisplayInfo Discount information available for the offer.
Limited Quantity Info FGooglePlayBillingInAppProductLimitedQuantityInfo Limited quantity information available for the offer.
Preorder Details FGooglePlayBillingInAppProductPreorderDetails Preorder information available for the offer.
Rental Details FGooglePlayBillingInAppProductRentalDetails Rental information available for the offer.
Valid Time Window FGooglePlayBillingInAppProductValidTimeWindow Time period during which the offer is available.

FGooglePlayBillingInAppProductDiscountDisplayInfo

Contains display information for a one-time product discount.

Field Type Description
Has Discount Display Info bool Whether discount display information is available.
Has Percentage Discount bool Whether a percentage discount value is available.
Percentage Discount int32 Percentage discount value. For example, 25 represents 25% off.
Discount Amount FGooglePlayBillingInAppProductDiscountAmount Fixed discount amount information, if available.

FGooglePlayBillingInAppProductDiscountAmount

Contains a fixed discount amount for a one-time product offer.

Field Type Description
Has Discount Amount bool Whether fixed discount amount information is available.
Formatted Discount Amount FString Localized formatted discount amount returned by Google Play.
Discount Amount Micros int64 Discount amount in micro-units.
Discount Amount Currency Code FString ISO 4217 currency code of the discount amount.

FGooglePlayBillingInAppProductLimitedQuantityInfo

Contains limited quantity information for a one-time product offer.

Field Type Description
Has Limited Quantity Info bool Whether limited quantity information is available.
Maximum Quantity int32 Maximum quantity available for the offer.
Remaining Quantity int32 Remaining quantity available for the offer.

FGooglePlayBillingInAppProductPreorderDetails

Contains preorder information for a one-time product offer.

Field Type Description
Has Preorder Details bool Whether preorder information is available.
Preorder Release Time Millis int64 Product release time in milliseconds since the Unix epoch.
Preorder Presale End Time Millis int64 End time of the preorder presale period in milliseconds since the Unix epoch.

FGooglePlayBillingInAppProductRentalDetails

Contains rental information for a one-time product offer.

Field Type Description
Has Rental Details bool Whether rental information is available.
Rental Period FString ISO 8601 period describing how long the user can access the rented product.
Rental Expiration Period FString ISO 8601 period describing when rental access expires.

FGooglePlayBillingInAppProductValidTimeWindow

Contains the valid availability window for a one-time product offer.

Field Type Description
Has Valid Time Window bool Whether valid time window information is available.
Has Start Time Millis bool Whether the offer has a defined start time.
Start Time Millis int64 Offer start time in milliseconds since the Unix epoch.
Has End Time Millis bool Whether the offer has a defined end time.
End Time Millis int64 Offer end time in milliseconds since the Unix epoch.