# UserChoiceBillingListener


```
public interface UserChoiceBillingListener
```

<br />

*** ** * ** ***

Listener interface for the developer-managed alternative billing flow, when it is chosen by the user when initiating a purchase.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/com/android/billingclient/api/UserChoiceBillingListener#userSelectedAlternativeBilling(com.android.billingclient.api.UserChoiceDetails)(https://developer.android.com/reference/com/android/billingclient/api/UserChoiceDetails userChoiceDetails)` Called when a user has selected to make a purchase using user choice billing. |

## Public methods

### userSelectedAlternativeBilling

```
abstract void userSelectedAlternativeBilling(UserChoiceDetails userChoiceDetails)
```

Called when a user has selected to make a purchase using user choice billing.

**Note:**

1. When this method is invoked, a developer-provided purchase flow should be rendered where the user could complete the transaction.
2. If the transaction is successful, it must be reported via the Google Play Developer API.
3. The entitlement corresponding to the purchase should be granted and managed by the developer.

| Parameters |
|---|---|
| `https://developer.android.com/reference/com/android/billingclient/api/UserChoiceDetails userChoiceDetails` | The user choice details. |