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

# Métodos de pago

> Declara los métodos de pago con los que cobra tu cuenta, y los datos que cada uno necesita antes de que una tienda pueda usarlo.

Fire no viene con un catálogo de métodos de pago. Tu cuenta declara los suyos, un conjunto por país — y, más importante aún, declara **qué necesita cada método para cobrar y quién debe cargar eso**.

Esa segunda parte es para lo que existe esta pantalla. Un procesador de tarjetas necesita un merchant ID del banco, un código por tienda y la IP del pinpad que está al lado de cada kiosco. Esas tres cosas las completan tres personas distintas en tres momentos distintos. Si el método no lo dice, la pantalla de tienda o pide datos que nadie tiene o nunca pide el que importa — y el pago falla en el mostrador, con un cliente esperando.

Navega a **Operación → Métodos de pago**.

<Frame>
  <img src="https://mintcdn.com/firepos/_Y0B1ywQR3NmgFiH/images/manuals/payments/payment-methods/01-listado.png?fit=max&auto=format&n=_Y0B1ywQR3NmgFiH&q=85&s=2756eae4117c83871adfeea25d3e2ee2" alt="Lista de métodos de pago" width="3200" height="2000" data-path="images/manuals/payments/payment-methods/01-listado.png" />
</Frame>

***

## Lo mínimo que hay que saber

<Note>
  **1. El código es un contrato, y es permanente.** Los canales referencian el método por su `code`, así que una vez que lo guardas no lo puedes cambiar. El nombre sí lo puedes renombrar cuando quieras.

  **2. Cada método declara sus propios campos, y en qué nivel se completa cada uno.** *Cuenta*, *Tienda* o *Terminal*. Esa decisión es lo que lee la pantalla de tiendas para saber qué pedir.

  **3. Desactivar un método es reversible. Eliminarlo no lo es.** *Activo* apagado para de cobrar en todas partes y conserva todo. Eliminar no se puede deshacer: crear el método de nuevo arranca con la configuración vacía.
</Note>

***

## El camino simple

Si solo cobras en efectivo, esto lleva un minuto.

1. **Nuevo método de pago**.
2. **Nombre**: `Efectivo`. El **Código** se completa solo como `efectivo` mientras escribes.
3. Marca **Este método no cobra con tarjeta**.
4. **Guardar**.

Sin campos de configuración, sin marcas de tarjeta, nada más. El método ya existe y la pantalla de [configuración por tienda](/es/manuals/payments/store-configuration) puede activarlo donde sea que cobres en efectivo.

<Tip>
  Si el efectivo es todo lo que cobras, ya terminaste. Todo lo que sigue es para el día que aparezca un procesador.
</Tip>

***

## El código es el contrato

Mientras escribes el nombre, Fire deriva el **Código** de él: minúscula, sin tildes, sin espacios, guiones bajos en su lugar. Puedes sobreescribirlo — un proveedor puede exigir una ortografía exacta — pero en el momento que guardas, **el código queda bloqueado**.

Eso es deliberado. El código es el identificador que usan los canales para referirse al método: kioscos, el POS, agregadores. Renombrar *Datafast* a *Datafast EC* cambia lo que lee el cliente en pantalla y nada más. El código sigue siendo `datafast` y todo lo que está abajo sigue funcionando.

Dos consecuencias que vale la pena conocer antes de guardar:

* **Un error en el código es permanente.** Tener `datafst` en producción significa crear un método nuevo y reconfigurar cada tienda que usaba el viejo.
* **El código es único por país.** Intentar reutilizar uno te da *"Ya existe un método de pago con ese código en este país"*. El mismo código en Ecuador y en Brasil está bien — son métodos separados.

***

## Campos de configuración: qué necesita el método, y quién lo completa

Esta es la sección que se paga sola. Bajo **Campos de configuración** declaras, una fila por cada pieza de dato, qué necesita este método para poder cobrar.

<Frame>
  <img src="https://mintcdn.com/firepos/_Y0B1ywQR3NmgFiH/images/manuals/payments/payment-methods/03-editor-campos.png?fit=max&auto=format&n=_Y0B1ywQR3NmgFiH&q=85&s=465c73207224dbb3061855555bf33da8" alt="Sección de campos de configuración del editor de métodos de pago" width="1536" height="1800" data-path="images/manuals/payments/payment-methods/03-editor-campos.png" />
</Frame>

Cada campo tiene:

