Esquema de datos

Aquí encontrarás los esquemas de datos utilizados en los procesos de pago y las interacciones con el sistema. Los esquemas detallan cómo se deben estructurar y manejar los diferentes tipos de información, como montos, métodos de pago, y datos de los usuarios, para garantizar una integración efectiva y sin problemas. Cada esquema incluye una descripción clara de los parámetros necesarios y sus valores posibles, asegurando que puedas implementar la funcionalidad de pago correctamente en tu plataforma.

Response

Define la estructura de una respuesta exitosa

ParámetroTipoDescripciónEnum/Restricciones
payloadobjectResultado de la peticiónEl objeto a retornar depende la petición realizada
errorsarrayLista de errores

PaymentIntent

Define la estructura para crear una nueva intención de pago en el sistema. Incluye todos los parámetros necesarios para iniciar un proceso de pago, como los datos del cliente, información del monto, detalles de facturación y envío, y el método de pago.

ParámetroTipoDescripciónEnum/RestriccionesRequerido
reference_idstringIdentificador único de la referencia del pagoEjemplo: "ORDER-999"
amountobjectInformación del montoAmount
expiration_datestringFecha de expiración de la intención de pagoFormato ISO 8601 Ejemplo: "2025-05-27T23:01:25-05:00"
descriptionstringDescripción de la intención de pagoEjemplo: "Pago de mi orden 999"
callback_urlstringURL de retorno al completar el pagoEjemplo: "https://bold.co (opens in a new tab)"
metadataarrayLista de metadatos clave-valorMáximo 3 Ejemplo: [{"custom-id":"id", "value":"123"}]
customerobjectInformación del clienteCustomer
payment_methodobjectMétodo de pagoPaymentMethod

PaymentIntentResponse

Representa la respuesta del sistema al crear o consultar una intención de pago. Contiene información completa sobre el estado actual de la intención, incluyendo detalles de la transacción, información del cliente, datos de seguimiento y, si corresponde, el identificador de la transacción.

ParámetroTipoDescripciónEnum/Restricciones
reference_idstringIdentificador único de la referencia del pago enviado por el comercioEjemplo: "ORDER-999"
amountobjectInformación del montoAmount
descriptionstringDescripción de la intención de pagoEjemplo: "Pago de mi orden 999"
creation_datestringFecha de creación del intento de pagoFormato ISO 8601 Ejemplo: "2025-05-27T23:01:25-05:00"
expiration_datestringFecha de expiración de la intención de pagoFormato ISO 8601 Ejemplo: "2025-05-27T23:01:25-05:00"
statusstringEstado de la intención de pago["ACTIVE", "PROCESSING", "PENDING", "DISABLED", "PAID", "EXPIRED"]
bold_transaction_idstringId de la transacción de bold si esta ya se encuentra pagadaEjemplo: "TXNMH97555"
callback_urlstringUrl de redirección una vez realizado el pagoEjemplo: "https://bold.co (opens in a new tab)"
metadataarrayLista de metadatos clave-valorEjemplo: [{"key":"custom-id", "value":"999"}]
testbooleanIndica si es una intención de pago de pruebaEjemplo: true
customerobjectInformación del clienteCustomer

PaymentAttempt

Describe la estructura de un intento de pago. Contiene toda la información necesaria para procesar una transacción, incluyendo la referencia única del pago, metadatos personalizados, información del pagador y detalles del método de pago seleccionado.

ParámetroTipoDescripciónEnum/RestriccionesRequerido
reference_idstringIdentificador único de la referencia del pagoRequerido. Ejemplo: "ORDER-999"
metadataarrayLista de metadatos clave-valor relacionados con el pagoRequerido. Ejemplo: [{"key":"custom-id", "value":"999"}]
payerobjectInformación del pagadorPayer
payment_methodobjectMétodo de pago utilizadoPaymentMethod
device_fingerprintobjectHuella digital del dispositivoDeviceFingerprintWeb✓ Requerido para 3DS

PaymentAttemptResponse

Esquema que representa la respuesta inmediata del sistema al realizar un intento de pago. Incluye el identificador único de la transacción, su estado inicial (siempre es "PROCESSING") y, si es necesario, instrucciones para completar acciones adicionales requeridas, como redirecciones a plataformas bancarias.

