1. Chile 🇨🇱
  • API Docs Chile 🇨🇱
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Create payment (tokenless)
      • Make a charge or deferred charge
      • Void a transaction
      • Refund a transaction
      • Request deferred options
      • Authorize payments
      • Preauthorization (tokenless)
      • Reauthorize payments
      • Capture an authorized payment
      • Verify Account
      • Validate OTP
      • Bin Info V2
      • Bin Info
      • Voucher
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Update recurring charge card data
      • Make an One-click payment
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Card Async
      • Request a card async token
      • Init Transaction
      • Authorize payments
      • Capture an authorized payment
      • Get Status
    • Async Card Recurring Charges
      • Request an async card recurring charge token
      • Init an async card recurring charge
      • Authorize payments
      • Capture an authorized payment
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Transfer In
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Transfer Out
      • Get Bank List
      • Get Bank List V2
      • Request a Transfer Out token
      • Init Transaction
      • Get Status
      • Balance for Payouts
    • Cash In
      • Request a cash in token
      • Init Transaction
      • Transaction Status
    • Smartlinks V2
      • Create a Smartlink
      • Get a Smartlink
      • Delete a smartlink
      • Update a Smartlink
    • Payment Button
      • Create a payment button
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Status
      • Get platform status
      • Get gateway status
    • Subscription Transactions
      • Get subscription transactions
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Update credential
      • Regenerate a credential
      • Delete credential
      • Activate or deactivate
      • Advanced search
    • Settlement
      • Query settlement
  • API Raw Card Present Payments
    • Release Notes
    • Error Catalog
    • Test Data
    • Key Exchange Process
    • One-time payments
      • Single payment
    • Two-step-payments
      • Authorization and capture
    • Voids & Refunds
      • Refund a transaction
      • Void & Reverse
    • Card information
      • Get BIN Info
      • Bin Info V2
      • Request deferred options
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good practices
      • Refunds
      • Card Payments
      • Check your webhooks
  • Kushki One
    • Cloud Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
      • Search
        • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
      • Search
        • Transaction Search — Online
        • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • documentType
    • Amount-cash-in
    • amount
    • Card
    • ChargebackListResponse
    • Channel
    • StatusComponent
    • SubscriptionTransactionsResponse
    • SettlementDateRangeRequest
    • AmountWithTaxes
    • PrintJobRequest
    • networkToken
    • extra_taxes
    • ChargebackItem
    • SubscriptionTransaction
    • SettlementTicketRequest
    • AmountCore
    • CommandText
    • webhooks
    • card
    • Amount-CL
    • webhooksItem
    • ErrorResponse400
    • SettlementResponse
    • ExtraTaxes
    • CommandColumns
    • headers
    • currency
    • Amount
    • card_details
    • ErrorResponse401
    • SettlementRecord
    • ColumnItem
    • Metadata
    • transactionType
    • enc_tlv
    • ErrorResponse403
    • ErrorResponse
    • TransactionResponse
    • CommandDivider
    • extraTaxes
    • Country
    • binInfo
    • Deferred
    • deferred
    • ErrorResponse500
    • payment_method
    • RawResponse
    • CommandFeed
    • SubscriptionUpdate
    • pos_details
    • CardData
    • CommandSpace
    • ContactDetails
    • Language
    • contact_details
    • sub_merchant
    • AmountWithTip
    • CommandCut
    • Subscription
    • metadata
    • LinkFailure
    • CommandImage
    • orderDetails
    • TransactionSearchRequest
    • CommandQR
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • Billing-Address
    • PrinterError
    • product
    • PrintJobStatus
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • PrintWebhookPayload
    • webhooksChargeback
    • citMit
    • network
    • messageFields
    • UnexpectedErrorResponse
    • ExternalReferenceId
    • ExternalSubscriptionId
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Chile 🇨🇱

API RAW CARD PRESENT PAYMENTS

The Card Present API lets you process face-to-face card payments directly from your POS terminals in Chile. A single, consistent set of endpoints covers the full payment lifecycle: one-time charges, two-step authorize-and-capture, voids, refunds, and transaction queries — across chip (ICC), magnetic stripe (MCR), and contactless (NFC) reading channels.
Beta
Card Present payments are in Beta phase for Chile 🇨🇱. Contact your account manager for access.

Available operations#

One-Time Payments
Process immediate charges — single, deferred (Cuotas Comercio and Cuotas Emisor), cashback, or tip — in a single API call.
Two-Step Payments
Place a hold (pre-auth), then capture when ready. Supports reauthorization and cardless operations.
Voids & Refunds
Cancel an authorization (void), roll back a transaction (reverse), or refund a settled payment — full or partial, with or without card reading.
Card Information
Look up BIN data, check installment availability, and query Cuotas Comercio / Cuotas Emisor options before initiating a charge.
Query Transactions
Search and paginate through POS terminal transactions with filters by date, BIN, card digits, or reference.

How it works#

