SkipDocumentación Skipdocs
AAPDÓrdenes

Crear una orden

POST /orders para iniciar una transacción AAPD.

POST /orders
Authorization: Bearer {client_secret}
Content-Type: application/json

La primera llamada en cualquier flujo AAPD. Tu backend crea una orden con la credencial server-side (client_secret), después pasa el hash retornado (el order_token) al widget para que el paciente complete el pago.

Cuerpo de la request

{
  "reference": "CLINIC-ORDER-12345",
  "total_amount": "100000",
  "customer": {
    "rut": "12345678-9",
    "first_name": "María",
    "last_name": "González",
    "email": "maria@example.com",
    "phone_number": "+56912345678"
  }
}
CampoObligatorioNotas
referenceTu ID de orden interno. Vuelve en los webhooks para correlación.
total_amountMonto total en CLP, como string sin decimales.
customer.rutRUT chileno, normalizado (XXXXXXXX-X).
customer.first_name, last_name, email, phone_numberDatos del paciente. Usados para notificaciones.

Respuesta (201 Created)

{
  "hash": "ord_abc123",
  "status": "pending",
  "reference": "CLINIC-ORDER-12345",
  "total_amount": "100000",
  "paid_amount": "0",
  "customer": { "rut": "12345678-9", "first_name": "María", "last_name": "González", "email": "...", "phone_number": "..." },
  "plan": { "name": "plan_30_70", "installments": [...] },
  "created_at": "2026-04-15T10:00:00Z"
}

El campo hash es el order_token que pasas al widget. Guárdalo — tu frontend lo va a necesitar.

Errores

StatusCausaRecuperación
401client_secret faltante o inválidaConfirma la credencial. Asegúrate de que sea client_secret, no client_id.
400Error de validación (RUT mal formado, monto negativo, campos faltantes)Arregla el body.
409Ya existe una orden activa con la misma referenceUsa una reference única por intento.

Ejemplo

curl -X POST "https://pay.getskip.ai/orders" \
  -H "Authorization: Bearer $SKIPPAY_CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "CLINIC-ORDER-12345",
    "total_amount": "100000",
    "customer": {
      "rut": "12345678-9",
      "first_name": "María",
      "last_name": "González",
      "email": "maria@example.com",
      "phone_number": "+56912345678"
    }
  }'

Después de esto, mintea un widget token con el hash retornado como order_token. Ver Construir la URL del widget.

On this page