| Campo              | Para qué sirve                                                                                                                            |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Etiqueta**       | Lo que lee la persona que lo completa. *"Merchant ID"*.                                                                                   |
| **Key**            | Lo que viaja al canal. Derivada de la etiqueta, editable — un proveedor puede requerir un nombre exacto. Minúscula, números y guión bajo. |
| **Se completa en** | El nivel. Este es el importante — ver abajo.                                                                                              |
| **Texto de ayuda** | Opcional. Dónde conseguir el valor: *"El banco te lo da."*                                                                                |
| **Obligatorio**    | Activado por defecto. Sin él, la combinación se muestra como **Falta configurar**.                                                        |
| **Secreto**        | Oculta el valor en pantalla mientras se escribe.                                                                                          |

### Los tres niveles

**Se completa en** decide quién recibe la pregunta por el valor, y dónde:

| Nivel        | Se completa una vez por | Ejemplo típico                     | Dónde se carga                                                 |
| ------------ | ----------------------- | ---------------------------------- | -------------------------------------------------------------- |
| **Cuenta**   | Toda la cuenta          | La API key del procesador          | Configuración por tienda, sección *Configuración de la cuenta* |
| **Tienda**   | Cada tienda             | El código de la tienda en el banco | Configuración por tienda, sección *Configuración de la tienda* |
| **Terminal** | Cada dispositivo        | La IP del pinpad                   | Configuración por tienda o el detalle propio del kiosco        |

Al momento de cobrar los tres niveles se fusionan y **gana el más específico**: terminal sobre tienda, tienda sobre cuenta. Eso es lo que permite que un kiosco tenga su propia IP de pinpad sin borrar la de la tienda.

<Warning>
  **Una key repetida rompe la fusión silenciosamente.** Dos campos con la misma **Key** significa que uno sobreescribe al otro y no se levanta ningún error al cobrar. Fire no te deja guardarlo — la key duplicada se pone roja y **Guardar** se queda deshabilitado — pero el borde es la única advertencia que obtienes, así que vale la pena leerlo como lo que es.
</Warning>

***

## Marcas de tarjeta

<Frame>
  <img src="https://mintcdn.com/firepos/_Y0B1ywQR3NmgFiH/images/manuals/payments/payment-methods/04-editor-marcas.png?fit=max&auto=format&n=_Y0B1ywQR3NmgFiH&q=85&s=953456b22c1e8ac54ff05d563948ec24" alt="Sección de marcas de tarjeta con las cuatro marcas" width="1536" height="1800" data-path="images/manuals/payments/payment-methods/04-editor-marcas.png" />
</Frame>

Un método nuevo nace aceptando **las cuatro** marcas: Visa, Mastercard, Amex, Discover. Destildas las que no toma. Así el caso común no necesita trabajo y la excepción es un clic.

Para un método que no tiene nada que ver con tarjetas — efectivo, una transferencia bancaria, una billetera — marca **Este método no cobra con tarjeta** y la grilla desaparece. No hay una bandera separada de "¿es tarjeta?": una lista vacía de marcas ya lo dice.

***

## El logo

El logo es lo que ve el cliente en el checkout en canales que lo renderizan. Lo subes **abriendo un método que ya existe** — el campo no está mientras lo estás creando.

<Frame>
  <img src="https://mintcdn.com/firepos/uOsz82DsbGjXDU2u/images/manuals/payments/payment-methods/05-logo.png?fit=max&auto=format&n=uOsz82DsbGjXDU2u&q=85&s=edaaec6701b2446146756afff83bab26" alt="Carga de logo en el editor de métodos de pago" width="1536" height="1800" data-path="images/manuals/payments/payment-methods/05-logo.png" />
</Frame>

WebP, JPG, PNG o SVG, hasta 1 MB, idealmente 744×744 px. Todo lo que no es SVG se convierte a WebP en el camino; los SVG se conservan tal cual porque son vectoriales y convertirlos costaría calidad.

***

## Desactivar no es eliminar

Dos acciones distintas que la gente confunde bajo presión, cuando un procesador acaba de caerse.

**Destildar Activo** para ese método de cobrar en todas partes, y conserva la configuración de cada tienda exactamente como estaba. Cuando lo vuelves a tildar, Fire trae de vuelta **solo lo que la desactivación apagó** — todo lo que ya estaba pausado a mano se queda pausado. Es la reversible, y es la correcta para una caída.

**Eliminar** quita el método de la lista para siempre.

<Frame>
  <img src="https://mintcdn.com/firepos/uOsz82DsbGjXDU2u/images/manuals/payments/payment-methods/06-borrar.png?fit=max&auto=format&n=uOsz82DsbGjXDU2u&q=85&s=7ca3cbaba6c09a01d30e5eef74eb28d7" alt="Diálogo de confirmación de eliminación" width="1024" height="356" data-path="images/manuals/payments/payment-methods/06-borrar.png" />
</Frame>

