1. API Raw Card Present Payments
Español
  • English
  • Español
  • Docs de API 🇨🇴
  • Online Payments
    • Errores del API de Kushki
    • Errores ISO
    • Notas de versión
    • Card Payments
      • Solicitar un token de tarjeta
      • Hacer un cargo o cargo diferido
      • Crear pago (sin token)
      • Anular una transacción
      • Reembolsar una transacción
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Preautorización (sin token)
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Verificar cuenta
      • Validar OTP
      • Información de BIN
      • Información de BIN V2
    • One-Click & Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Hacer un pago One-click
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Cancelar un cargo recurrente
      • Actualizar un cargo recurrente
      • Agregar un cargo o descuento temporal
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar información del cargo recurrente
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Transfer in
      • Consultar lista de bancos
      • Solicitar un token de Transfer In
      • Iniciar transacción
      • Consultar estado
      • Cancelar transacción
    • Transfer out
      • Consultar lista de bancos
      • Consultar lista de bancos V2
      • Solicitar un token de Transfer Out
      • Iniciar transacción
      • Consultar estado
      • Saldo para payouts
    • Cash in
      • Solicitar un token de Cash In
      • Iniciar transacción
      • Estado de la transacción
      • Eliminar una transacción de Cash In
      • Actualizar una transacción de Cash In
    • Cash-out
      • Solicitar un token de Cash Out
      • Iniciar transacción
      • Estado de la transacción
      • Actualizar una transacción de Cash Out
      • Eliminar una transacción de Cash Out
    • Smartlinks-v2
      • Crear un Smartlink
      • Consultar un Smartlink
      • Actualizar un Smartlink
      • Eliminar un Smartlink
    • Analytics
      • Consultar listado de transacciones v2
    • Gateway-status
      • Consultar estado del gateway
      • Consultar estado de la plataforma
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Búsqueda avanzada
      • Eliminar credencial
      • Regenerar una credencial
      • Activar o desactivar
      • Actualizar credencial
    • Payment Button
      • Crear un Payment Button
    • Settlement
      • Consultar liquidación
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • API Raw Card Present Payments
    • Notas de versión
    • Catálogo de errores
    • El objeto Amount
    • Proceso de intercambio de llaves
    • Datos de prueba
    • One-time Payments
      • Pago único
    • Two-step Payments
      • Autorización y captura
    • Card Information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Voids & Refunds
      • Anular y reversar
      • Reembolsar una transacción
    • Query Transactions
      • Búsqueda de transacciones
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Webhooks-Pagos con tarjeta
      • Webhooks-Reembolsos
      • Revisa tus webhooks
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Fraud Report
      • Consultar alertas de fraude
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • ChargebackListResponse
    • TransactionResponse
    • PrintJobRequest
    • card
    • one-and-two-step-payment-3
    • Card Present (CP)
    • one-and-two-step-payment-3
    • SubscriptionTransactionsResponse
    • Amount-cash-in
    • SettlementDateRangeRequest
    • amount
    • FraudAlertRequest
    • SubscriptionTransaction
    • ChargebackItem
    • SettlementRecord
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400
    • CardData
    • CommandColumns
    • extra_taxes
    • FraudAlertRecord
    • ErrorResponse
    • currency
    • Deferred
    • webhooksItem
    • SettlementResponse
    • ErrorResponse401
    • LinkFailure
    • ColumnItem
    • Amount
    • ValidationError
    • pos_details
    • ErrorResponse403
    • CommandDivider
    • enc_tlv
    • TransactionEvent
    • extraTaxes
    • card_details
    • Country
    • payment_method
    • ErrorResponse500
    • CommandFeed
    • TransactionStatus
    • deferred
    • CommandSpace
    • ReadingType
    • contact_details
    • ContactDetails
    • CommandCut
    • sub_merchant
    • FailureReason
    • CommandImage
    • metadata
    • EventTerminal
    • documentType
    • Subscription
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • SubscriptionUpdate
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountCore
    • product
    • webhooks
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • webhooksChargeback
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • ExternalReferenceId
    • EventTerminal_2
    • ExternalSubscriptionId
    • EventOperation_2
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • SettlementTicketRequest
    • ErrorResponse
    • TransactionEvent_23
    • TransactionStatus4
    • ReadingType5
    • FailureReason_26
    • EventTerminal_27
    • EventOperation_28
    • EventAmount_29
    • EventMetadata_210
    • EventExtraTaxes_211
    • PrintWebhookPayload12
    • TransactionEvent13
    • FailureReason14
    • EventTerminal15
    • EventOperation16
    • EventAmount17
    • EventMetadata18
    • EventExtraTaxes19
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
  1. API Raw Card Present Payments

