# UserChoiceDetails


```
public final class UserChoiceDetails
```

<br />

*** ** * ** ***

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

## Summary

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

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

## Public methods

### getExternalTransactionToken

```
public String getExternalTransactionToken()
```

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

### getOriginalExternalTransactionId

```
public String getOriginalExternalTransactionId()
```

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

### getProducts

```
public List<UserChoiceDetails.Product> getProducts()
```

Returns a list of `https://developer.android.com/reference/com/android/billingclient/api/UserChoiceDetails.Product` to be purchased in the user choice alternative billing flow.