ParámetroTipoDescripciónEnum/Restricciones
transaction_idstringID de transacciónRequerido. Ejemplo: "TXNFD76543"
next_actionobjectAcción requeridaNext Action Object
statusstringEstado de la transacción["APPROVED", "REJECTED","PROCESSING"]

PaymentAttemptStatusResponse

Representa la respuesta del sistema al consultar el estado de un intento de pago. Proporciona información completa sobre el estado actual de la transacción, incluyendo si fue aprobada o rechazada, y todos los detalles relevantes de la operación.

ParámetroTipoDescripciónEnum/Restricciones
transaction_idstringID de transacciónEjemplo: "TXNFD76543"
reference_idstringID de referenciaEjemplo: "ORDEN-999"
statusstringEstado de la transacción["APPROVED", "REJECTED", "PROCESSING", "PENDING"]
amountobjectInformación del montoAmount
payment_methodstringMétodo de pago usado[Ejemplo : "CREDIT_CARD"]
payerobjectInformación del pagadorPayer
attempt_datestringFecha de la transacción
metadataarrayMetadatos del clienteMáximo 3 , si no tra se toman los de la intención de pago. Ejemplo: [{"custom":"custom-id", "value":"999"}]

Next Action Object

ParámetroTipoDescripciónEnum/Restricciones
redirect_urlstringURL de redirecciónRequerido, format: uri. Ejemplo: "https://mi-banco.com/pago-pse (opens in a new tab)"
redirect_methodstringMétodo HTTP["POST", "GET"]

Amount

Representa los detalles monetarios de una transacción. Define la estructura para especificar la moneda, el valor total del pago, propinas opcionales y los diversos impuestos aplicados.

ParámetroTipoDescripciónEnum/Restricciones
currencystringMoneda del monto"COP"
total_amountnumberMonto total del pago0
tip_amountnumberMonto de la propinaNo puede exceder el 30% del total
taxesarrayLista de impuestos aplicados[ ] o [Tax]

Tax

Define la estructura para representar información detallada sobre impuestos aplicados a una transacción. Permite especificar el tipo de impuesto (como IVA o impuesto al consumo), el valor base sobre el cual se calcula el impuesto y el monto resultante del cálculo.

ParámetroTipoDescripciónEnum/Restricciones
typestringTipo de impuesto["VAT", "CONSUMPTION"]
basenumberBase del impuesto0
valuenumberValor del impuesto0

Customer

Contiene la información personal del cliente que realiza una compra.

ParámetroTipoDescripciónEnum/Restricciones
namestringNombre completo del clienteRequerido. Ejemplo: "John Doe"
phonestringNúmero de teléfono del clienteEjemplo: "3123456789"
emailstringCorreo electrónico del clienteEjemplo: "pagador@example.com"
billing_addressobjectDirección de facturaciónAddress
shipping_addressobjectDirección de envíoAddress

Payer

Representa la información de la persona o entidad que realiza el pago. A diferencia del esquema Customer, este incluye datos específicos para el procesamiento de pagos, como tipo de persona (natural o jurídica), documentos de identificación y registros de aceptación de políticas.

ParámetroTipoDescripciónEnum/Restricciones
person_typestringTipo de persona["NATURAL_PERSON", "LEGAL_PERSON"]
namestringNombre completo o razón socialEjemplo: "John Doe"
phonestringTeléfono del pagadorEjemplo: "573123456789" incluyendo el código de país
emailstringCorreo electrónicoEjemplo: "pagador@example.com"
document_typestringTipo de documento["CEDULA", "CEDULA_EXTRANJERIA", "TARJETA_IDENTIDAD", "PASAPORTE", "NIT"]
document_numberstringNúmero de documentoEjemplo: "987654321"
billing_addressobjectDirección de facturaciónAddress

Address

Define la estructura estandarizada para representar una dirección física, ya sea de facturación o envío para la validación del método de pago.

ParámetroTipoDescripciónEnum/Restricciones
street1stringDirección línea 1Requerido. Ejemplo: "Calle 123 # 34 56"
street2stringDirección línea 2Ejemplo: "Barrio Primero de Julio"
citystringCiudadRequerido. Ejemplo: "Bogotá"
zip_codestringCódigo postalEjemplo: "170008"
provincestringProvincia o estadoEjemplo: "Cundinamarca"
countrystringCódigo del país formato ISO 3166-1Requerido. Ejemplo: "CO"
phonestringTeléfono asociadoEjemplo: "3123456789"