Reporte de fraude

La API de Alertas de fraude te permite consultar los registros de alertas de fraude que VISA y Mastercard ponen a disposición de Kushki, sin esperar a que un archivo se entregue manualmente por SFTP. Úsala para reportería automatizada de fraude, conciliación y consultas a nivel de transacción. Los registros provienen de dos reportes de las redes de tarjetas:
TC40 — VISA
SAFE — Mastercard
Cubre transacciones presenciales y no presenciales, tanto si se procesan en línea como offline.
⚠️ Disponibilidad: este reporte solo está disponible para transacciones hechas con tarjetas VISA y MASTERCARD, y solo para la adquirencia de Kushki.
⚠️ Uso a nivel de customer: la API se autentica y se consume a nivel de customer, no a nivel de un comercio o sucursal individual. Una sola credencial da visibilidad sobre todas las alertas de fraude de las sucursales asociadas a ese customer. Para acotar una consulta a uno o varios comercios específicos, usa el filtro merchant_id (ve Filtrar por comercio (sucursal) más abajo) — no existe una credencial de solo sucursal para este endpoint.
El endpoint admite dos modos de consulta:
ModoCuándo usarlo
Por rango de fechasRecupera todos los registros de alertas de fraude dentro de un periodo (from / to), opcionalmente filtrados por brand, country, fraud_type o merchant_id
Por identificador de transacciónRecupera el registro de una transacción específica (transaction_arn o transaction_reference)
ℹ️ Esta API reemplaza el flujo antiguo del reporte de fraude por SFTP/CSV. Si estás migrando desde ese flujo, contacta a tu representante de Kushki para coordinar la transición.

Consulta por rango de fechas#

POST /data/v1/fraud
{
  "brand": "VISA",
  "country": "CHL",
  "from": "2026-03-02T15:04:05",
  "to": "2026-05-02T15:04:05",
  "limit": 100,
  "page": 1
}
Devuelve una lista paginada de registros de alertas de fraude para el periodo y los filtros indicados.
⚠️ Límite de antigüedad: las consultas están limitadas a un máximo de 12 meses desde la fecha actual. Un valor de from con más de 12 meses de antigüedad devuelve un error de validación.
⚠️ Formato de fecha: from y to deben usar exactamente el formato YYYY-MM-DDThh:mm:ss, sin milisegundos y sin zona horaria. Cualquier otro formato devuelve un error de validación.
Respuesta:
{
  "data": [
    {
      "source_name": "TC40",
      "transaction_reference": "32160b0d-4591-4691-acc8-44b4c8821627",
      "transaction_arn": "12710244268000000000007",
      "customer_id": "20000000104030134000",
      "merchant_id": "6000000000172710548457113030",
      "merchant_name": "DEMO STORE",
      "acquirer_bin": "021193",
      "masked_pan": "549151XXXXXX7016",
      "reference_number": "426822110550",
      "total_amount": 2900,
      "fraud_type": "00",
      "incoming_date": 1784127600,
      "pos_entry_mode": "81",
      "mcc_code": "5812",
      "purchase_date": "0402"
    },
    {
      "source_name": "SAFE",
      "transaction_reference": "6ef09b5a-6ce6-443e-a7dd-c42024e097b2",
      "transaction_arn": "12231965093000000136802",
      "customer_id": "20000000104030134000",
      "merchant_id": "20000328494375849",
      "merchant_name": "DEMO STORE",
      "acquirer_bin": "026532",
      "masked_pan": "533187XXXXXX2822",
      "reference_number": "509300174610",
      "total_amount": 34761,
      "fraud_type": "06",
      "authorization_code": "556549",
      "card_present_indicator": "0",
      "chargeback_indicator": "3",
      "ecommerce_indicator": "21",
      "reception_date": "20260409",
      "transaction_date": "20260402",
      "transaction_time": "211008"
    }
  ],
  "page": 1,
  "page_size": 100,
  "total": 9,
  "total_pages": 1
}

