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

# Environments

> Build and test in Demo, then go live in Production.

Compago runs two separate environments. **Demo** is a sandbox for building and testing your integration: no money moves. **Production** processes real payments.

The two environments share nothing. Each has its own dashboard, organization, API keys and terminals. Nothing you create in one exists in the other.

| | Demo | Production |
| - | - | - |
| Dashboard | `https://demo-app.compago.com` | `https://app.compago.com` |
| API | `https://demo-api-harmony.compago.com/api` | `https://api-harmony.compago.com/api` |
| Developer API | `https://demo-api-harmony.compago.com/api/developer/v1` | `https://api-harmony.compago.com/api/developer/v1` |
| Terminal app | Compago POS app, **Demo** build | Compago POS app, production build |
| Payments | Never charged | Charged to the card |

<Note>
  The examples in these docs call the production host. While you build, replace `https://api-harmony.compago.com` with `https://demo-api-harmony.compago.com` and use a Demo API key.
</Note>

## Getting a Demo account

Your Demo login is not the same as your production login. To get one, ask your Compago contact for a Demo account. They create your Demo organization and invite you to `https://demo-app.compago.com`.

## Creating a Demo API key

Create the key in the dashboard of the environment you are going to call:

1. Sign in to `https://demo-app.compago.com` (for Production, `https://app.compago.com`).
2. Navigate to **Configuraciones** → **Desarrollador**.
3. Click **Crear API Key** and copy the key.

**Desarrollador** is the name of the dashboard section where keys live, in both environments. It is not a separate development account: a key created in `app.compago.com` is always a production key.

A key only authenticates in the environment that created it. A Demo key against the production host, or a production key against the Demo host, returns `401 Unauthorized`.

## Testing with a terminal

The Compago POS app on a terminal is built for one environment. It only talks to that environment and only receives the [payment intents](/payment-intent/create) created there.

Both builds appear as **Compago** on the terminal. To tell them apart, open the app's details in Android settings: the Demo build's version ends in `-demo`.

* **A terminal shipped for Production runs the production app.** It cannot take Demo payments as it is.
* **To test with a terminal, it needs the Demo build.** Ask your Compago contact to share it.

The terminal belongs to the organization of the salesperson who signs in on it. Once the Demo build is installed:

1. In `https://demo-app.compago.com`, create a salesperson under **Operación** → **Vendedores**.
2. Sign in to the Demo build on the terminal with that salesperson's username and password.

Signing in links the terminal to your Demo organization, and it starts receiving your Demo payment intents. This only happens in Demo: the terminal stays linked to your production organization in Production.

Both builds can be installed on the same terminal. They answer the same deep link (`compago-pos-app://`), so if both are installed, Android asks which one to open. On a terminal you use for development, keep only the Demo build.

## Paying in Demo

Demo never charges a card. You can use any card, on the terminal or in the hosted checkout, and no money moves. Payments made in Demo only appear in the Demo dashboard.

## Going live

When your integration works in Demo:

1. Create a production key in `https://app.compago.com` under **Configuraciones** → **Desarrollador**.
2. Switch your base URL from `https://demo-api-harmony.compago.com` to `https://api-harmony.compago.com`.
3. Use terminals with the production build of the Compago POS app, signed in with a salesperson of your production organization.
4. If you use an [Odoo integration](/odoo/overview), set its **Environment** to **Production** and paste the production key.
5. Make one small payment with a real card to confirm the setup. It is charged.
