# AlternativeChoiceDetails

# AlternativeChoiceDetails


```
public final class AlternativeChoiceDetails
```

<br />

*** ** * ** ***

| **This class is deprecated.**   
|
| Use [BillingClient.Builder#enableUserChoiceBilling](https://developer.android.com/reference/com/android/billingclient/api/BillingClient.Builder#enableUserChoiceBilling(com.android.billingclient.api.UserChoiceBillingListener)) with [UserChoiceBillingListener](https://developer.android.com/reference/com/android/billingclient/api/UserChoiceBillingListener) and [UserChoiceDetails](https://developer.android.com/reference/com/android/billingclient/api/UserChoiceDetails) in the listener callback instead.

Details related to a user's choice of alternative billing.

## Summary

|                                                                                          ### Nested types                                                                                          |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `public class `[AlternativeChoiceDetails.Product](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails.Product) Details about a product being purchased. |

|                                                                                                 ### Public methods                                                                                                  |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String.html)                                                                                                                                             | ~~[getExternalTransactionToken](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails#getExternalTransactionToken())~~`()` Returns a token that represents the user's prospective purchase via alternative billing.                                                             |
| [String](https://developer.android.com/reference/java/lang/String.html)                                                                                                                                             | ~~[getOriginalExternalTransactionId](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails#getOriginalExternalTransactionId())~~`()` Returns the external transaction Id of the originating subscription, if the purchase is a subscription upgrade/downgrade.                  |
| [List](https://developer.android.com/reference/java/util/List.html)`<`[AlternativeChoiceDetails.Product](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails.Product)`>` | ~~[getProducts](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails#getProducts())~~`()` Returns a list of [Product](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails.Product) to be purchased in the alternative billing flow. |

## Public methods

### getExternalTransactionToken

```
public String [getExternalTransactionToken](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails#getExternalTransactionToken())()
```

Returns a token that represents the user's prospective purchase via alternative billing.  

### getOriginalExternalTransactionId

```
public String [getOriginalExternalTransactionId](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails#getOriginalExternalTransactionId())()
```

Returns the external transaction Id of the originating subscription, if the purchase is a subscription upgrade/downgrade.  

### getProducts

```
public List<AlternativeChoiceDetails.Product> [getProducts](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails#getProducts())()
```

Returns a list of [Product](https://developer.android.com/reference/com/android/billingclient/api/AlternativeChoiceDetails.Product) to be purchased in the alternative billing flow.