# DeveloperProvidedBillingDetails


```
public final class DeveloperProvidedBillingDetails
```

<br />

*** ** * ** ***

Details around a developer-provided billing selection event.

## Summary

| ### Nested types |
|---|
| `public class https://developer.android.com/reference/com/android/billingclient/api/DeveloperProvidedBillingDetails.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/DeveloperProvidedBillingDetails#getExternalTransactionToken()()` Returns a token that represents the user's prospective purchase via developer-provided billing. |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/com/android/billingclient/api/DeveloperProvidedBillingDetails#getLinkUri()()` Returns the link URI that the user should be directed to. |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/com/android/billingclient/api/DeveloperProvidedBillingDetails#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/DeveloperProvidedBillingDetails.Product>` | `https://developer.android.com/reference/com/android/billingclient/api/DeveloperProvidedBillingDetails#getProducts()()` Returns a list of `https://developer.android.com/reference/com/android/billingclient/api/DeveloperProvidedBillingDetails.Product` to be purchased in the developer-provided billing flow. |

## Public methods

### getExternalTransactionToken

```
public String getExternalTransactionToken()
```

Returns a token that represents the user's prospective purchase via developer-provided billing.

This token will be null if the billing program is EXTERNAL_PAYMENTS.

### getLinkUri

```
public String getLinkUri()
```

Returns the link URI that the user should be directed to. Only set when the user should be linked out to an external website.

### getOriginalExternalTransactionId

```
public String getOriginalExternalTransactionId()
```

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

### getProducts

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

Returns a list of `https://developer.android.com/reference/com/android/billingclient/api/DeveloperProvidedBillingDetails.Product` to be purchased in the developer-provided billing flow.