Errores
POS Cloud to Cloud usa su propio formato de error, distinto al objeto Error del resto de la API:
{ "code": "400", "message": "currency must be CLP"}| Campo | Descripción |
|---|---|
code |
Código HTTP, como texto. |
message |
Detalle del error. |
Códigos HTTP
Sección titulada «Códigos HTTP»| Código | Cuándo ocurre |
|---|---|
200 OK |
Repetiste un externalPaymentId: la respuesta trae la operación existente. Ver idempotencia. No es un error. |
201 Created |
La operación se creó. Si viene con status: "FAILED", no se pudo enviar al POS. |
400 Bad Request |
La solicitud no es válida. Ver causas abajo. |
401 Unauthorized |
Falta el header X-Api-Key o la API key no es válida. Esta respuesta no trae body. |
403 Forbidden |
El POS no está habilitado para POS Cloud to Cloud en tu comercio, o la operación pertenece a otro comercio. |
404 Not Found |
No existe una operación con ese paymentRequestId. |
500 Internal Server Error |
Error inesperado de Virtualpos. Reintenta con el mismo externalPaymentId para no duplicar la operación. |
Causas frecuentes de 400
Sección titulada «Causas frecuentes de 400»- Faltan campos obligatorios:
posSerial,operationTypeoexternalPaymentId. amountausente o menor o igual a 0 enSALE,CHECKINoCHECKOUT.currencydistinto deCLP.tipAmounten una operación distinta deSALE.CHECKOUTsincheckout.preauthPosTransactionId.PRINTsinprint.linesniprint.voucher, o con ambos.print.copiesfuera del rango 1 a 3, o más de 400 líneas.print.vouchersin uncopyválido, sin identificador, con ambos identificadores o con unoperational_tidinválido.scanBarcode.timeoutSecondsfuera del rango 1 a 180.- La solicitud supera los 300 KB.
limitostatusinválidos al listar operaciones.
201 con status: "FAILED"
Sección titulada «201 con status: "FAILED"»La operación quedó registrada, pero no se pudo enviar al POS. Revisa que:
- El
posSerialsea correcto. - El POS esté encendido, con conexión a internet y con la app Virtualpos abierta.
- El POS esté habilitado para POS Cloud to Cloud.
Si el problema continúa, escríbenos a soporte@virtualpos.cl con el paymentRequestId.