⚠️ Disponibilidad: este reporte solo está disponible para transacciones hechas con tarjetas VISA y MASTERCARD, y solo para la adquirencia de Kushki.
⛔ México: este reporte no está disponible para transacciones domésticas en México (PROSA). 🇲🇽
⚠️ 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.
| Modo | Cuándo usarlo |
|---|---|
| Por rango de fechas | Recupera 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ón | Recupera 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.
POST /data/v1/fraud
{
"brand": "VISA",
"country": "CHL",
"from": "2026-03-02T15:04:05",
"to": "2026-05-02T15:04:05",
"limit": 100,
"page": 1
}⚠️ Límite de antigüedad: las consultas están limitadas a un máximo de 12 meses desde la fecha actual. Un valor de fromcon más de 12 meses de antigüedad devuelve un error de validación.
⚠️ Formato de fecha: fromytodeben usar exactamente el formatoYYYY-MM-DDThh:mm:ss, sin milisegundos y sin zona horaria. Cualquier otro formato devuelve un error de validación.
{
"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
}POST /data/v1/fraud
{
"transaction_reference": "32160b0d-4591-4691-acc8-44b4c8821627"
}data, correspondiente a esa transacción.ℹ️ Si envías transaction_arnytransaction_referenceal mismo tiempo,transaction_arntiene precedencia ytransaction_referencese ignora. En este modo,fromytono son obligatorios.
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. Enviarmerchant_idsolo, sinfromyto, devuelve un error de validación.
| Campo | Obligatorio | Descripción |
|---|---|---|
from | Modo rango de fechas | Inicio del periodo — YYYY-MM-DDThh:mm:ss. Máx. 12 meses de antigüedad |
to | Modo rango de fechas | Fin del periodo — YYYY-MM-DDThh:mm:ss |
page | Opcional | Número de página. Por defecto: 1 |
limit | Opcional | Registros por página. Por defecto: 100. Máximo: 100 |
transaction_arn | Modo transacción | Acquirer Reference Number de la transacción. Tiene precedencia sobre transaction_reference |
transaction_reference | Modo transacción | Referencia de Kushki de la transacción (UUID). Se ignora si también envías transaction_arn |
brand | Opcional | Marca de la tarjeta — VISA o MASTERCARD |
country | Opcional | País de adquirencia — MEX, CHL, PER o COL |
fraud_type | Opcional | Código de tipo de fraude — ve Valores de tipo de fraude más abajo. El catálogo depende de brand |
merchant_id | Opcional | Uno 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.
fraud_type depende de la marca de la tarjeta (brand). Si no especificas brand, se aceptan valores de ambos catálogos.| Valor | Definición |
|---|---|
0 | Lost — el tarjetahabiente ya no tiene la tarjeta y no sabe qué pasó con ella |
1 | Stolen — el tarjetahabiente no tiene la tarjeta y puede explicar cómo la perdió |
2 | NRI (Not Received as Issued) — la tarjeta se envió pero el tarjetahabiente nunca la recibió |
3 | Fraud Application — cuenta abierta con información parcialmente falsa del tarjetahabiente |
4 | Counterfeit — transacciones presenciales que el tarjetahabiente no autorizó |
5 | Miscellaneous — fraude que no encaja en ninguna otra categoría |
6 | Fraudulent Use of Account Number — uso fraudulento sin posesión física de la tarjeta |
9 | Counterfeit reportado por el adquirente — BIN inválido o no emitido |
A | Incorrect Processing — por ejemplo, falta el criptograma EMV o la validación del CVV |
B | Account or Credential Takeover |
C | Merchant Misrepresentation |
D | Manipulation of Account Holder |
| Valor | Definición |
|---|---|
00 | Fraude por tarjeta perdida |
01 | Fraude por tarjeta robada |
02 | Tarjeta emitida y nunca recibida |
03 | Solicitud fraudulenta |
04 | Fraude por tarjeta falsificada |
05 | Fraude por toma de control de la cuenta |
06 | Fraude no presencial |
51 | Comercio ilícito — Mastercard Audit Program |
55 | Modificación de la orden de pago |
56 | Manipulación del tarjetahabiente |
57 | Tipo de fraude adicional reportado por Mastercard a través de SAFE |
source_name (TC40 o SAFE).| Campo | Presente en | Descripción |
|---|---|---|
source_name | TC40, SAFE | Reporte de origen y marca del registro |
transaction_reference | TC40, SAFE | Referencia de Kushki de la transacción (UUID) |
transaction_arn | TC40, SAFE | Acquirer Reference Number |
customer_id | TC40, SAFE | Identificador del customer autenticado |
merchant_id | TC40, SAFE | Identificador del comercio o de la sucursal |
merchant_name | TC40, SAFE | Nombre del comercio o de la sucursal |
acquirer_bin | TC40, SAFE | BIN del adquirente, seis dígitos |
masked_pan | TC40, SAFE | PAN enmascarado — BIN + XXXXXX + últimos cuatro dígitos |
reference_number | TC40, SAFE | Número de referencia de la transacción |
total_amount | TC40, SAFE | Monto total de la transacción |
fraud_type | TC40, SAFE | Código de tipo de fraude — ve Valores de tipo de fraude más arriba |
incoming_date | TC40 | Timestamp Unix del momento en que Kushki recibió el reporte |
pos_entry_mode | TC40 | Modo de ingreso en el punto de venta |
fraud_amount | TC40 | Monto del fraude reportado por la red de tarjetas |
fraud_currency_code | TC40 | Código de moneda del monto del fraude — ISO 4217 numérico |
fraud_investigate_status | TC40 | Estado de la investigación del reporte de fraude, según informa la red de tarjetas |
mcc_code | TC40 | Merchant Category Code (MCC) |
purchase_date | TC40 | Fecha de la compra — MMDD, por ejemplo 0402 |
authorization_code | SAFE | Código de autorización del banco |
card_present_indicator | SAFE | "0" o "1" — indica si la tarjeta estuvo presente |
chargeback_indicator | SAFE | Indicador de chargeback asociado al registro, según lo reporta Mastercard — por ejemplo "3" |
ecommerce_indicator | SAFE | Indicador de comercio electrónico de la transacción |
merchant_identifier | SAFE | Identificador adicional del comercio asignado por la red de tarjetas |
reception_date | SAFE | Fecha en que se recibió el reporte SAFE — YYYYMMDD |
transaction_date | SAFE | Fecha en que ocurrió la transacción — YYYYMMDD |
transaction_time | SAFE | Hora en que ocurrió la transacción — HHMMSS |
transaction_amount_usd | SAFE | Monto de la transacción convertido a USD |
transaction_currency_code | SAFE | Código de moneda de la transacción — ISO 4217 numérico |
transaction_currency_exponent | SAFE | Exponente decimal que aplica a la moneda |
| Campo | Descripción |
|---|---|
page | Página actual devuelta |
page_size | Tamaño de página aplicado — igual a limit, o 100 por defecto |
total | Cantidad total de registros que coinciden con el filtro |
total_pages | Cantidad total de páginas disponibles con el page_size actual |
| Código | Mensaje | Causa |
|---|---|---|
EDT002 | Invalid request parameters. | Faltan from y/o to en el modo rango de fechas |
| Causa | Estado HTTP |
|---|---|
Faltan from y/o to en el modo rango de fechas, o el body está vacío | 400 |
from con más de 12 meses de antigüedad desde la fecha actual | 400 |
from o to no usan el formato YYYY-MM-DDThh:mm:ss | 400 |
brand con un valor distinto de VISA o MASTERCARD | 400 |
country con un valor distinto de MEX, CHL, PER o COL | 400 |
fraud_type fuera del catálogo de la brand indicada | 400 |
merchant_id con espacios, al inicio del valor o después de una coma | 400 |
merchant_id con más de 20 valores separados por coma | 400 |
limit mayor que 100 | 400 |
| Body con campos que no son parte del schema del request | 400 |
Cabecera Private-merchant-id ausente o inválida | 401 |
ℹ️ ¿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_iden el body en lugar de cambiar de credencial.
https://api.kushkipagos.com/¿Tienes una sugerencia sobre esta documentación? Contáctanos.