AAPD

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 entero (sin decimales). Se acepta también como string numérico.
customer.rutRUT chileno. Se acepta con o sin puntos.
customer.first_name, last_name, email, phone_numberDatos del paciente. Usados para notificaciones.

Respuesta (201 Created)

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

El campo hash es el order_token que pasas al widget — un UUID. Guárdalo, tu frontend lo va a necesitar. La respuesta trae campos adicionales (montos, comisión, pagos); trátala como no exhaustiva y lee solo los que necesites.

Errores

StatusCausaRecuperación
401client_secret faltante o inválidaConfirma la credencial. Asegúrate de que sea client_secret, no client_id.
400 / 422Error de validación (RUT mal formado, monto negativo, campos faltantes)Arregla el body. Los errores de esquema devuelven 422; los de negocio, 400.

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