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

# Inicio Rápido

> Crea tu primer pago en 5 minutos

## Requisitos previos

* Una cuenta merchant en Ebioro con claves API
* Tu `api_public_key` y `api_secret_key` del dashboard

## 1. Autenticación

Todas las solicitudes API usan **Autenticación Digest** con tres headers:

| Header               | Descripción           |
| -------------------- | --------------------- |
| `X-Digest-Key`       | Tu clave API pública  |
| `X-Digest-Timestamp` | Timestamp Unix actual |
| `X-Digest-Signature` | Firma HMAC-SHA256     |

La firma se calcula como:

```
signature = HMAC-SHA256(api_secret_key, path + timestamp + method + body)
```

<Note>
  El timestamp debe estar dentro de 5 minutos del tiempo del servidor, o la solicitud será rechazada.
</Note>

## 2. Crear un pago

```bash theme={null}
curl -X POST https://test-merchant.ebioro.com/payments \
  -H "Content-Type: application/json" \
  -H "X-Digest-Key: pk_test_TU_CLAVE_PUBLICA" \
  -H "X-Digest-Timestamp: 1714067192" \
  -H "X-Digest-Signature: TU_FIRMA_CALCULADA" \
  -d '{
    "amount": {
      "value": 1000,
      "currency": "USD"
    },
    "description": "Orden #1234",
    "redirectUrl": "https://tusitio.com/exito",
    "webhookUrl": "https://tusitio.com/webhook"
  }'
```

La respuesta incluye:

* `checkout_id` — identificador único del pago
* `hostedUrl` — redirige al cliente aqui para el widget de pago
* `qrCode` — URI SEP-7 para pagos basados en wallet
* `settlement_amount` — monto en la unidad más pequeña de USDC (centavos)

## 3. El cliente paga

Redirige al cliente a `hostedUrl`, o usa la API directamente:

* **Stellar directo**: El cliente envia USDC a la direccion de pago con el memo del checkout
* **Cross-chain**: Usa los [endpoints cross-chain](/concepts/cross-chain) para obtener una dirección de depósito en la cadena preferida del cliente

## 4. Recibir el webhook

Cuando el pago se liquida, recibirás un POST a tu `webhookUrl`:

```json theme={null}
{
  "data": {
    "type": "transaction_updated",
    "id": "pt_ABC123",
    "status": "paid",
    "settlement_status": "paid",
    "settlement_amount": 1000,
    "settlement_currency": "USDC",
    "amount_paid": 1000
  }
}
```

Verifica la firma del webhook usando el header `X-WEBHOOK-AUTH`:

```
expected = HMAC-SHA256(api_secret_key, JSON.stringify(body))
```

## Siguientes pasos

<CardGroup cols={2}>
  <Card title="Autenticación" icon="lock" href="/authentication">
    Guía completa de autenticación con ejemplos de código
  </Card>

  <Card title="Pagos Cross-Chain" icon="shuffle" href="/concepts/cross-chain">
    Acepta pagos desde Solana, Ethereum, Base y más
  </Card>
</CardGroup>
