1. API Raw Card Present Payments 🇨🇱
Español
  • English
  • Español
  • Docs de API 🇨🇱
  • Online Payments
    • Errores ISO
    • Errores del API de Kushki
    • 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 V2
      • Información de BIN
      • Voucher
    • One-Click & Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Hacer un pago One-click
      • 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
    • Card Async
      • Solicitar un token de Card Async
      • Iniciar transacción
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar estado
    • Async Card Recurring Charges
      • Solicitar un token de cargo recurrente con tarjeta asíncrono
      • Iniciar un cargo recurrente con tarjeta asíncrono
      • Autorizar pagos
      • Capturar un pago autorizado
    • 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
    • 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
    • Smartlinks V2
      • Crear un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
      • Actualizar un Smartlink
    • Payment Button
      • Crear un Payment Button
    • Analytics
      • Consultar listado de transacciones v2
    • Status
      • Consultar estado de la plataforma
      • Consultar estado del gateway
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Actualizar credencial
      • Regenerar una credencial
      • Eliminar credencial
      • Activar o desactivar
      • Búsqueda avanzada
    • Settlement
      • Consultar liquidación
    • Fraud Report
      • Consultar alertas de fraude
  • API Raw Card Present Payments 🇨🇱
    • Notas de versión
    • Catálogo de errores
    • Datos de prueba
    • Proceso de intercambio de llaves
    • El objeto Amount
    • One-time payments
      • Pago único
    • Two-step-payments
      • Autorización y captura
    • Voids & Refunds
      • Reembolsar una transacción
      • Anular y reversar
    • Card information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Query Transactions
      • Búsqueda de transacciones
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Reembolsos
      • Pagos con tarjeta
      • Revisa tus webhooks
    • 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
        • Search
          • Transaction Search
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Release notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Submerchant Document Upload
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • documentType
    • ChargebackListResponse
    • Channel
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment-1
    • one-and-two-step-payment-1
    • Card Present (CP)
    • Card
    • Amount-cash-in
    • SubscriptionTransactionsResponse
    • SettlementDateRangeRequest
    • StatusComponent
    • FraudAlertRequest
    • amount
    • extra_taxes
    • ChargebackItem
    • SubscriptionTransaction
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • one-and-two-step-payment-11
    • networkToken
    • FraudAlertResponse
    • card
    • ErrorResponse400
    • CardData
    • CommandColumns
    • FraudAlertRecord
    • Amount-CL
    • webhooks
    • SettlementResponse
    • webhooksItem
    • headers
    • ErrorResponse401
    • SettlementRecord
    • LinkFailure
    • ColumnItem
    • Amount
    • currency
    • ValidationError
    • card_details
    • transactionType
    • enc_tlv
    • ErrorResponse403
    • CommandDivider
    • TransactionEvent
    • ErrorResponse
    • Country
    • binInfo
    • ErrorResponse500
    • payment_method
    • CommandFeed
    • TransactionStatus
    • extraTaxes
    • Deferred
    • deferred
    • CommandSpace
    • ReadingType
    • SubscriptionUpdate
    • pos_details
    • ContactDetails
    • Language
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • metadata
    • CommandImage
    • EventTerminal
    • Subscription
    • orderDetails
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountCore
    • webhooksChargeback
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • EventTerminal_2
    • ExternalReferenceId
    • EventOperation_2
    • ExternalSubscriptionId
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • product
    • SettlementTicketRequest
    • TransactionEvent_21
    • TransactionStatus2
    • ReadingType3
    • FailureReason_24
    • EventTerminal_25
    • EventOperation_26
    • EventAmount_27
    • EventMetadata_28
    • EventExtraTaxes_29
    • PrintWebhookPayload10
    • TransactionEvent11
    • FailureReason12
    • EventTerminal13
    • EventOperation14
    • EventAmount15
    • EventMetadata16
    • EventExtraTaxes17
    • TransactionEvent_22
    • TransactionStatus3
    • ReadingType4
    • FailureReason_25
    • EventTerminal_26
    • EventOperation_27
    • EventAmount_28
    • EventMetadata_29
    • EventExtraTaxes_210
    • PrintWebhookPayload11
    • TransactionEvent12
    • FailureReason13
    • EventTerminal14
    • EventOperation15
    • EventAmount16
    • EventMetadata17
    • EventExtraTaxes18
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. API Raw Card Present Payments 🇨🇱

Anulaciones y reembolsos

Usa estos endpoints para anular o reembolsar transacciones presenciales procesadas en una terminal POS en Chile. Las dos operaciones admiten modo sin tarjeta: no se requiere leer la tarjeta al momento de la anulación o del reembolso.

Endpoints#

EndpointPropósito
POST /pos/v1/transactionAnula o reversa una transacción
POST /pos/v1/refundReembolsa una transacción completada

Tipos de operación#

TipoCuándoEndpoint
ReversoEl mismo día de la transacción — se usa cuando hay un error de comunicación y no sabes si el cargo se procesóPOST /pos/v1/transaction (transaction_mode: "Reverse")
AnulaciónEl mismo día, antes de las 23:59 hora local de Chile — cancela una transacción confirmadaPOST /pos/v1/transaction (transaction_mode: "Void")
ReembolsoDespués del corte de anulación o en otro día — procesa una devoluciónPOST /pos/v1/refund
WARNING
Los requests de anulación enviados después de las 23:59 hora local de Chile se procesan automáticamente como reembolsos.

Anulación#

