> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Android options

The SDK can be configured in a few ways.

| Field                     | Optional / Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `gr4vyId`                 | **Required**        | Provided in the manifest. The ID automatically sets the `apiHost` to `api.<gr4vyId>.gr4vy.app` for production and `api.sandbox.<gr4vyId>.gr4vy.app` and to `embed.sandbox.<gr4vyId>.gr4vy.app` for the sandbox environment.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `environment`             | `Optional`          | `"sandbox"`, `"production"`. Defaults to `"production"`. When `"sandbox"` is provided the URL contains `sandbox.GR4VY_ID`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `token`                   | **Required**        | The server-side generated JWT token used to authenticate any of the API calls.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `amount`                  | **Required**        | The amount to authorize or capture in the specified `currency` only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `currency`                | **Required**        | A valid, active, 3-character `ISO 4217` currency code to authorize or capture the `amount` for.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `country`                 | **Required**        | A valid `ISO 3166` country code.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `buyerId`                 | `Optional`          | The buyer ID for this transaction. The transaction is automatically associated with a buyer with that ID.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `buyerExternalIdentifier` | `Optional`          | An optional external ID for a buyer. The transaction is automatically associated with a buyer with that external ID. If no buyer with this external ID exists then it is ignored. This option is ignored if the `buyerId` is provided.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `externalIdentifier`      | `Optional`          | An optional external identifier that can be supplied. This is automatically associated with any resource created and can subsequently be used to find a resource by that ID.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `store`                   | `Optional`          | `'ask'`, `'preselect'`, `true`, `false` - Explicitly store the payment method, ask the buyer or preselect it by default. Requires `buyerId` or `buyerExternalIdentifier`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `display`                 | `Optional`          | `all`, `addOnly`, `storedOnly`, `supportsTokenization` - Filters the payment methods to show stored methods only, new payment methods only or methods that support tokenization.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `intent`                  | `Optional`          | `authorize`, `preferAuthorize`, `capture` - Defines the intent of this API call. This determines the desired initial state of the transaction. When used, `preferAuthorize` automatically switches to `capture` if the selected payment method doesn't support delayed capture.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `metadata`                | `Optional`          | An optional dictionary of keys and values for transaction metadata. All values should be a string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `paymentSource`           | `Optional`          | `installment`, `recurring` - Can be used to signal that Embed is used to capture the first transaction for a subscription or an installment. When used, `store` is implied to be `true` and `display` is implied to be `supportsTokenization`. This means that payment options that do not support tokenization are automatically hidden.                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `cartItems`               | `Optional`          | An optional array of cart item objects, each object must define a `name`, `quantity`, and `unitAmount`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `theme`                   | `Optional`          | Theme customization options. See [Theming](https://github.com/gr4vy/gr4vy-embed/tree/main/packages/embed#theming). The iOS SDK also contains an additional two properties within the `colors` object; `headerBackground` and `headerText`. These are used for the navigation background and foreground colors.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `locale`                  | `Optional`          | An optional locale, consists of an `ISO 639 Language Code` followed by an optional `ISO 3166 Country Code`, for example `en`, `en-gb` or `pt-br`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `statementDescriptor`     | `Optional`          | An optional object with information about the purchase to construct the statement information the buyer sees in their bank statement. Please note support for these fields varies across payment service providers and underlying banks, so only a best-effort approach for each supported platform can be ensured. As an example, most platforms only support a concatenation of the `name` and `description` fields, this is truncated to a length of 22 characters within embed. The object can contain `name`, `description`, `phoneNumber`, `city` and `url` properties, with string values. `phoneNumber` should be in E164 format. Avoiding characters outside the alphanumeric range and the dot (`.`) is recommended to ensure wide compatibility. |
| `requireSecurityCode`     | `Optional`          | An optional boolean that forces security code to be prompted for stored card payments.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `shippingDetailsId`       | `Optional`          | An optional unique identifier of a set of shipping details stored for the buyer.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `installmentCount`        | `Optional`          | An optional value that indicates the number of installments a buyer is required to make.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

<Gr4vyID />
