1. Payment
  • 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
    • Fraud Report
      • Consultar alertas de fraude
  • API Raw Card Present Payments
    • Release Notes
    • Error Catalog
    • Test Data
    • Key Exchange Process
    • The Amount Object
    • 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
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
    • Webhooks
      • Introduction
      • Good practices
      • Refunds
      • Card Payments
      • Check your webhooks
  • Kushki One
    • Cloud Services
      • Payment
        • Search
          • Transaction Search
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • 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)
      • 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
    • TransactionResponse
    • PrintJobRequest
    • FraudAlertRequest
    • networkToken
    • extra_taxes
    • ChargebackItem
    • SubscriptionTransaction
    • SettlementTicketRequest
    • RawResponse
    • CommandText
    • FraudAlertResponse
    • webhooks
    • card
    • Amount-CL
    • webhooksItem
    • ErrorResponse400
    • SettlementResponse
    • CardData
    • CommandColumns
    • FraudAlertRecord
    • headers
    • currency
    • Amount
    • card_details
    • ErrorResponse401
    • SettlementRecord
    • LinkFailure
    • ColumnItem
    • ValidationError
    • transactionType
    • enc_tlv
    • ErrorResponse403
    • ErrorResponse
    • CommandDivider
    • TransactionEvent
    • extraTaxes
    • Country
    • binInfo
    • Deferred
    • deferred
    • ErrorResponse500
    • payment_method
    • CommandFeed
    • TransactionStatus
    • SubscriptionUpdate
    • pos_details
    • CommandSpace
    • ReadingType
    • ContactDetails
    • Language
    • contact_details
    • sub_merchant
    • CommandCut
    • FailureReason
    • Subscription
    • metadata
    • CommandImage
    • EventTerminal
    • orderDetails
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • product
    • PrinterError
    • EventMetadata
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • webhooksChargeback
    • AmountCore
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • citMit
    • AmountWithTip
    • network
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • messageFields
    • TransactionEvent_2
    • UnexpectedErrorResponse
    • FailureReason_2
    • EventTerminal_2
    • ExternalReferenceId
    • EventOperation_2
    • ExternalSubscriptionId
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Payment

Async

Async operations return as soon as the terminal accepts the payment intent, without waiting for the cardholder or the acquirer. Every state change — including the final approval or decline — arrives as a POST to the webhook URL you supply.
Beta — Early Access
Kushki ONE Cloud is currently in Beta for Chile 🇨🇱. Do not deploy to production without coordinating with the Kushki integration team.
DANGER
The 200 you get back is an acknowledgement, not a result. It carries status: TERMINAL_ACKNOWLEDGED and confirms only that the terminal took the request. Never treat it as an approved payment.

Operations#

OperationEndpoint
Charge (Async)POST /async/charge
Authorization — Pre-auth (Async)POST /async/authorization
Capture (Async)POST /async/capture
Re-authorization (Async)POST /async/re_authorization
Post-tip (Async)POST /async/pos_tip
Void (Async)POST /async/void
Refund, abort and transaction search have no async variant — use the Sync folder.

Wiring the webhook#

Add events_webhook_url to the request body. Without it the transaction still executes, but you never learn how it ended.
{
  "events_webhook_url": "https://api.negocio.cl/webhook/terminal-events",
  "amount": { "subtotal_iva0": 10000, "subtotal_iva": 0, "iva": 0 },
  "client_transaction_id": "c5a3f3be-9d6f-4d39-8af5-58dbb589af79"
}
Your endpoint must answer any 2xx. Kushki retries on timeouts and on 408, 429, 500, 502, 503 and 504, with exponential backoff, and gives up after 10 attempts or 15 minutes. A 4xx other than 408/429 is treated as a permanent rejection and is never retried.
Do thisWhy
Deduplicate by event_idThe terminal replays queued events after a network outage
Correlate by client_transaction_idIt is the only field shared by every event of one transaction
Watch previous_statusGaps in the chain mean a delivery was lost
Deserialize casing as-isTop level is snake_case; inside terminal and operation it is camelCase
Full envelope and the seven-state lifecycle: see Cloud Services.

Fields only async accepts#

These four exist because async is where the terminal drives the interaction. Each is gated by a DMS capability — when it is disabled the terminal ignores the field instead of rejecting the request.
FieldEndpointEffect
amount.tip/async/chargeTip amount. Send 0 when not applicable
cashback_amount/async/chargeCash withdrawal. Send 0 for none
query_deferred/async/chargePrompts the cardholder for installments (cuotas)
omit_card/async/re_authorizationSkips card presentation
INFO
Ignoring a field silently is deliberate, but it means a 200 does not prove the tip or cashback was applied. Confirm against the amounts in the final APPROVAL event.

Got a suggestion on this documentation? Contact us.
Modified at 2026-08-20 15:32:08
Previous
Abort
Next
Charge (Async)
Built with