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

# Stripe Query authentication guide

export const m_runner = "Maia runner";

export const maia = "Maia";

export const designer = "Designer";

This is a step-by-step guide to acquiring a Stripe API key to authorize the [Stripe Query](/docs/components/stripe-query) component.

Authorizing the Stripe Query component involves four steps:

1. [Obtain an API key](#obtain-an-api-key) from the Stripe developer portal.
2. [Create a secret](#create-a-secret) to store the Stripe API key.
3. [Add a secret definition](/docs/guides/secrets-and-secret-definitions) to the **Your projects** menu.
4. Use the **API Key** property drop-down in the [Stripe Query](/docs/components/stripe-query) component to select the API key you have created by this process.

***

## Obtain an API key

1. Log in to the [Stripe developer dashboard](https://dashboard.stripe.com/login).
2. Click **Developers** in the upper-right of the dashboard.
3. Click the **API keys** tab.
4. In the **Standard keys** section, locate the **Publishable key** and click the key's **Token** to copy it, as this Stripe API key will be required when creating the secret.

***

## Create a secret

You must create a secret to store your Stripe API key. How this secret is stored depends on your {maia} deployment model:

* In a [Full SaaS](/docs/guides/runner-overview#matillion-full-saas) deployment model, you must add a secret to the internal managed vault service that is hosted in Matillion's own AWS infrastructure. Read [Secrets and secret definitions](/docs/guides/secrets-and-secret-definitions#create-a-secret-definition-matillion-full-saas) for details.
* In a [Hybrid SaaS](/docs/guides/runner-overview#hybrid-saas) deployment model, you must add a secret to either [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) or [Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/secrets/about-secrets) in your own cloud infrastructure, as described below.
* In a Hybrid SaaS deployment model using a {m_runner} for Snowflake, read [Secrets in the {m_runner} for Snowflake](/docs/guides/snowflake-runner-secrets) for details of how to store the secret in a Snowflake schema.

### AWS Secrets Manager

1. Log in to the AWS account that houses your {m_runner}. This must be in the same AWS Region as the agent selected when the [project](/docs/guides/projects) was created.
2. In the search bar search for **Secrets Manager** to access the **Secrets** page.
3. Click **Store a new secret**.
4. Select **Other type of secret** and create a **Key/value** pair with the following details:
   * **Key:** Enter a label you will use to identify the token.
   * **Value:** Enter the Stripe API key code you copied earlier.
5. Click **Next** and on the next page enter a **Secret name**. This is the name that will appear in the [Secret definitions](/docs/guides/secrets-and-secret-definitions) list in **Your projects**.
6. The remainder of the details aren't needed, so click **Next** and **Next** again, then **Store** to complete the creation of the secret.

### Azure Key Vault

1. Log in to the Azure account that houses your {m_runner}. This must be in the same Azure Region as the agent selected when the [project](/docs/guides/projects) was created.
2. Click **Key vaults** and click the name of the key vault you want to reference. If there is only one, then this will be the **\[Default]** key vault configured in the agent.
3. Click **Objects** and then click **Secrets**.
4. Click **+ Generate/Import**.
5. On the **Create a secret** screen enter the following:
   * **Upload options:** Select **Manual**.
   * **Name:** Type a name for the secret. The secret name must be unique within a key vault. For more information on naming, read [Key Vault objects, identifiers, and versioning](https://learn.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#objects-identifiers-and-versioning).
   * **Secret value:** Enter the Stripe API key code you copied earlier.
6. Click **Create**.

***

## Add a secret definition

Follow the steps in [Secrets and secret definitions](/docs/guides/secrets-and-secret-definitions).

***

## Return to Designer

1. Return to the Stripe Query component in {designer}.
2. Click into the **API Key** property.
3. Select your new secret definition representing your Stripe API key.
4. Click **Save**.
