Documentación / Referencia

Códigos de error

El cuerpo de un error siempre tiene la misma forma. Básese en code, no en el texto: el texto está pensado para personas y puede cambiar.

JSON
{ "error": { "code": "duplicate_order", "message": "Ya existe una factura para este order_id" } }
Cuándo es seguro reintentarAnte 429, 500, 503, idempotency_in_progress y errores de red, con el mismo Idempotency-Key: no se crearán duplicados.

Solicitud y acceso

HTTPcodeCausa y qué hacer
400bad_json, bad_bodyEl cuerpo no es JSON, tiene campos de más o un importe numérico en lugar de una cadena: corrija la solicitud
400bad_idempotency_keyFalta la clave o su formato no es válido: 8–128 caracteres ASCII imprimibles, sin empezar por d:
400bad_queryParámetros de listado no válidos
401unauthorizedFirma, hora, nonce o clave: consulte CP-HMAC
403merchant_suspendedEl comercio está suspendido: contacte con el soporte
403merchant_not_approvedLa configuración no ha terminado o la solicitud está en revisión: complete el asistente en el panel
403billing_suspendedHay una factura de comisión impagada: páguela en el panel, en «Facturación»; la suspensión se levantará de inmediato
404not_foundLa factura no existe o pertenece a otro comercio
413body_too_largeEl cuerpo supera el límite: reduzca metadata
429rate_limitedDemasiadas solicitudes: reintente con espera exponencial
500internalError interno: reintente con el mismo Idempotency-Key

Facturas e idempotencia

HTTPcodeCausa y qué hacer
409duplicate_orderEl order_id ya se ha usado: use uno nuevo, por ejemplo ORDER-1001-2
409idempotency_conflictLa misma clave con otro cuerpo
409idempotency_in_progressLa primera solicitud aún se está procesando: reintente en 1–2 s
409invoice_not_payableLa factura ha vencido o está cerrada: cree una nueva
422invalid_order_id, invalid_price_amount, invalid_price_currency, invalid_return_url, invalid_expires_in_seconds, invalid_metadataUn campo no ha superado la validación: el texto indica la regla
422invalid_allowed_assetsNinguno de los activos de la lista está disponible: el texto da el motivo de cada uno
422no_assetsNo hay ningún activo disponible: revise las billeteras y los activos en el panel
422amount_too_smallEl importe es inferior al mínimo de todos los activos disponibles

Elección de moneda en la página de pago

Estos errores los gestiona la página de pago; su servidor solo los verá si llama a select directamente.

HTTPcodeCausa
409asset_lockedCambio de moneda después de un pago
409wallet_not_configuredNo hay una billetera de cobro activa para esa red
409wallet_changed, address_conflictRepita la elección
422asset_not_allowedEl activo no está en la factura o ya no está permitido
503rate_unavailableNo hay un tipo de cambio confirmado: ofrezca una stablecoin
503network_unavailableLos cobros en esa red no están disponibles temporalmente: elija otra

Reembolsos

HTTPcodeCausa
403merchant_inactiveLa tienda está suspendida o la clave se ha revocado
409invoice_not_paidLa factura no tiene un activo elegido: no hay nada que reembolsar
409nothing_to_refundTodo ya se ha reembolsado o solicitado
409too_many_refundsHay 20 solicitudes abiertas para la factura
409refund_executorEl reembolso lo ejecuta la plataforma, no usted
409invoice_status_changedEl estado de la factura cambió tras la solicitud: reintente con "ack_status_change": true
422amount_exceeds_refundableEl importe supera el disponible: redúzcalo o use "full"
422invalid_amount, invalid_address, invalid_tx_hashUn campo no ha superado la validación