API reference

AlternativeChoiceDetails

Updated: May 13, 2025

AlternativeChoiceDetails

data class AlternativeChoiceDetails(val externalTransactionToken: String, val originalExternalTransactionId: String, val products: List<AlternativeChoiceDetails.Product>)

Deprecated

Use [BillingClient.Builder.enableUserChoiceBilling] with [UserChoiceBillingListener] and [UserChoiceDetails] in the listener callback instead.

Details related to a user’s choice of alternative billing.
Alternative Billing for IAP is not supported by Meta.
The equivalent Google Play Billing Library class can be found at the Android developer documentation for AlternativeChoiceDetails⁠.

Constructors

NameSummary
AlternativeChoiceDetails
constructor(externalTransactionToken: String, originalExternalTransactionId: String, products: List<AlternativeChoiceDetails.Product>)

Types

NameSummary
data class Product(val id: String, val offerToken: String, val type: String)
Details about a product being purchased.

Properties

NameSummary
externalTransactionToken
val externalTransactionToken: String
A token that represents the user’s prospective purchase via alternative billing.
originalExternalTransactionId
val originalExternalTransactionId: String
The external transaction Id of the originating subscription, if the purchase is a subscription upgrade/downgrade.
products
val products: List<AlternativeChoiceDetails.Product>
A list of Product to be purchased in the alternative billing flow.