All Card Present operations share a common request structure built around three main objects: the transaction intent, the card data, and the terminal details.
{
  "transaction_type": "charge",
  "transaction_mode": "Authorization",
  "country": "CHL",
  "client_transaction_id": "<uuid-v4>",
  "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": "1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189",
    "location": {
      "latitude": -33.4489,
      "longitude": -70.6693
    }
  }
}

Key concepts#

Currency#

Chile uses CLP (Chilean Peso). CLP has no decimal places — all amounts are integers.
"amount": {
  "currency": "CLP",
  "subtotal_iva": 0,
  "subtotal_iva0": 10000,
  "iva": 0
}

Reading channels#

Set card_details.reading_type to indicate how the card was presented.
ValueChannelRequired card data
ICCChip (EMV)enc_tlv, pin_ksn, tracks.enc_track2, tracks.track_ksn
MCRMagnetic stripetracks.enc_track1, tracks.enc_track2
NFCContactlessenc_tlv, tracks.enc_track2, tracks.track_ksn

Cardholder verification (cvm_type)#

ValueMeaning
pinOnline PIN — encrypted PIN block sent in card_details.pin_block
signatureSignature at the terminal
noneNo CVM (e.g., low-value transactions, contactless)

Cardless operations#

Chile has full support for cardless operations — no card read is required for voids, reverses, refunds, captures, and reauthorizations. Set omit_card: true to omit card_details and cvm_type.
{
  "transaction_type": "capture",
  "transaction_mode": "Authorization",
  "omit_card": true,
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "amount": { "currency": "CLP", "subtotal_iva": 0, "subtotal_iva0": 10000, "iva": 0 }
}

Installments#

Chile supports two types of deferred payments. Always call the BIN lookup first to confirm the card supports the desired installment type.
TypeHow to triggerRange
Cuotas Comercio (Merchant Installments)is_deferred: true + deferred.credit_type: "03"2–12 months
Cuotas Emisor (Issuer Installments)is_deferred: true — no credit_type2–48 months
Beta
Cuotas Comercio (Merchant Installments) are currently in Beta phase. Contact the Kushki team to enable this feature in your console.

Reversal, void, and refund cutoff#

OperationCutoff
Reversal (same-day)Before 23:59 Chile local time — used to check the outcome of a transaction affected by a timeout or communication issue
Void (same-day)Before 23:59 Chile local time
RefundAvailable after void cutoff, up to 120 days from the original transaction

Cashback#

Chile supports cashback at the time of a card-present payment. Set is_cashback: true and include cashback_amount.
WARNING
Cashback is only available with local cards and is not supported for contactless (NFC) transactions.

Idempotency#

Every request must include a unique client_transaction_id (UUID v4). Reusing the same ID for retries is safe — Kushki returns the result of the original transaction without creating a duplicate.

Integration models#

Chile supports both the Acquirer and Aggregator models.
ModelDescriptionRequired fields
AcquirerDirect integration — the merchant is directly registered with KushkiStandard request body
AggregatorMarketplace / payment facilitator — sub-merchants transact under your umbrellaAdd sub_merchant object to the request

Aggregator — sub_merchant object#

"sub_merchant": {
  "mcc": "5411",
  "id_affiliation": "987654321",
  "soft_descriptor": "Mi Comercio Chile",
  "city": "Santiago",
  "country_ans": "CHL",
  "zip_code": "7550000",
  "address": "Av. Apoquindo 4501",
  "social_reason": "Mi Comercio Chile SpA",
  "code": "SUB001CHL"
}

Encryption#

Card data (TLV, track data, PIN blocks) must be encrypted using the DUKPT (Derived Unique Key Per Transaction) protocol before being sent to the API. Kushki and the merchant exchange Base Derivation Keys (BDK) through a secure Key Encryption Key (KEK) ceremony prior to going live.
See Key Exchange Process for the full procedure.

Webhooks#

Kushki sends webhook notifications for all Card Present events: charges, authorizations, captures, voids, reverses, and refunds. Configure your webhook endpoints from the Console (Developers > Webhooks).
WARNING
Card Present webhooks can only be configured through the Console. Webhook configuration via API is not supported.

Authentication#

OperationHeader
Charges, voids, reverses, refunds, BIN lookup, query transactions (analytics)Private-Credential-Id: <your-private-credential>
Deferred optionsPublic-Merchant-Id: <your-public-key>

Environments#

🟢 Production
🧪 Sandbox (UAT)
🔬 Visa / MC Certification
https://api.kushkipagos.com/

Additional resources#

Key Exchange Process
DUKPT/KEK ceremony required before processing live transactions.
Test Data
Amounts and scenarios for sandbox testing in Chile.
Error Catalog
HTTP status codes and ISO error codes for Mastercard and Visa.
Good Practices
Security and integration best practices for Card Present.

Got a suggestion on this documentation? Contact us.
Modified at 2026-07-31 20:42:25
Previous
Query settlement
Next
Release Notes
Built with