<Warning>
  **Eliminar no se puede deshacer.** El diálogo lo dice: crear el método de nuevo arranca con la configuración vacía. Es un método nuevo, con una identidad nueva — los valores cargados en tus tiendas, las credenciales de terminal, nada de eso vuelve, aunque reutilices el mismo código. Si lo que quieres es una pausa, usa **Activo** apagado.
</Warning>

***

## Recetas: cómo manejar casos reales

<AccordionGroup>
  <Accordion title="Configurar efectivo">
    1. **Nuevo método de pago** → Nombre `Efectivo`.
    2. Marca **Este método no cobra con tarjeta**.
    3. **Guardar**.

    Sin campos de configuración: no hay nada que completar para que el efectivo funcione. En [configuración por tienda](/es/manuals/payments/store-configuration) pasa directo a **Listo para cobrar** en cuanto lo habilitas.
  </Accordion>

  <Accordion title="Configurar un procesador de tarjetas con un pinpad por kiosco">
    El banco te da un merchant ID, cada tienda tiene su propio código y cada kiosco tiene su propio pinpad.

    1. **Nuevo método de pago** → Nombre `Datafast`, código `datafast`.
    2. Deja tildadas las marcas de tarjeta que toma el procesador.
    3. **Agregar campo** tres veces:
       * `merchant_id` — **Se completa en** *Cuenta*, **Obligatorio**
       * `store_code` — **Se completa en** *Tienda*, **Obligatorio**
       * `pinpad_ip` — **Se completa en** *Terminal*, **Obligatorio**, texto de ayuda *"La IP del pinpad en este kiosco."*
    4. **Guardar**.

    De ahí en adelante la pantalla de tienda pide exactamente esos tres, cada uno en su nivel, y nadie tiene que recordar cuál es cuál.
  </Accordion>

  <Accordion title="Configurar un gateway online con una sola credencial">
    Un gateway que se autentica una vez para toda la cuenta y no necesita nada por tienda.

    1. Crea el método con su nombre y marcas.
    2. **Agregar campo** dos veces, ambos **Se completa en** *Cuenta*:
       * `api_key` — **Obligatorio**, **Secreto**
       * `api_password` — **Secreto**
    3. **Guardar**.

    Cargar esos dos valores una vez en la pantalla de tienda deja cada tienda que ofrece el método lista.
  </Accordion>

  <Accordion title="El procesador cayó y necesitas parar de cobrar con él">
    1. Abre el método.
    2. Destilda **Activo**.
    3. **Guardar**.

    Para de cobrar en cada tienda, canal y fulfillment de una vez, y cada configuración se queda en su lugar. Cuando el proveedor vuelva, tilda **Activo** de nuevo: lo que la desactivación apagó vuelve solo.

    <Note>Lo que alguien había pausado a mano antes de la caída se queda pausado. Reactivar no deshace decisiones humanas.</Note>
  </Accordion>

  <Accordion title="Cambiar de proveedor conservando el mismo código">
    Si el proveedor nuevo necesita datos distintos pero prefieres no tocar cada canal que referencia el código:

    1. Abre el método y edita sus **Campos de configuración** — agrega lo que el proveedor nuevo pide, quita lo que ya no usa.
    2. Renómbralo si el nombre de cara al cliente cambia.
    3. Recarga los valores en [configuración por tienda](/es/manuals/payments/store-configuration).

    El código no cambia, así que nada de lo que está abajo necesita tocarse. Eliminar el método y crear otro con el mismo código también funcionaría, pero perderías cada valor configurado.
  </Accordion>
</AccordionGroup>

***

## Un método, seguido de punta a punta

`datafast`, con sus cuatro campos, en una cadena con dos tiendas y tres kioscos:

| Campo          | Se completa en         | Veces que se carga | Quién lo carga                      |
| -------------- | ---------------------- | ------------------ | ----------------------------------- |
| `merchant_id`  | **Cuenta**             | 1                  | Quien hizo el contrato con el banco |
| `api_password` | **Cuenta** *(secreto)* | 1                  | La misma persona                    |
| `store_code`   | **Tienda**             | 2 — uno por tienda | Quien abre cada tienda              |
| `pinpad_ip`    | **Terminal**           | 3 — uno por kiosco | Quien instala el hardware           |

Seis valores en total. Si los cuatro se hubieran declarado a nivel **Tienda**, la misma configuración llevaría ocho, dos de ellos copiados idénticamente y uno de ellos mal el día que alguien lo escriba mal. Si `pinpad_ip` se hubiera declarado a nivel **Cuenta**, los tres kioscos compartirían una IP y dos de ellos nunca cobrarían.

