## Interfaces

- [BrowserInterface](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/BrowserInterface.html)
- [BrowserInterface.Footer](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/BrowserInterface.Footer.html)
- [BrowserInterface.Header](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/BrowserInterface.Header.html)
- [BrowserPage](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/BrowserPage.html)
- [BrowserPage.DomResultListener](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/BrowserPage.DomResultListener.html)
- [CardList](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html)
- [CheckoutPage](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CheckoutPage.html)
- [ProductPage](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/ProductPage.html)
- [PurchasePage](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePage.html)
- [PurchasePath.Listener](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePath.Listener.html)
- [PurchasePathExtension](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePathExtension.html)
- [PurchasePathInterface](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePathInterface.html)
- [PurchasePathListener](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePathListener.html)

## Classes

- [BrowserChromeClient](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/BrowserChromeClient.html)
- [CallToAction](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CallToAction.html)
- [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html)
- [Commission](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Commission.html)
- [Product](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Product.html)
- [PurchasePath](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePath.html)
- [PurchasePathRequest](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/PurchasePathRequest.html)
- [TextCard](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/TextCard.html)
- [TextCard.Builder](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/TextCard.Builder.html)

## Enums

- [Commission.CommissionType](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Commission.CommissionType.html)

# CardList

|     |
| --- |
| com.usebutton.sdk.purchasepath.CardList |

## Summary

| Public Methods |
| --- |
| abstract<br> <br> <br> <br> <br> void | [addCard](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#addCard(com.usebutton.sdk.purchasepath.Card))( [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) card)<br> <br> <br>Appends a card to the end of the current list of cards in the card system. |
| abstract<br> <br> <br> <br> <br> [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) | [getCard](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#getCard(java.lang.Object))( [Object](https://d.android.com/reference/java/lang/Object.html) key)<br> <br> <br>Returns the card in the current card system that matches the given key. |
| abstract<br> <br> <br> <br> <br> [List](https://d.android.com/reference/java/util/List.html) < [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) > | [getCards](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#getCards())()<br> <br> <br>The list of cards currently added to the card system, in the order they can<br>be displayed to the user. |
| abstract<br> <br> <br> <br> <br> void | [insertCard](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#insertCard(com.usebutton.sdk.purchasepath.Card,%20int))( [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) card, int index)<br> <br> <br>Inserts a card into the current list of cards in the card system at a specific index. |
| abstract<br> <br> <br> <br> <br> void | [removeAllCards](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#removeAllCards())()<br> <br> <br>Removes all cards in the current card system. |
| abstract<br> <br> <br> <br> <br> void | [removeCard](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#removeCard(java.lang.Object))( [Object](https://d.android.com/reference/java/lang/Object.html) key)<br> <br> <br>Removes the card in the current card system that matches the given key. |
| abstract<br> <br> <br> <br> <br> void | [replaceCard](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#replaceCard(com.usebutton.sdk.purchasepath.Card,%20java.lang.Object))( [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) card, [Object](https://d.android.com/reference/java/lang/Object.html) key)<br> <br> <br>Replaces the card in the current card system that matches the given key with a new card. |
| abstract<br> <br> <br> <br> <br> void | [setCards](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/CardList.html#setCards(java.util.List%3Ccom.usebutton.sdk.purchasepath.Card%3E))( [List](https://d.android.com/reference/java/util/List.html) < [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) \> cards)<br> <br> <br>Sets the cards to be maintained by the card list. |

## Public Methods

#### public       abstract     void  addCard( [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) card)

Appends a card to the end of the current list of cards in the card system.

##### Parameters

| card | The card to be added. |

#### public       abstract     [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html)getCard( [Object](https://d.android.com/reference/java/lang/Object.html) key)

Returns the card in the current card system that matches the given key.

Keys are meant to be unique. If multiple cards match the given key, the first in the list
that matches will be returned.

##### Parameters

| key | The key of the card to be returned. |

##### Returns

- The card in the current card system that matches the given key.

#### public       abstract     [List](https://d.android.com/reference/java/util/List.html) < [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) >  getCards()

The list of cards currently added to the card system, in the order they can
be displayed to the user.

##### Returns

- An array of cards currently added to the card list.

#### public       abstract     void  insertCard( [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) card, int index)

Inserts a card into the current list of cards in the card system at a specific index.

##### Parameters

| card | The card to be added. |
| index | The location in the current list of cards to insert the card. |

#### public       abstract     void  removeAllCards()

Removes all cards in the current card system.

#### public       abstract     void  removeCard( [Object](https://d.android.com/reference/java/lang/Object.html) key)

Removes the card in the current card system that matches the given key.

Keys are meant to be unique. If multiple cards match the given key, the first in the list
that matches will be removed.

##### Parameters

| key | The key of the card to be removed. |

#### public       abstract     void  replaceCard( [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) card, [Object](https://d.android.com/reference/java/lang/Object.html) key)

Replaces the card in the current card system that matches the given key with a new card.

Keys are meant to be unique. If multiple cards match the given key, the first in the list
that matches will be replaced. If no cards match, no replacement will occur.

##### Parameters

| key | The key of the card to be replaced. |

#### public       abstract     void  setCards( [List](https://d.android.com/reference/java/util/List.html) < [Card](https://building.usebutton.com/button-android/latest/reference/com/usebutton/sdk/purchasepath/Card.html) \> cards)

Sets the cards to be maintained by the card list.

##### Parameters

| cards | The array of cards. |