La anulación cancela una transacción autorizada antes de la liquidación. Envía transaction_mode: "Void" con el transaction_reference de la transacción original.
{
  "transaction_type": "charge",
  "transaction_mode": "Void",
  "country": "CHL",
  "client_transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "iva": 0
  },
  "card_details": {
    "reading_type": "ICC",
    "enc_tlv": "<encrypted-tlv>",
    "pin_ksn": "<ksn-value>",
    "tracks": {
      "enc_track2": "<encrypted-track2>",
      "track_ksn": "<ksn-value>"
    }
  },
  "cvm_type": "pin",
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189",
    "location": {
      "latitude": -33.4489,
      "longitude": -70.6693
    }
  }
}

Anulación sin tarjeta#

Pon omit_card: true para anular sin volver a leer la tarjeta.
{
  "transaction_type": "charge",
  "transaction_mode": "Void",
  "client_transaction_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "is_smart_void": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "iva": 0
  }
}

Anulación parcial#

Incluye el objeto amount solo con la porción a anular. Omítelo para una anulación total.

Reverso#

Usa un reverso cuando hay problemas de comunicación y no sabes si la transacción fue aprobada. Envía transaction_mode: "Reverse" con el client_transaction_id de la transacción original.
{
  "transaction_type": "charge",
  "transaction_mode": "Reverse",
  "country": "CHL",
  "client_transaction_id": "c3d4e5f6-a7b8-9012-cdef-34567890abcd",
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 5000,
    "iva": 0
  },
  "card_details": {
    "reading_type": "ICC",
    "enc_tlv": "<encrypted-tlv>",
    "pin_ksn": "<ksn-value>",
    "tracks": {
      "enc_track2": "<encrypted-track2>",
      "track_ksn": "<ksn-value>"
    }
  },
  "cvm_type": "pin",
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189"
  }
}

Reverso sin tarjeta#

{
  "transaction_type": "charge",
  "transaction_mode": "Reverse",
  "client_transaction_id": "c3d4e5f6-a7b8-9012-cdef-34567890abcd",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 5000,
    "iva": 0
  }
}
WARNING
Los reversos solo son válidos el mismo día de la transacción. Espera al menos 1 minuto después de la transacción original antes de iniciar un reverso.

Reembolso#

Reembolsa una transacción ya liquidada usando su transaction_reference. Envíalo a POST /pos/v1/refund.
{
  "transaction_type": "refund",
  "transaction_mode": "Authorization",
  "country": "CHL",
  "client_transaction_id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "iva": 0
  },
  "card_details": {
    "reading_type": "ICC",
    "enc_tlv": "<encrypted-tlv>",
    "pin_ksn": "<ksn-value>",
    "tracks": {
      "enc_track2": "<encrypted-track2>",
      "track_ksn": "<ksn-value>"
    }
  },
  "cvm_type": "pin",
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189"
  }
}

Reembolso sin tarjeta#

{
  "transaction_type": "refund",
  "transaction_mode": "Authorization",
  "client_transaction_id": "e5f6a7b8-c9d0-1234-ef01-567890abcdef",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "iva": 0
  }
}

Reembolso parcial#

El objeto amount es siempre obligatorio en POST /pos/v1/refund: para un reembolso total, envía subtotal_iva0 igual al monto de la transacción original; para un reembolso parcial, envía solo la porción a reembolsar.
INFO
El tiempo máximo para procesar un reembolso es de 120 días desde la fecha de la transacción original.

Campos del request#

Anulación y reverso — POST /pos/v1/transaction#

CampoObligatorioDescripción
transaction_typeSíTipo de la transacción original (por ejemplo, "charge", "preAuth", "capture").
transaction_modeSí"Void" para anular; "Reverse" para deshacer de inmediato.
countrySíISO 3166-1 alpha-3. Debe ser "CHL" (opcional para operaciones sin tarjeta).
client_transaction_idSíUUID v4 único por request. Para el reverso: usa el ID de la transacción original.
transaction_referenceSíReferencia de la transacción a anular. No es obligatorio para los reversos.
amountNoObligatorio para anulaciones parciales.
omit_cardNotrue para operaciones sin tarjeta.
is_smart_voidNoSolo Chile. Envía true si quieres que esta anulación se procese como un reembolso: se usa para transacciones con tarjeta de crédito de BCI, Banco de Chile y Scotiabank. Por defecto es false.
cvm_typeNo"none", "pin" o "signature". Opcional para operaciones sin tarjeta.

Reembolso — POST /pos/v1/refund#

CampoObligatorioDescripción
transaction_typeSíSiempre "refund".
transaction_modeSíSiempre "Authorization".
countrySíISO 3166-1 alpha-3. Debe ser "CHL" (opcional para operaciones sin tarjeta).
client_transaction_idSíUUID v4 único por request.
transaction_referenceSíReferencia de la transacción a reembolsar.
amountSíSiempre obligatorio. Envía subtotal_iva0 igual al monto original para un reembolso total, o un monto menor para un reembolso parcial.
omit_cardNotrue para reembolsos sin tarjeta.
cvm_typeSí"none", "pin" o "signature". No es obligatorio para reembolsos sin tarjeta.

amount#

CampoObligatorioDescripción
currencySíDebe ser "CLP".
subtotal_ivaSíPonlo en 0.
subtotal_iva0SíMonto a anular o reembolsar en CLP.
ivaSíPonlo en 0.
tipNoMonto de la propina en CLP.

Autenticación#


Entornos#

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

Endpoints disponibles#

Anulación / Reverso
Anula una autorización (void) o deshace una transacción de inmediato (reverse). Admite operaciones sin tarjeta y anulaciones parciales.
Reembolso
Reembolsa una transacción presencial ya liquidada — total o parcial, con o sin lectura de la tarjeta. Máximo 120 días.

¿Tienes una sugerencia sobre esta documentación? Contáctanos.
Modified at 2026-09-11 14:52:04
Previous
Autorización y captura
Next
Reembolsar una transacción
Built with