Consulta por identificador de transacción#

POST /data/v1/fraud
{
  "transaction_reference": "32160b0d-4591-4691-acc8-44b4c8821627"
}
Devuelve un solo registro en el array data, correspondiente a esa transacción.
ℹ️ Si envías transaction_arn y transaction_reference al mismo tiempo, transaction_arn tiene precedencia y transaction_reference se ignora. En este modo, from y to no son obligatorios.

Filtrar por comercio (sucursal)#

POST /data/v1/fraud
{
  "from": "2026-01-01T00:00:00",
  "to": "2026-06-30T23:59:59",
  "merchant_id": "20000328494375843,20000328494375845,20000328494375849"
}
merchant_id acota los registros a sucursales específicas del customer autenticado. No cambia el nivel de la credencial; solo reduce el resultado dentro de lo que ese customer ya puede ver. No identifica una sola transacción, así que debe combinarse con from y to.
⚠️ Se admiten hasta 20 IDs separados por coma. Los valores no deben contener espacios, ni al inicio del valor ni después de una coma — por ejemplo, " 20000349344" y "id1, id2" no son válidos. Enviar merchant_id solo, sin from y to, devuelve un error de validación.

Campos del request#

CampoObligatorioDescripción
fromModo rango de fechasInicio del periodo — YYYY-MM-DDThh:mm:ss. Máx. 12 meses de antigüedad
toModo rango de fechasFin del periodo — YYYY-MM-DDThh:mm:ss
pageOpcionalNúmero de página. Por defecto: 1
limitOpcionalRegistros por página. Por defecto: 100. Máximo: 100
transaction_arnModo transacciónAcquirer Reference Number de la transacción. Tiene precedencia sobre transaction_reference
transaction_referenceModo transacciónReferencia de Kushki de la transacción (UUID). Se ignora si también envías transaction_arn
brandOpcionalMarca de la tarjeta — VISA o MASTERCARD
countryOpcionalPaís de adquirencia — MEX, CHL, PER o COL
fraud_typeOpcionalCódigo de tipo de fraude — ve Valores de tipo de fraude más abajo. El catálogo depende de brand
merchant_idOpcionalUno o varios IDs de sucursal, separados por coma y sin espacios. Máx. 20 valores
ℹ️ Enviar cualquier campo que no esté listado arriba también devuelve un error de validación.

Valores de tipo de fraude#

El catálogo de fraud_type depende de la marca de la tarjeta (brand). Si no especificas brand, se aceptan valores de ambos catálogos.

VISA#

ValorDefinición
0Lost — el tarjetahabiente ya no tiene la tarjeta y no sabe qué pasó con ella
1Stolen — el tarjetahabiente no tiene la tarjeta y puede explicar cómo la perdió
2NRI (Not Received as Issued) — la tarjeta se envió pero el tarjetahabiente nunca la recibió
3Fraud Application — cuenta abierta con información parcialmente falsa del tarjetahabiente
4Counterfeit — transacciones presenciales que el tarjetahabiente no autorizó
5Miscellaneous — fraude que no encaja en ninguna otra categoría
6Fraudulent Use of Account Number — uso fraudulento sin posesión física de la tarjeta
9Counterfeit reportado por el adquirente — BIN inválido o no emitido
AIncorrect Processing — por ejemplo, falta el criptograma EMV o la validación del CVV
BAccount or Credential Takeover
CMerchant Misrepresentation
DManipulation of Account Holder

Mastercard#

ValorDefinición
00Fraude por tarjeta perdida
01Fraude por tarjeta robada
02Tarjeta emitida y nunca recibida
03Solicitud fraudulenta
04Fraude por tarjeta falsificada
05Fraude por toma de control de la cuenta
06Fraude no presencial
51Comercio ilícito — Mastercard Audit Program
55Modificación de la orden de pago
56Manipulación del tarjetahabiente
57Tipo de fraude adicional reportado por Mastercard a través de SAFE

Campos de la respuesta#

