# Endpoints de Pagamentos e Pré-autorizações

Esta referência detalha os endpoints usados para processar vendas, reservar fundos e confirmar pré-autorizações.

## 1. Processar Pagamento (`/pago`)

Inicia uma transação de venda padrão. O terminal solicitará o cartão ao cliente.

* **URL (Teste):** `https://tpvpc-i.redsys.es:27443/TPV_PC/services/rest/tpvpcwss/v1/pago`  
* **URL (Prod):** `https://tpvpc.redsys.es/TPV_PC/services/rest/tpvpcwss/v1/pago`  
* **Método:** `POST`

### Parâmetros da Requisição (`datosOperacion`)

| Campo | Tipo | Obrigatório | Comprimento Máx. | Descrição |
| :---- | :---- | :---- | :---- | :---- |
| `importe` | Double | Sim | 12 | Valor da transação (ex.: `10.50`, `0.01`). |
| `factura` | String | Sim | 250 | ID de fatura único ou referência para a transação. |

### Resposta (`info`)

Reconhecimento síncrono da requisição.

| Campo | Tipo | Descrição |
| :---- | :---- | :---- |
| **resultado.codigo** | String | `0` indica recepção bem-sucedida. Qualquer outro valor indica um erro. |

## 2. Pré-autorização (`/preautorizacion`)

Inicia uma reserva de fundos sem capturá-los imediatamente.

* **URL (Teste):** `https://tpvpc-i.redsys.es:27443/TPV_PC/services/rest/tpvpcwss/v1/preautorizacion`  
* **URL (Prod):** `https://tpvpc.redsys.es/TPV_PC/services/rest/tpvpcwss/v1/preautorizacion`  
* **Método:** `POST`

### Parâmetros da Requisição (`datosOperacion`)

| Campo | Tipo | Obrigatório | Comprimento Máx. | Descrição |
| :---- | :---- | :---- | :---- | :---- |
| `importe` | Double | Sim | 12 | Valor a ser reservado. |
| `factura` | String | Sim | 250 | Referência única. Deve ser preservada para a etapa de Confirmação. |

### Resposta (`info`)

Reconhecimento síncrono.

| Campo | Tipo | Descrição |
| :---- | :---- | :---- |
| `resultado.codigo` | String | `0` indica recepção bem-sucedida. |

## 3. Confirmação (`/confirmacion`)

Captura fundos previamente reservados por uma Pré-autorização.

* **URL (Teste):** `https://tpvpc-i.redsys.es:27443/TPV_PC/services/rest/tpvpcwss/v1/confirmacion`  
* **URL (Prod):** `https://tpvpc.redsys.es/TPV_PC/services/rest/tpvpcwss/v1/confirmacion`
* **Método:** `POST`

### Parâmetros da Requisição (datosOperacion)

| Campo | Tipo | Obrigatório | Comprimento Máx. | Descrição |
| :---- | :---- | :---- | :---- | :---- |
| `importe` | Double | Sim | 12 | Valor a ser capturado. Pode ser menor ou igual ao valor da pré-autorização. |
| `factura` | String | Sim | 250 | **Deve corresponder** à `factura` da pré-autorização original. |

### Resposta (`info`)

Reconhecimento síncrono.

| Campo | Tipo | Descrição |
| :---- | :---- | :---- |
| `resultado.codigo` | String | `0` indica recepção bem-sucedida. |