[PAT y Pago Spot] Tarjetas

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

CampoTipoDescripción
state.idnumberEstado de la cuota (2 = Pagada, -99 = Rechazada, 9 = En Proceso)
state.namestringNombre del estado (podría variar)
internalIdnumberID interno de la cuota en Forpay
idstringID externo de la cuota (definido por el comercio)
amountnumberMonto de la cuota
currency.idnumberMoneda (1 = CLP, 2 = UF)
currency.namestringNombre de la moneda (podría variar)
installmentDueDatestringFecha de vencimiento de la cuota (YYYY-MM-DD)
descriptionstringDescripción del resultado del cobro (podría variar)
dateTimestringFecha y hora del procesamiento
metadataobjectDatos adicionales del cobro

Campos metadata en pagos de tarjeta

ClaveDescripción
f_installmentsNumberNúmero de cuotas en que se dividió el cobro en la tarjeta
f_mainPurchaseOrderOrden de compra principal del procesador
f_acquirerProductNameProducto del adquirente (ej. "ONECLICK") (podría variar)
f_internalCardIdID interno de la tarjeta registrada en Oneclick

payment

CampoTipoDescripción
idstringID de la transacción en el procesador
authorizationCodestringCódigo de autorización del banco
amountnumberMonto cobrado
dateTimestringFecha y hora exacta del cobro
method.idnumberMétodo de pago (3 = Crédito, 4 = Débito)
method.descriptionstringDescripción del método (podría variar)
method.card.last4digitsstringÚltimos 4 dígitos de la tarjeta
method.card.brand.namestringMarca de la tarjeta (podría variar)
convert.datestringFecha de conversión de moneda
convert.amountnumberFactor de conversión (1 para Pesos)
convert.currencyobjectMoneda 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 campos payment.id, payment.authorizationCode, payment.amount y payment.dateTime no se incluyen en la concatenación para validar la firma. Ver Verificación HMAC.