Los registros no están normalizados entre marcas — los campos presentes en cada registro dependen de source_name (TC40 o SAFE).
CampoPresente enDescripción
source_nameTC40, SAFEReporte de origen y marca del registro
transaction_referenceTC40, SAFEReferencia de Kushki de la transacción (UUID)
transaction_arnTC40, SAFEAcquirer Reference Number
customer_idTC40, SAFEIdentificador del customer autenticado
merchant_idTC40, SAFEIdentificador del comercio o de la sucursal
merchant_nameTC40, SAFENombre del comercio o de la sucursal
acquirer_binTC40, SAFEBIN del adquirente, seis dígitos
masked_panTC40, SAFEPAN enmascarado — BIN + XXXXXX + últimos cuatro dígitos
reference_numberTC40, SAFENúmero de referencia de la transacción
total_amountTC40, SAFEMonto total de la transacción
fraud_typeTC40, SAFECódigo de tipo de fraude — ve Valores de tipo de fraude más arriba
incoming_dateTC40Timestamp Unix del momento en que Kushki recibió el reporte
pos_entry_modeTC40Modo de ingreso en el punto de venta
fraud_amountTC40Monto del fraude reportado por la red de tarjetas
fraud_currency_codeTC40Código de moneda del monto del fraude — ISO 4217 numérico
fraud_investigate_statusTC40Estado de la investigación del reporte de fraude, según informa la red de tarjetas
mcc_codeTC40Merchant Category Code (MCC)
purchase_dateTC40Fecha de la compra — MMDD, por ejemplo 0402
authorization_codeSAFECódigo de autorización del banco
card_present_indicatorSAFE"0" o "1" — indica si la tarjeta estuvo presente
chargeback_indicatorSAFEIndicador de chargeback asociado al registro, según lo reporta Mastercard — por ejemplo "3"
ecommerce_indicatorSAFEIndicador de comercio electrónico de la transacción
merchant_identifierSAFEIdentificador adicional del comercio asignado por la red de tarjetas
reception_dateSAFEFecha en que se recibió el reporte SAFE — YYYYMMDD
transaction_dateSAFEFecha en que ocurrió la transacción — YYYYMMDD
transaction_timeSAFEHora en que ocurrió la transacción — HHMMSS
transaction_amount_usdSAFEMonto de la transacción convertido a USD
transaction_currency_codeSAFECódigo de moneda de la transacción — ISO 4217 numérico
transaction_currency_exponentSAFEExponente decimal que aplica a la moneda

Campos de paginación#

CampoDescripción
pagePágina actual devuelta
page_sizeTamaño de página aplicado — igual a limit, o 100 por defecto
totalCantidad total de registros que coinciden con el filtro
total_pagesCantidad total de páginas disponibles con el page_size actual

Errores#

CódigoMensajeCausa
EDT002Invalid request parameters.Faltan from y/o to en el modo rango de fechas
Estas son las condiciones que devuelven un error:
CausaEstado HTTP
Faltan from y/o to en el modo rango de fechas, o el body está vacío400
from con más de 12 meses de antigüedad desde la fecha actual400
from o to no usan el formato YYYY-MM-DDThh:mm:ss400
brand con un valor distinto de VISA o MASTERCARD400
country con un valor distinto de MEX, CHL, PER o COL400
fraud_type fuera del catálogo de la brand indicada400
merchant_id con espacios, al inicio del valor o después de una coma400
merchant_id con más de 20 valores separados por coma400
limit mayor que 100400
Body con campos que no son parte del schema del request400
Cabecera Private-merchant-id ausente o inválida401

Autenticación#

ℹ️ ¿Dónde obtener la credencial? La puedes obtener directamente desde la Kushki Console, en Developers → Credentials. No se envía al customer por correo y no requiere ninguna solicitud a un ingeniero de preventa.
⚠️ A pesar del nombre de la cabecera, la credencial que espera este endpoint es la credencial del customer, no la de un comercio o sucursal individual. Autentícate siempre con la credencial privada a nivel de customer; una credencial de sucursal no es válida para este endpoint. Para acotar una consulta a comercios específicos, usa el campo merchant_id en el body en lugar de cambiar de credencial.

Usar la API#

🟢 Producción
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Endpoints disponibles#

Consultar alertas de fraude
Recupera registros de alertas de fraude (TC40/SAFE) por rango de fechas o por identificador de transacción. Admite paginación.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-11 14:50:12
Previous
Solicitar exportación de chargebacks
Next
Consultar alertas de fraude
Built with