**El nivel no es una formalidad: es cuántas veces alguien tiene que escribir el valor, y cuántas chances hay de ponerlo mal.**

***

## Errores que cuestan plata

<Warning>
  **Guardar con un error en el código.** Queda bloqueado desde ese momento. El arreglo es un método nuevo más reconfigurar cada tienda que usaba el viejo.
</Warning>

<Warning>
  **Eliminar en vez de desactivar.** Eliminar no se puede deshacer y la configuración no vuelve con el método. Para una caída temporal, destilda **Activo**.
</Warning>

<Warning>
  **Declarar un campo por dispositivo a nivel Tienda.** Todos los kioscos en esa tienda terminan compartiendo un valor. Si es una IP de pinpad, solo uno de ellos cobra.
</Warning>

<Warning>
  **Dejar Obligatorio apagado en un campo que de verdad es obligatorio.** La combinación se muestra como lista en configuración por tienda, el método viaja al kiosco con datos incompletos, y la falla se muestra en el mostrador en vez de en la pantalla donde se podía haber arreglado.
</Warning>

***

## Glosario

| Término                    | Qué significa                                                                                  |
| -------------------------- | ---------------------------------------------------------------------------------------------- |
| **Código**                 | El identificador estable del método. Los canales lo referencian. Bloqueado después de guardar. |
| **Campo de configuración** | Un dato que el método necesita para cobrar. Tiene una key, un nivel y si es obligatorio.       |
| **Se completa en**         | El nivel en el cual se carga el valor de un campo: *Cuenta*, *Tienda* o *Terminal*.            |
| **Key**                    | El nombre del campo que viaja al canal. No necesariamente es igual a la etiqueta.              |
| **Secreto**                | Un campo cuyo valor se oculta en pantalla mientras se escribe.                                 |
| **Activo**                 | Si el método cobra. Apagado lo pausa en todas partes sin perder nada.                          |
| **Marcas de tarjeta**      | Las marcas que acepta el método. Vacío significa que no es un método de tarjeta.               |

***

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Puedo cambiar el código después de guardar?">
    No. Queda bloqueado porque los canales ya lo referencian. Lo que sí puedes cambiar es el **Nombre**, tantas veces como quieras — eso es lo que ve el cliente.
  </Accordion>

  <Accordion title="Eliminé un método por error. ¿Puedo recuperarlo?">
    No desde la app. Crearlo de nuevo — aunque sea con el mismo código — produce un método nuevo con la configuración vacía: los valores cargados en tus tiendas y terminales no se vuelven a conectar. Si lo que necesitabas era una pausa, la acción reversible era destildar **Activo**.
  </Accordion>

  <Accordion title="¿Por qué un método no aparece en una tienda?">
    Existir aquí no es lo mismo que ofrecerse ahí. La disponibilidad se decide por tienda, canal y fulfillment en [configuración por tienda](/es/manuals/payments/store-configuration). Verifica también que el método esté **Activo** y que su país coincida con el de la tienda.
  </Accordion>

  <Accordion title="¿Qué cambia marcar un campo como Secreto?">
    Oculta el valor en pantalla mientras se escribe, de la misma forma que funciona un campo de contraseña. Es una ayuda de visualización para quien lo está cargando, no una garantía de encriptación — trátalo como tal cuando decidas qué poner ahí.
  </Accordion>

  <Accordion title="¿Los métodos de un país se muestran en otro?">
    No. Un método pertenece a una cuenta **y a un país**. La pantalla siempre muestra los métodos del país seleccionado en el encabezado, que es por qué el mismo código puede existir en dos países como dos métodos separados.
  </Accordion>

  <Accordion title="¿Puedo reordenar la lista?">
    Todavía no. La lista se ordena alfabéticamente por nombre. Si el orden te importa, el nombre es la palanca que tienes.
  </Accordion>
</AccordionGroup>

***

## Lo que viene

Cosas que esta pantalla **no** hace hoy, así que nadie las promete:

* **No hay restauración de un método eliminado.** Eliminar es final, como dice el diálogo.
* **No hay duplicación de un método**, ni copiar métodos de un país a otro.
* **No hay ordenamiento manual** de la lista.
* **No hay tipos de datos en los campos de configuración**: todo se captura como texto. No hay número, booleano, menú desplegable ni validación de formato.
* **Las marcas de tarjeta son las cuatro listadas.** No se pueden agregar marcas locales.
* **El logo se sube editando**, nunca mientras se crea el método.
* **Los cambios aquí no te dicen si cada kiosco los recibió.** Si un kiosco estaba offline cuando renombraste o desactivaste un método, la advertencia se muestra en [configuración por tienda](/es/manuals/payments/store-configuration), no aquí.
