1. Two-step-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
        POST
    • 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. Two-step-payments

Autorización y captura

https://api-uat.kushkipagos.com
https://api-uat.kushkipagos.com
POST
/pos/v1/transaction
Con este endpoint puedes hacer preautorizaciones, reautorizaciones, capturar un pago y anular una preautorización en una transacción presencial en Chile.

Canales de lectura soportados#

ICC — Integrated Circuit Card (chip)
MCR — Magnetic Card reader
NFC — Near Field Communication (contactless)

Hacer una preautorización (retener el saldo de una tarjeta)#

Puedes retener el saldo de una tarjeta para reservar un monto determinado en espera de la captura.

Estructura#

Envía preAuth en el campo transaction_type y Authorization en el campo transaction_mode como parte del body de tu request. (Revisa el ejemplo completo al lado derecho de la pantalla).

Hacer una reautorización#

Puedes extender el monto o la vigencia de una autorización existente.
La moneda debe ser la misma de la autorización original.
Puedes enviar un monto de 0 en la reautorización para extender la fecha de captura sin aumentar el monto retenido.
La reautorización puede ser por un monto mayor al de la autorización original.
NOTA: Una reautorización se puede anular. Después de anularla, no se pueden hacer más reautorizaciones sobre esa transacción.

Estructura#

Envía reAuthorization en el campo transaction_type y Authorization en el campo transaction_mode, junto con el transaction_reference de la preautorización original.

Capturar un pago#

Cuando estés listo para cobrar los fondos, captura el monto que definas.
El monto de la captura debe ser igual a la suma de la autorización y de todas las reautorizaciones no anuladas, o menor. Envía capture en el campo transaction_type, Authorization en el campo transaction_mode y el transaction_reference de la transacción a capturar: esta referencia debe venir de la autorización, no de una reautorización.

Cardless operations#

Puedes hacer una reautorización, una captura o una anulación sin necesidad de volver a leer la tarjeta: es útil cuando ya capturaste los datos de la tarjeta en un paso anterior.
NOTA: También puedes revisar la información de un reembolso sin tarjeta.
Para hacer una operación sin tarjeta, envía omit_card: true. Los campos obligatorios para una operación sin tarjeta son:
PROPIEDADTIPOValores permitidos
amountObject
transaction_modeStringAuthorization, Void
transaction_typeStringcharge, reAuthorization, capture
client_transaction_idString
transaction_referenceString
omit_cardBooleantrue
NOTA: Las operaciones sin tarjeta están disponibles para tarjetas de crédito y débito Visa y Mastercard en Chile.

Ejemplo de una operación sin tarjeta#

Para hacer una operación sin tarjeta, envía omit_card: true y omite los demás campos no obligatorios:
{
    "amount": {
        "currency": "CLP",
        "iva": 0,
        "subtotal_iva": 0,
        "subtotal_iva0": 20000
    },
    "transaction_mode": "Authorization",
    "transaction_type": "reAuthorization",
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
    "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
    "omit_card": true
}
{
    "amount": {
        "currency": "CLP",
        "iva": 0,
        "subtotal_iva": 0,
        "subtotal_iva0": 20000
    },
    "transaction_mode": "Authorization",
    "transaction_type": "capture",
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
    "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
    "omit_card": true
}
{
    "amount": {
        "currency": "CLP",
        "iva": 0,
        "subtotal_iva": 0,
        "subtotal_iva0": 20000
    },
    "transaction_mode": "Void",
    "transaction_type": "charge",
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
    "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
    "omit_card": true
}

Límites de la retención#

Tipo de tarjetaDuración máxima de la retención
Tarjeta de crédito28 días
Tarjeta de débito7 días
Si la transacción no se captura dentro del plazo permitido, el banco emisor libera los fondos retenidos.

Request

Header Params

Body Params application/json

Examples

Responses

🟢200
application/json
OK
Bodyapplication/json

🟠400
🟠401
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/pos/v1/transaction' \
--header 'Private-Credential-Id;' \
--header 'Content-Type: application/json' \
--data '{
    "card": {
        "card_holder_name": "John Doe"
    },
    "amount": {
        "iva": 0,
        "tip": 0,
        "currency": "CLP",
        "extra_taxes": {
            "iac": 0,
            "ice": 0,
            "airport_tax": 0,
            "travel_agency": 0
        },
        "subtotal_iva": 0,
        "subtotal_iva0": 600
    },
    "country": "CHL",
    "cvm_type": "none",
    "is_cashback": false,
    "pos_details": {
        "brand": "SUNMI",
        "model": "P2-EU",
        "version": "Kushki SunmiV1.1.26",
        "location": {
            "latitude": -33.4489,
            "longitude": -70.6693
        },
        "has_print": true,
        "terminal_id": "PB04216R20537"
    },
    "card_details": {
        "tracks": {
            "track_ksn": "FFFF4357486333600002",
            "enc_track2": "283587285CE10278E7FA50AD5C97CFFE87F472C9FE6406F8"
        },
        "enc_tlv": "CE447A062C49774934E42A7F826668C0C478E38402C158062EE794C0E471B43EA8CE49C256C2C8B157526B0B2BE74FC23F65E18D4F52B99A1A0910E6CCD9B11A32D6D537E2B6E2B011C89569DE6A3D53318080BC77E0E70B398ED3083FD7366CCF8FB4DBF34A116E6D52CFBEF26371878D842034E5029EF62DF235D2C427F04102E451773D9E8975978917E3BC531327702967052E239F8C592734AE14688E603C52B858FC1D97B763AE623603F1475FFFB065EC07AF7A29",
        "pin_ksn": "FFFF4357486333600002",
        "reading_type": "ICC"
    },
    "contact_details": {
        "email": "",
        "last_name": "",
        "first_name": "",
        "phone_number": "",
        "document_type": "-1",
        "document_number": "",
        "second_last_name": ""
    },
    "transaction_mode": "Authorization",
    "transaction_type": "preAuth",
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a"
}'
Response Response Example
200 - Example 1
{
    "additional_amounts": {
        "account_type": "string",
        "amount": 0,
        "amount_type": "string",
        "card_type": "string",
        "currency_code": "string"
    },
    "authorized_amount": 0,
    "card_type": "debit",
    "cvm_type": "string",
    "F11": "string",
    "franchise": "VISA",
    "kushki_response": {
        "code": "string",
        "message": "string"
    },
    "message_fields": {
        "F38": "string",
        "F39": "string",
        "F55": "string"
    },
    "transaction_reference": "string",
    "transaction_status": "APPROVAL",
    "transaction_type": "string",
    "ticket_number": "string"
}
Modified at 2026-09-11 15:11:34
Previous
Two-step-payments
Next
Voids & Refunds
Built with