Esta notificación se envía al paymentWebhook cuando se procesa el cobro de una cuota mediante tarjeta de crédito/débito/prepago (OneClick / Webpay Plus / Getnet Click / Web Checkout).
Pago exitoso
Cuando el cobro es aprobado, installment.state.id = 2 y el objeto payment contiene el detalle completo de la transacción autorizada.
Payload de ejemplo
{
"businessPartner": {
"businessPartnerId": "2",
"identificationDocument": {
"documentType": "RUT",
"documentNumber": 77209349,
"verificationNumber": "7"
}
},
"customer": {
"userId": "19000",
"identificationDocument": {
"documentType": "RUT",
"documentNumber": 20296421,
"verificationNumber": "4"
},
"internalUserId": 1527
},
"product": {
"type": "MANDATE",
"internalId": 3573,
"id": "153",
"serviceId": "2Z3573ZM"
},
"installment": {
"state": {
"id": 2,
"name": "PAGADA"
},
"dateTime": "2024-04-11T14:41:28.323Z",
"internalId": 20720,
"id": "884",
"amount": 100,
"metadata": {
"f_installmentsNumber": 1,
"f_mainPurchaseOrder": "281042252",
"f_acquirerProductName": "ONECLICK",
"f_internalCardId": "527"
},
"installmentDueDate": "2024-02-14",
"description": "Transacción Aprobada",
"currency": {
"id": 1,
"name": "PESOS"
}
},
"payment": {
"method": {
"card": {
"last4digits": "6623",
"brand": {
"id": 2,
"name": "VISA"
}
},
"description": "TARJETA DE CRÉDITO",
"id": 3
},
"convert": {
"date": "2024-02-14",
"amount": 1,
"currency": {
"id": 1,
"name": "PESOS"
}
},
"dateTime": "2024-04-11T14:41:25",
"amount": 100,
"authorizationCode": "1213",
"id": "281042252"
},
"signature": "rb/U787G7TAVHSr1kb2FNDx1AGmiGRXYuWt2MkeaBsk="
}Descripción de campos
installment
installment| Campo | Tipo | Descripción |
|---|---|---|
state.id | number | Estado de la cuota (2 = Pagada, -99 = Rechazada, 9 = En Proceso) |
state.name | string | Nombre del estado (podría variar) |
internalId | number | ID interno de la cuota en Forpay |
id | string | ID externo de la cuota (definido por el comercio) |
amount | number | Monto de la cuota |
currency.id | number | Moneda (1 = CLP, 2 = UF) |
currency.name | string | Nombre de la moneda (podría variar) |
installmentDueDate | string | Fecha de vencimiento de la cuota (YYYY-MM-DD) |
description | string | Descripción del resultado del cobro (podría variar) |
dateTime | string | Fecha y hora del procesamiento |
metadata | object | Datos adicionales del cobro |
Campos metadata en pagos de tarjeta
metadata en pagos de tarjeta| Clave | Descripción |
|---|---|
f_installmentsNumber | Número de cuotas en que se dividió el cobro en la tarjeta |
f_mainPurchaseOrder | Orden de compra principal del procesador |
f_acquirerProductName | Producto del adquirente (ej. "ONECLICK") (podría variar) |
f_internalCardId | ID interno de la tarjeta registrada en Oneclick |
payment
payment| Campo | Tipo | Descripción |
|---|---|---|
id | string | ID de la transacción en el procesador |
authorizationCode | string | Código de autorización del banco |
amount | number | Monto cobrado |
dateTime | string | Fecha y hora exacta del cobro |
method.id | number | Método de pago (3 = Crédito, 4 = Débito) |
method.description | string | Descripción del método (podría variar) |
method.card.last4digits | string | Últimos 4 dígitos de la tarjeta |
method.card.brand.name | string | Marca de la tarjeta (podría variar) |
convert.date | string | Fecha de conversión de moneda |
convert.amount | number | Factor de conversión (1 para Pesos) |
convert.currency | object | Moneda base de la conversión |
Pago rechazado
Cuando el cobro es rechazado, installment.state.id = -99 y no se incluye el objeto payment en el payload.
{
"product": { "type": "MANDATE", "internalId": 3573, "id": "153", "serviceId": "2Z3573ZM" },
"installment": {
"state": { "id": -99, "name": "RECHAZADA" },
"internalId": 20720,
"id": "884",
"amount": 100,
"description": "Límites Oneclick, máximo monto de pago excedido",
"currency": { "id": 1, "name": "PESOS" }
},
"signature": "rb/U787G7TAVHSr1kb2FNDx1AGmiGRXYuWt2MkeaBsk="
}Nota HMAC: Para pagos rechazados (
installment.state.id ≠ 2), los campospayment.id,payment.authorizationCode,payment.amountypayment.dateTimeno se incluyen en la concatenación para validar la firma. Ver Verificación HMAC.

