Actualizar cobro
Modifica o habilita un cobro previamente creado. Además, al habilitar el cobro, tendrás la opción de determinar si deseas enviar una notificación al usuario.
Ruta
PATCH
/v1/merchant/transaction/{external_reference}
Encabezado
Content-Type
*
application/json
x-auth-token
*
{token}
Cuerpo
Al actualizar o activar esta transacción, puedes completar o cambiar los siguientes campos. Ten en cuenta que los nuevos valores reemplazarán los anteriores, por lo que se perderá la información anterior.
Es importante destacar que los campos: payer_email
ypayer_phone
no son modificables. Si envías información para estos campos, se creará un nuevo usuario con los datos proporcionados.
Información general
description
Proporciona detalles clave sobre la transacción y es lo que se refleja en los comprobantes de pago.
Ejemplo: Servicio de entrega
currency
Código que identifica la divisa del pago en formato ISO 4217.
COP | USD | MXN
amount
Es el código generado a partir del proceso de autenticación.
Ejemplo: 54000
status
Es el estado de la transacción al momento de creación. Para más información de los estados.
pending | unlimit | scheduled | created
reference_one
reference_two
reference_three
reference_four
reference_five
reference_six
reference_seven
reference_eight
Información adicional de la transacción (número de factura, ordenes de compra, categoría), visible para los usuarios.
Ejemplo: FAC123
channel
Es la forma como se realiza el cobro.
whatsapp | link | email
return_url
Es la url a la que quieres llevar al usuario después de completar el pago. Aplica para pagos por PSE o con link de pago.
Ejemplo:https://minegocio.com/mi-aplicacion
expected_amount
Es el valor esperado de la transacción.
Ejemplo: 10000
expected_date
Es la fecha estimada de finalización de la transacción.
Formato: AAAA/MM/DD
Ejemplo: 2025/01/30
reminder_date
Es la fecha en la que quieres enviarle un recordatorio de pago al cliente.
Formato: AAAA/MM/DD
Ejemplo: 2025/01/30
limit_date
Es la fecha en la que vence el pago para el cliente. Solo aplica cuando status es igual scheduled.
Formato: AAAA/MM/DD
Ejemplo: 2025/01/30
merchant_id_number
Número de documento del usuario que genera el cobro.
Ejemplo: 100110000
merchant_phone
Número de celular del usuario que genera el cobro (incluir el código de área del país).
Ejemplo: 573112229999
merchant_email
Correo del cliente al que se enviarán las notificaciones.
Ejemplo: [email protected]
user_notification
Define si se quiere enviar una notificación del cobro al usuario. Por defecto el valor es true.
true | false
process_type
Método que se usará para el proceso de cobro.
Según el método utilizado, el estado de la transacción se ajusta automáticamente. En el caso de cash, el estado se convierte en REVIEW, para digital en PENDING, para credit en CREDIT, para return_pending en RET_PENDING y para return_success en RET_SUCCESS.
cash | digital | credit | return | express | split | direct | external
expiration
Define si la transacción debe cancelarse al alcanzar la limit date. Por defecto, este valor es false.
attachment
Adjunto que funciona como soporte del cobro.
comments
Comentario opcional para tener como referencia al consultar las transacciones en el dashboard.
Información cliente/pagador
payer.phone
Número de celular del cliente (incluir el código de área del país).
Obligatorio en caso del que el channel sea whatsapp y el status no sea created.
Ejemplo: 573112223333
payer.email
Correo del cliente al que se enviarán las notificaciones.
Obligatorio en caso del que el channel sea email y el status no sea created.
Ejemplo: [email protected]
payer.user_id_type
Tipo de documento de identificación del cliente.
CC | CE | NIT | PASAPORTE | DNI | EIN
payer.user_id_number
Número del documento de identificación del cliente.
Ejemplo: 11119999
payer.first_name
Primer nombre del cliente, el cual se usa para la validación del número de documento.
Ejemplo: Andrés
Los campos: payer.user_id_type
, payer.user_id_number
y payer.first_name
deben completarse de manera conjunta en la API. Esto significa que si se proporciona uno de estos campos, los otros dos también deben ser proporcionados. Son interdependientes y necesarios para garantizar la integridad de la información del usuario en la plataforma.
Pagos en devolución
Este objeto es obligatorio cuando el process type sea return.
return.type
*
Tipo de devolución. Si se selecciona pending, el estado se actualiza a RET_PENDING y debe ser aprobado manualmente desde el dashboard para cambiar a RET_SUCCESS. En cambio, si se selecciona success, el estado se establece directamente como RET_SUCCESS.
pending | success
return.reason
*
Razón de la devolución.
Ejemplo: No se encontró el cliente
Pagos express
Este objeto es obligatorio cuando el process type sea express.
express.method
*
Método de pago. En el caso de qr, la respuesta incluirá el enlace de la imagen QR en el campo qr_url.
nequi| daviplata | qr
express.reference
Identificador del usuario al que se le realizará el cobro. Para Nequi, debe ser el número de celular; mientras que para Daviplata, debe ser el número de documento con el que el usuario se registró en la aplicación.
Obligatorio en caso del que el method sea nequi o daviplata.
Ejemplo: No se encontró el cliente
Pagos externos
Este objeto es obligatorio cuando el process type sea external.
external.reason
*
Razón por el cual es un pago externo.
Ejemplo: Pago directo
Pagos divididos
Array de objetos, es obligatorio cuando el process type sea split. El objeto se compone de la siguiente manera:
split[].amount
*
Fracción o monto del pago que se va a realizar.
Ejemplo: 5000
split[].payment_method
*
Medio de pago a través del cual se realizará la fracción del pago.
cash | digital | credit | return | express | direct | external
split[].return
El objeto se compone de la misma manera que return: Pagos en devolución Obligatorio en caso del que el payment_method sea return.
split[].express
El objeto se compone de la misma manera que express: Pagos express Obligatorio en caso del que el payment_method sea express.
split[].external
El objeto se compone de la misma manera que external: Pagos externos Obligatorio en caso del que el payment_method sea external.
Información de afiliados
affiliate.id_type
Tipo de documento de identificación del afiliado.
CC | CE | NIT | PASAPORTE | DNI | EIN
affiliate.id_number
Número del documento de identificación del afiliado.
Ejemplo: 11119999
Información de facturación
invoice.provider
Agrega el software contable con el que realizaste la integración.
Obligatorio para el objeto invoice.
alegra | siigo
invoice.type
Elige el tipo de vinculación que quieres realizar para esta transacción con tu software contable.
Obligatorio para el objeto invoice.
link | balance | create
invoice.id
Corresponde al identificador de la factura o el cliente según el tipo de vinculación definido.
Ejemplo: FV-2-1234 | GR1234 |
41515fb0-d815-40ac-86c0-4081eb642fa2
invoice.retentions
Solo si la vinculación es create
, agregar las retenciones aplicables para la creación de la factura. Tener en cuenta que el valor de la factura será el valor de la transacción mas las retenciones definidas.
Formato: enviar las retenciones separadas por comas
Ejemplo: [1,2,3]
Información de recargos
Array de objetos, para aplicar recargos:
late_fees[].action
*
Valor correspondiente al recargo. Obligatorio en caso del que el condition_type sea fixed.
add | edit | delete
late_fees[].id
Identificador que permite ubicar o referenciar el recargo que se va a actualizar.
Obligatorio si el action es edit o delete.
Ejemplo: a1b2c3
late_fees[].date
Fecha correspondiente al recargo.
Obligatorio si el action es add.
Formato: AAAA/MM/DD
Ejemplo: 2025/01/30
late_fees[].value
Valor al cual se va actualizar el monto.
Obligatorio si el action es add.
Ejemplo: 1234.5
late_fees[].reminder
En caso de que se desee recibir una notificación en el momento en que se aplique el incremento.
late_fees[].reminder_template
Nombre del mensaje que se le envía para dicho recargo. Obligatorio en caso del que el reminder sea true.
late_fees[].reminder_channel
Canal por el cual se le va enviar la notificación.
Obligatorio en caso del que el reminder sea true.
whatsapp | email
Información de pagos anticipados
Array de objetos, para aplicar pagos anticipados:
advance_payment[].action
*
Valor correspondiente al descuento. Obligatorio en caso del que el condition_type sea fixed.
add | edit | delete
advance_payment[].id
Identificador que permite ubicar o referenciar el descuento que se va a actualizar.
Obligatorio si el action es edit o delete.
Ejemplo: a1b2c3
advance_payment[].date
Fecha correspondiente al descuento.
Obligatorio si el action es add.
Formato: AAAA/MM/DD
Ejemplo: 2025/01/30
advance_payment[].value
Valor al cual se va actualizar el monto.
Obligatorio si el action es add.
Ejemplo: 1234.5
advance_payment[].reminder
En caso de que se desee recibir una notificación en el momento en que se aplique el incentivo.
advance_payment[].reminder_template
Nombre del mensaje que se le envía para dicho incentivo. Obligatorio en caso del que el reminder sea true.
advance_payment[].reminder_channel
Canal por el cual se le va enviar la notificación.
Obligatorio en caso del que el reminder sea true.
whatsapp | email
Respuesta
{
"message": "Succesfully Updated",
"external_reference": "90d085",
"link": "https://pago.qentaz.com/prueba/t/90d085",
"created_at": "2024-08-26T20:46:25+00:00"
}
Ejemplo
curl --location --request PATCH '{{base_url}}/v1/merchant/transaction/{{reference}}' \
--header 'x-auth-token: token' \
--data '{
"amount": 2000,
"merchant_phone": "573112222222",
"status": "CREATED",
"channel": "WHATSAPP",
"expected_amount": 2000,
"expected_date": "10/03/2024",
"reference_one": "REFERENCIA",
"description": "Descripción de la transacción",
"process_type": "CASH",
"user_notification": false,
"payer": {
"phone": "573112222222"
},
"affiliate": {
"id_type": "CC",
"id_number": "34000000"
}
}'
Caso de uso
Última actualización