1. Sync
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
      • Preautorización (sin token)
      • Crear pago (sin token)
      • Anular una transacción
      • Reembolsar una transacción
      • Verificar cuenta
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Reautorizar pagos
      • Capturar un pago autorizado
      • 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
      • 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 Out
      • Obtener token de Card Payout
      • Obtener token de suscripción
      • Push funds
      • Push Funds en suscripciones
      • Consultar estado de la transacción
      • Eliminar suscripción
    • Transfer In
      • Consultar la configuración de 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
      • Actualizar un Smartlink
      • Consultar un Smartlink
      • Eliminar un Smartlink
    • Analytics
      • Consultar listado de transacciones v2
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Gateway Status
      • Consultar estado del gateway
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Búsqueda avanzada
      • Activar o desactivar
      • Eliminar credencial
      • Actualizar credencial
      • Regenerar una credencial
    • Payment Button
      • Crear un Payment Button
    • Platform Status
      • Consultar estado de la plataforma
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Settlement
      • Consultar liquidación
    • Fraud Report
      • Consultar alertas de fraude
  • Card Present Payments (API Raw)
    • Notas de versión
    • Proceso de intercambio de llaves
    • Datos de prueba
    • Catálogo de errores de Kushki para transacciones POS
    • 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
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Reembolsos
      • Pagos con tarjeta
      • Revisa tus webhooks
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment Cloud
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Abort
          • Void
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print Cloud
        • Create Print Job
        • Get Print Job Status
      • Diagnostics
        • Connection test
        • Terminal info
    • Local Services
      • Payment Local
        • Sync
          • Charge
            POST
          • Authorization (Pre-auth)
            POST
          • Capture
            POST
          • Re-authorization
            POST
          • Post-tip
            POST
          • Void
            POST
          • Abort
            GET
        • 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 Local
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
      • Diagnostics
      • Diagnostics
        • Connection test
        • Terminal info
  • 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
    • Shared
      • ErrorResponse
      • BadRequestResponse
      • InvalidBinResponse
      • payment_method
      • payment_submethod
      • messageFields
      • Channel
    • Amount & Taxes
      • Amount-cash-in
      • GetConfigurationRequest
    • Identity & Contact
      • Shipping Address
    • Card & Payments
      • ChargesVoidCardResponse
      • Promotions
      • Submerchant
    • Subscriptions
      • SubscriptionUpdate
      • SubscriptionAdjustmentRequest
      • SubscriptionTransactionsResponse
    • Webhooks
    • Analytics
      • AnalyticsTransactionItem
      • AnalyticsListResponse
    • Settlement
      • SettlementDateRangeRequest
      • SettlementTicketRequest
      • SettlementResponse
    • Chargebacks
      • ChargebackListResponse
      • ChargebackSearchRequest
    • Cash
      • CashChargeInitRequest
      • CashStatusResponse
    • Transfer
      • TransferTokenRequest
      • TransferInitRequest
      • TransferStatusResponse
    • Payouts
      • PayoutsWebhooksItem
    • Smart Link
      • SmartLinkAmount
    • Terminal
      • TerminalContactDetails
      • TerminalCardDetails
      • TerminalPosDetails
      • TransactionSearchRequest
      • TerminalCardData
    • RequestBodies
      • one-and-two-step-payment
    • card-old
    • AmountWithTaxes-old
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment
    • Card Present (CP)
    • one-and-two-step-payment1
    • Card
    • amount
    • FraudAlertRequest
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • Shipping Address
    • transactionType
    • ChargebackItem-old
    • SubscriptionTransaction
    • amount
    • AmountCore-old
    • CommandText-old
    • Language
    • extra_taxes
    • CommandText
    • RawResponse
    • Card Not Present (CNP)
    • Deferred
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400-old
    • Deferred-old
    • SettlementResponse
    • extra_taxes-old
    • ExtraTaxes-old
    • CommandColumns-old
    • card
    • CommandColumns
    • CardData
    • FraudAlertRecord
    • currency
    • currency
    • ErrorResponse
    • webhooksItem
    • orderDetails-old
    • Country
    • ErrorResponse401-old
    • SettlementRecord
    • pos_details-old
    • ColumnItem-old
    • LinkFailure
    • ColumnItem
    • Amount
    • card_details
    • ValidationError
    • documentType
    • ErrorResponse403-old
    • card_details-old
    • TransactionResponse-old
    • CommandDivider-old
    • enc_tlv
    • CommandDivider
    • TransactionEvent
    • extraTaxes
    • extraTaxes-old
    • payment_method
    • ErrorResponse500-old
    • threeDomainSecure
    • enc_tlv
    • RawResponse-old
    • CommandFeed-old
    • CommandFeed
    • TransactionStatus
    • deferred
    • binInfo
    • contact_details-old
    • CardData-old
    • CommandSpace-old
    • CommandSpace
    • ReadingType
    • pos_details
    • Billing-Address-old
    • deferred-old
    • sub_merchant
    • AmountWithTip-old
    • CommandCut-old
    • metadata
    • sub_merchant
    • CommandCut
    • FailureReason
    • contact_details
    • headers
    • metadata
    • LinkFailure-old
    • CommandImage-old
    • CommandImage
    • EventTerminal
    • Amount-old
    • ContactDetails-old
    • SubscriptionUpdate
    • TransactionSearchRequest-old
    • CommandQR-old
    • orderDetails
    • CommandQR
    • EventOperation
    • Subscription
    • payment_submethod
    • citMit
    • SubscriptionAdjustmentRequest
    • CommandBarcode-old
    • Shipping Address
    • CommandBarcode
    • EventAmount
    • messageFields
    • PrinterError-old
    • Billing Address
    • EventExtraTaxes
    • PrintJobAccepted
    • webhooksChargeback
    • Language
    • PrintJobStatus-old
    • PrinterError
    • EventMetadata
    • networkToken-old
    • PrintWebhookPayload-old
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • webhooks
    • AmountCore
    • webhooks
    • product-old
    • headers
    • PrintWebhookPayload
    • ExtraTaxes
    • Metadata
    • webhooksChargeback
    • UnexpectedErrorResponse-old
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • Card-old-old
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • Promotions-old
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • EventTerminal_2
    • EventOperation_2
    • InvalidBinResponse-old
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • currency
    • Amount-CL-old
    • SettlementTicketRequest
    • metadata
    • payment_method
    • currency
    • currency
    • Submerchant
    • Shipping Address
    • GetConfigurationRequest-old
    • BadRequestResponse
    • ContactDetails
    • product
    • TransactionEvent_21
    • TransactionStatus2
    • ReadingType3
    • FailureReason_24
    • EventTerminal_25
    • EventOperation_26
    • EventAmount_27
    • EventMetadata_28
    • EventExtraTaxes_29
    • PrintWebhookPayload10
    • TransactionEvent11
    • FailureReason12
    • EventTerminal13
    • EventOperation14
    • EventAmount15
    • EventMetadata16
    • EventExtraTaxes17
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
    • TransactionSearchOnlineResponse
    • TransactionSearchLocalResponse
HomePerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
HomePerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
Status
Soporte / Support
Español
  • English
  • Español
  1. Sync

Authorization (Pre-auth)

Testing
https://api-uat.kushkipagos.com
https://api-uat.kushkipagos.com
POST
/terminal/v1/sync/authorization
Reserves funds without capturing them. Use when the final amount is
unknown at card-present time: hotels, gas stations, open-tab restaurants.

🚧 Beta — Early Access#

This API is in early access. Endpoints, parameters, and response structures
may change without prior notice. Do not deploy to production without
coordinating with the Kushki integration team.
Supported networks: Visa and Mastercard (debit and credit).
Card typeValidity
Debit7 days
Credit28 days
Save rawResponse.transaction_reference — required for capture,
re_authorization, and void.

What you encrypt#

The body you send is the encrypted envelope. This is the plaintext object you encrypt — the field contract, not what travels on the wire:
{
    "amount": {
        "iva": 0,
        "subtotal_iva": 0,
        "subtotal_iva0": 50000,
        "tip": 0,
        "extra_taxes": {
            "airport_tax": 0,
            "iac": 0,
            "ice": 0,
            "travel_agency": 0
        }
    },
    "client_transaction_id": "c5a3f3be-9d6f-4d39-8af5-58dbb589af30",
    "metadata": {
        "reference": "HOTEL-ROOM-302",
        "device": "SUNMI-P3"
    }
}
amount.tip is optional on charge and on authorization — the tip can be set at pre-authorization time. cashback_amount is optional on charge. On pos_tip the tip is not an optional field: it is the amount of the operation. Each one needs the matching capability enabled for your terminal; when it is not, the terminal ignores the field instead of rejecting the request.
See Authentication and request encryption for the derivation chain and the seven steps.

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Pre-authorization approved. Funds reserved.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠409
🟠422Parameter Error
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/terminal/v1/sync/authorization' \
--header 'Authorization: Basic 9f2c4e1b7a63d8f05c2e9b41a7d3086fbe15c4d29a7e0b38f6c1d52a94e7b3c0' \
--header 'timestamp: 1748476800' \
--header 'encrypted_http_communication: true' \
--header 'Content-Type: application/json' \
--data '{
    "data": "a3f14c7e9b02d85fbc1e46a9d370f28b:9e0d7f21c4a8b653e17d902fac48b5d6e83c1704a9f26db8"
}'
Response Response Example
200 - default
{
    "hostRespond": true,
    "approved": true,
    "responseCode": "000",
    "authCode": "123456",
    "issuerAuthenticationData": "663cddbc3ec72e76",
    "issuerScript1": "9f180441424344860d841e00000872d7d06b30fdb0df860d841e00000895609d17caff5d43860d841e000008d3b5782ce1f80b6a860d841e00000832c88ba879f5d0b4860d841e000008db4922e8ba157ae9860d841e000008ff98d27978f0577c860d841e000008a859a01deca6f384",
    "issuerScript2": "9f180430303031860e04da9f58090335454008649d370c",
    "message": "Approved or completed successfully.",
    "rawResponse": {
        "additional_amounts": {
            "account_type": "",
            "amount": 0,
            "amount_type": "",
            "card_type": "",
            "currency_code": ""
        },
        "authorized_amount": 120,
        "card_type": "credit",
        "cvm_type": "pin",
        "franchise": "VISA",
        "kushki_response": {
            "code": "000",
            "message": "Approved or completed successfully."
        },
        "transaction_reference": "983a7480-6d97-41c3-bdd8-d3cde6685c17",
        "transaction_status": "APPROVAL",
        "transaction_type": "preAuth",
        "ticket_number": "110993659310263283",
        "F11": "147009",
        "message_fields": {
            "F38": "123456",
            "F39": "00",
            "F55": "9108663cddbc3ec72e7671709f180441424344860d841e00000872d7d06b30fdb0df860d841e00000895609d17caff5d43860d841e000008d3b5782ce1f80b6a860d841e00000832c88ba879f5d0b4860d841e000008db4922e8ba157ae9860d841e000008ff98d27978f0577c860d841e000008a859a01deca6f38472179f180430303031860e04da9f58090335454008649d370c"
        }
    },
    "cardData": {
        "pan": "**** **** **** 0043",
        "cardHolderName": "554154205553412F546573742043617264203032",
        "entryMode": "ICC",
        "cvm": "pin",
        "aid": "A0000000031010",
        "bin": "453985",
        "arqc": "960E7A7DE8F6E874",
        "tc": ""
    },
    "timestamp": 1772636209320,
    "request": {
        "amount": {
            "currency": "PEN",
            "iva": 0,
            "subtotal_iva": 0,
            "subtotal_iva0": 12000,
            "extra_taxes": {
                "airport_tax": 0,
                "iac": 0,
                "ice": 0,
                "travel_agency": 0
            }
        },
        "client_transaction_id": "c5a3f3be-9d6f-4d39-8af5-58dbb589af69",
        "show_decimal_places": true,
        "is_async": false,
        "events_webhook_url": "",
        "transaction_mode": "Authorization"
    },
    "needReversal": false
}
Modified at 2026-10-07 16:03:57
Previous
Charge
Next
Capture
Built with