Reembolsos
Asociar una nota de crédito aceptada a un reembolso
const url = 'https://api.timbro.do/v1/refunds/example/invoice';const options = { method: 'PUT', headers: { 'idempotency-key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"invoiceId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","receipt":{"id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","accessToken":"example"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.timbro.do/v1/refunds/example/invoice \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'idempotency-key: example' \ --data '{ "invoiceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "receipt": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "accessToken": "example" } }'Verifica la factura E34 con la factura original, el emisor, el ambiente, la moneda y el importe reembolsado. Si la emitió una integración independiente, incluye el acceso a su factura compartida. La asociación no cambia el resultado del reembolso. Repite la misma Idempotency-Key y consulta el reembolso para confirmar su estado.
Autenticación
Sección titulada «Autenticación»Parámetros
Sección titulada «Parámetros»Parámetros de ruta
Sección titulada «Parámetros de ruta»Reembolso asociado con la nota de crédito.
Parámetros de cabecera
Sección titulada «Parámetros de cabecera»Cuerpo de la solicitudobligatorio
Sección titulada «Cuerpo de la solicitudobligatorio»Ejemplogenerated
{ "invoiceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "receipt": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "accessToken": "example" }}Asocia una nota de crédito aceptada después de verificar la factura original, el emisor, el ambiente, la moneda y el importe. Una integración independiente debe proporcionar el acceso a su factura compartida.
object
Factura E34 aceptada que corrige la factura original de este reembolso.
Campos opcionales
object
Respuestas
Sección titulada «Respuestas»Solicitud de reembolso total o parcial. El movimiento de dinero con el adquirente y la coordinación de la nota de crédito son máquinas de estado independientes.
Campos y códigos de la respuesta
Solicitud de reembolso total o parcial. El movimiento de dinero con el adquirente y la coordinación de la nota de crédito son máquinas de estado independientes.
object
Identificador del reembolso.
Pago cuyo dinero capturado se está reembolsando.
Referencia inmutable de la venta en el sistema de origen, que envía la integración del comercio.
object
Identidad inmutable del reembolso dentro de este comercio y modo, Prueba o En vivo.
Monto monetario decimal exacto.
object
Ejemplo
DOPMonto decimal exacto y no negativo, con un máximo de dos cifras decimales.
ITBIS exacto reembolsado, sin estimar una proporción. Si lo omites al reembolsar el pago original completo, Timbro usa el impuesto capturado.
object
Ejemplo
DOPMonto decimal exacto y no negativo, con un máximo de dos cifras decimales.
object
Asignación capturada atribuida a este reembolso.
Monto monetario decimal exacto.
object
Ejemplo
DOPMonto decimal exacto y no negativo, con un máximo de dos cifras decimales.
Ciclo de vida del reembolso. verifying significa que el resultado del adquirente es ambiguo y se está recuperando sin volver a enviar el reembolso.
Resultado del adquirente, separado de la coordinación de la nota de crédito fiscal. Las referencias específicas del adquirente no se exponen.
object
Identificador del evento de webhook relacionado con este reembolso.
Campos opcionales
Etiqueta del comercio conservada de la solicitud original del reembolso.
object
object
Clasificación normalizada de un reembolso sin resolver.
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
true cuando esta respuesta repite el resultado guardado de una solicitud anterior con la misma clave de idempotencia (Idempotency-Key).
No se pudo entender la solicitud.
Ejemplo
{ "type": "about:blank", "title": "No se pudo entender la solicitud.", "status": 400, "code": "parameter_missing", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
La credencial falta, tiene un formato incorrecto o ya no es válida.
Ejemplo
{ "type": "about:blank", "title": "La credencial falta, tiene un formato incorrecto o ya no es válida.", "status": 401, "code": "api_key_missing", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
La credencial es válida, pero no tiene permiso para realizar esta operación.
Ejemplo
{ "type": "about:blank", "title": "La credencial es válida, pero no tiene permiso para realizar esta operación.", "status": 403, "code": "operation_not_permitted", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
Ningún endpoint sirve este método y ruta, o no existe un recurso con este identificador dentro del alcance del solicitante.
Ejemplo
{ "type": "about:blank", "title": "Ningún endpoint sirve este método y ruta, o no existe un recurso con este identificador dentro del alcance del solicitante.", "status": 404, "code": "route_not_found", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
La solicitud entra en conflicto con el estado actual del recurso o con una solicitud anterior que usó la misma clave de idempotencia (Idempotency-Key).
Ejemplo
{ "type": "about:blank", "title": "La solicitud entra en conflicto con el estado actual del recurso o con una solicitud anterior que usó la misma clave de idempotencia (`Idempotency-Key`).", "status": 409, "code": "refund_invoice_not_ready", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
Segundos que debes esperar antes de repetir esta solicitud o volver a consultar el recurso.
El cuerpo de la solicitud es más grande de lo que acepta este endpoint.
Ejemplo
{ "type": "about:blank", "title": "El cuerpo de la solicitud es más grande de lo que acepta este endpoint.", "status": 413, "code": "request_body_too_large", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
El cuerpo de la solicitud tiene un tipo de contenido que este endpoint no acepta.
Ejemplo
{ "type": "about:blank", "title": "El cuerpo de la solicitud tiene un tipo de contenido que este endpoint no acepta.", "status": 415, "code": "unsupported_media_type", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
La solicitud no pudo completarse. Recupera el resultado con la referencia guardada o repite la solicitud con la misma clave de idempotencia.
Ejemplo
{ "type": "about:blank", "title": "La solicitud no pudo completarse. Recupera el resultado con la referencia guardada o repite la solicitud con la misma clave de idempotencia.", "status": 500, "code": "internal_error", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
Un servicio requerido no está disponible temporalmente. Inténtalo de nuevo con la misma referencia o la misma clave de idempotencia.
Ejemplo
{ "type": "about:blank", "title": "Un servicio requerido no está disponible temporalmente. Inténtalo de nuevo con la misma referencia o la misma clave de idempotencia.", "status": 503, "code": "integration_authorization_unavailable", "requestId": "request_000000000000000000000001"}Campos y códigos de la respuesta
Detalles de problema RFC 9457. Cada fallo de esta API es uno de estos objetos y cada operación limita code al subconjunto que puede emitir.
object
Código estable legible por máquinas. Toma decisiones con este código, nunca con title.
Campos opcionales
Solo aparece si la solicitud rechazada produjo una operación fiscal.
Solo aparece cuando las reglas oficiales de emisión rechazan la emisión.
Solo aparece cuando el rechazo señala un valor incluido en la solicitud.
Un problema público estable del documento, guardado para una admisión rechazada.
object
Cabeceras
Sección titulada «Cabeceras»Identifica esta solicitud. Indícalo cuando contactes a soporte.
Segundos que debes esperar antes de repetir esta solicitud o volver a consultar el recurso.