Cierre de preautorización (checkout)
El checkout (CHECKOUT) cierra una preautorización aprobada y cobra el monto final.
POST /api/v1/pos-operations| Ambiente | URL base API |
|---|---|
| Integración | https://ms-payment-c2c.virtualpos-dev.com/ms-payment-c2c |
| Producción | https://ms-payment-c2c.virtualpos.cl/ms-payment-c2c |
Headers
Sección titulada «Headers»| Nombre | Requerido | Descripción |
|---|---|---|
Content-Type |
Sí | application/json |
X-Api-Key |
Sí | Tu API key. |
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
posSerial |
string | Sí | Serial del POS. |
operationType |
string | Sí | CHECKOUT |
externalPaymentId |
string | Sí | ID del cierre en tu sistema. Debe ser distinto al del check-in. |
amount |
integer | Sí | Monto final a cobrar, en pesos sin decimales. Mayor que 0. |
currency |
string | No | Solo CLP. Por defecto CLP. |
checkout |
object | Sí | Datos de la preautorización que se cierra. Ver abajo. |
callbackUrl |
string | No | URL donde recibirás los webhooks. |
No acepta tipAmount.
Objeto checkout
Sección titulada «Objeto checkout»Solo preauthPosTransactionId es obligatorio. Los demás campos son opcionales: envíalos si los guardaste del webhook del check-in.
| Campo | Requerido | Dónde lo obtienes en el resultPayload del check-in |
|---|---|---|
preauthPosTransactionId |
Sí | posTransactionId |
preauthIssuerAuthCode |
No | authCode |
preauthAuthorizedTotal |
No | amountMinor |
cardBin |
No | cardBin |
cardTypeId |
No | cardTypeId |
cardBrand |
No | cardBrand |
cardMaskedPan |
No | cardMaskedPan |
operationalTid |
No | operationalTid |
preauthMcCode, cardApplicationId, folio |
No | Si el POS los informó en el check-in. |
Ejemplo de request
Sección titulada «Ejemplo de request»curl -X POST 'https://ms-payment-c2c.virtualpos-dev.com/ms-payment-c2c/api/v1/pos-operations' \ -H 'Content-Type: application/json' \ -H "X-Api-Key: $API_KEY" \ -d '{ "posSerial": "VPOS-1A2B3C4D5E", "operationType": "CHECKOUT", "externalPaymentId": "reserva-5521-checkout", "amount": 120000, "currency": "CLP", "checkout": { "preauthPosTransactionId": "7c41a2b0-5d3e-4f19-9a8b-2e6f0c1d3b47", "preauthIssuerAuthCode": "123456", "preauthAuthorizedTotal": 100000, "cardBin": "411111", "cardTypeId": "CREDIT", "cardBrand": "VISA", "cardMaskedPan": "411111******1111", "operationalTid": "00288NHGGV" }, "callbackUrl": "https://tu-sistema.cl/webhooks/virtualpos"}'Respuesta
Sección titulada «Respuesta»201 Created con la operación en estado DISPATCHED, con la misma forma que en Crear una venta. El resultado del cierre llega por webhook.
Si falta checkout.preauthPosTransactionId, la API responde 400 Bad Request.