PaymentMethod

Esquema base que define la estructura para los diferentes métodos de pago soportados. Funciona como un contenedor que puede albergar cualquiera de los tipos de pago específicos como tarjetas de crédito, PSE, Nequi o Bancolombia.

ParámetroTipoDescripciónEnum/Restricciones
-objectMétodo de pago utilizado para el intentooneOf: PSE, CreditCard, Nequi, Bancolombia

CreditCard

Estructura específica para pagos con tarjeta de crédito. Incluye información detallada de la tarjeta y la dirección de facturación asociada, asegurando que se capture toda la información necesaria para procesar transacciones con este método de pago.

ParámetroTipoDescripciónEnum/Restricciones
namestringTipo de método de pago"CREDIT_CARD"
cardholder_namestringNombre del titularRequerido. Ejemplo: "John Doe"
expiration_monthintegerMes de vencimientoRequerido. Ejemplo: 12
expiration_yearintegerAño de vencimientoRequerido. Ejemplo: "2032"
installmentsintegerNúmero de cuotasRequerido. Ejemplo: 1
card_numberstringNúmero de tarjetaRequerido. Ejemplo: "4111111111111111"
cvcstringCódigo de seguridadRequerido. Ejemplo: "123"

Billing Address Object

ParámetroTipoDescripciónEnum/Restricciones
citystringCiudadRequerido. Ejemplo: "Bogotá"
country_codestringCódigo del país formato ISO 3166-1Requerido. Ejemplo: "CO"
streetstringDirecciónRequerido. Ejemplo: "Calle 123 # 34 56"
zip_codestringCódigo postalRequerido. Ejemplo: "170003"
statestringEstado o regiónRequerido. Ejemplo: "Cundinamarca"

DeviceFingerprintWeb

ParámetroTipoDescripciónEnum/RestriccionesRequerido
device_typestringTipo de dispositivo"DESKTOP" "MOBILE"
osstringSistema operativo
browserstringNavegador
java_enabledbooleanJava habilitadoRequerido para 3ds
languagestringIdioma del dispositivoRequerido para 3ds
color_depthintegerProfundidad de colorRequerido para 3ds
screen_heightintegerAltura de pantallaRequerido para 3ds
screen_widthintegerAncho de pantallaRequerido para 3ds
time_zone_offsetintegerZona horariaRequerido para 3ds
latitudestringLatitudNullable
longitudestringLongitudNullable
modelstringModelo del dispositivoNullable
platformstringPlataformaNullable

PaymentMethodResponse

Esquema contenedor para la respuesta específica según el método de pago utilizado. Similar al esquema PaymentMethod, pero contiene la información de respuesta tras el procesamiento del pago, que puede variar según el método utilizado.

ParámetroTipoDescripciónEnum/Restricciones
-objectMétodo de pago con el que se pagóoneOf: PSEResponse, CreditCardResponse, Nequi, Bancolombia

PSEResponse

Representa la información de respuesta específica para pagos realizados a través de PSE. Incluye datos como el nombre del banco utilizado y el identificador único de la transacción en el sistema PSE (CUS).

ParámetroTipoDescripciónEnum/Restricciones
typestringTipo de método de pago["PSE"]
bank_namestringNombre del banco para pagos PSERequerido. Ejemplo: "Bancolombia"
cusstringID pago PSERequerido. Ejemplo: "CUS12345678"

CreditCardResponse

Esquema que contiene la información de respuesta para pagos realizados con tarjeta de crédito. Incluye detalles procesados de la tarjeta y la dirección de facturación.

ParámetroTipoDescripciónEnum/Restricciones
typestringTipo de método de pagoRequerido
cardobjectInformación de la tarjetaRequerido
billing_addressobjectDirección de facturaciónRequerido

Error

Define la estructura de respuesta cuando ocurre un error de validación en la solicitud. Proporciona información detallada sobre la naturaleza del error, facilitando su identificación y corrección.

ParámetroTipoDescripciónEnum/Restricciones
payloadobjectLista de erroresPayload Item
errorsarrayLista de errores

Payload Item

ParámetroTipoDescripciónEnum/Restricciones
status_codestringCódigo de errorRequerido
messagestringMensaje geenral de errorRequerido