App
Crear App
Crear una nueva aplicación para integrar pagos.
POST /app/create
Crea una nueva aplicación. Al crearla se genera un secret que solo se muestra una vez en la respuesta.
Autenticación
Bearer Token en header Authorization.
Request
curl -X POST https://api.qvapay.com/app/create \
-H "Authorization: Bearer {tu-token}" \
-F "name=Mi Tienda" \
-F "url=https://mitienda.com" \
-F "[email protected]" \
-F "desc=Tienda de productos digitales" \
-F "callback=https://mitienda.com/callback" \
-F "success_url=https://mitienda.com/success" \
-F "cancel_url=https://mitienda.com/cancel"Parámetros
El body debe enviarse como FormData (multipart/form-data). Los textos se guardan sin espacios al principio ni al final; una URL con espacios en medio, con usuario y contraseña o con otro esquema (javascript:, ftp:…) se rechaza.
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | Si | Nombre de la app (3-50 caracteres) |
url | string | Si | URL principal de la app (http:// o https://, máximo 191 caracteres) |
logo | file | Si | Logo de la app (JPG o PNG, máximo 5MB) |
desc | string | Si | Descripción de la app (máximo 191 caracteres) |
callback | string | Si | URL del webhook de pago: https://, pública (no localhost), máximo 191 caracteres |
success_url | string | Si | URL de redirección en pago exitoso (http:// o https://, máximo 500 caracteres) |
cancel_url | string | Si | URL de redirección en pago cancelado (http:// o https://, máximo 500 caracteres) |
Response
{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"secret": "sk_live_abc123def456ghi789",
"name": "Mi Tienda",
"url": "https://mitienda.com",
"desc": "Tienda de productos digitales",
"logo": "https://cdn.qvapay.com/apps/logo.png"
}Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
uuid | string | Identificador único de la app |
secret | string | Clave secreta de la app (solo se muestra una vez) |
name | string | Nombre de la app |
url | string | URL principal de la app |
desc | string | Descripción de la app |
logo | string | URL del logo subido |
Errores
| Código | Descripción |
|---|---|
400 | Campo faltante o inválido. La respuesta trae error (motivo), field (el campo) y code: INVALID_URL para una URL, DESC_TOO_LONG cuando desc supera los 191 caracteres (trae max), INVALID_FIELD para el resto |
500 | Error interno del servidor |