1. Async
English
  • English
  • Español
  • API Docs Colombia 🇨🇴
  • Online Payments
    • Release Notes
    • Kushki API errors
    • ISO errors
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Create payment (tokenless)
      • 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
      • BIN info V2
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Make an One-click payment
      • Update recurring charge card data
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
    • Transfer in
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
      • Cancel Transaction
    • 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
      • Delete a cash in transaction
      • Update a cash in transaction
    • Cash-out
      • Request a cash out token
      • Init Transaction
      • Transaction Status
      • Update a cash out transaction
      • Delete a cash out transaction
    • Smartlinks-v2
      • Create a Smartlink
      • Get a Smartlink
      • Update a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v2
    • Gateway-status
      • Get gateway status
      • Get platform status
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Advanced search
      • Delete credential
      • Regenerate a credential
      • Activate or deactivate
      • Update credential
    • Payment Button
      • Create a payment button
    • Settlement
      • Query settlement
    • Subscription Transactions
      • Get subscription transactions
    • Fraud Report
      • Query fraud alerts
  • Kushki One
    • Release notes
    • Transaction Examples
    • Webhooks
    • Error Catalog
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
      • Diagnostics
        • Terminal info
        • Connection test
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Abort
        • Async
          • Charge (Async)
            POST
          • Authorization — Pre-auth (Async)
            POST
          • Capture (Async)
            POST
          • Re-authorization (Async)
            POST
          • Post-tip (Async)
            POST
          • Void (Async)
            POST
          • Abort (Async)
            GET
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
      • Diagnostics
        • Terminal info
        • Connection test
  • API Raw Card Present Payments
    • Release Notes
    • Error Catalog
    • The Amount Object
    • Key Exchange Process
    • Test data
    • One-time Payments
      • Single payment
    • Two-step Payments
      • Authorization and capture
    • Card Information
      • Get BIN Info
      • BIN info V2
      • Request deferred options
    • Voids & Refunds
      • Void & Reverse
      • Refund a transaction
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good Practices
      • Webhooks-Card Payments
      • Webhooks-Refunds
      • Check your webhooks
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
    • Fraud Report
      • Query fraud alerts
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • SubscriptionTransactionsResponse
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • SettlementDateRangeRequest
    • PrintJobRequest
    • card
    • amount
    • one-and-two-step-payment-3
    • Card Present (CP)
    • one-and-two-step-payment-3
    • FraudAlertRequest
    • TransactionResponse
    • SubscriptionTransaction
    • networkToken
    • ChargebackItem
    • SettlementRecord
    • CommandText
    • Card Not Present (CNP)
    • FraudAlertResponse
    • RawResponse
    • ErrorResponse
    • currency
    • Deferred
    • webhooksItem
    • ErrorResponse400
    • SettlementResponse
    • CommandColumns
    • extra_taxes
    • FraudAlertRecord
    • CardData
    • Amount
    • ErrorResponse401
    • ColumnItem
    • pos_details
    • ValidationError
    • LinkFailure
    • extraTaxes
    • ErrorResponse403
    • CommandDivider
    • card_details
    • enc_tlv
    • TransactionEvent
    • Country
    • payment_method
    • ErrorResponse500
    • CommandFeed
    • deferred
    • TransactionStatus
    • CommandSpace
    • contact_details
    • ReadingType
    • ContactDetails
    • CommandCut
    • sub_merchant
    • FailureReason
    • documentType
    • Subscription
    • CommandImage
    • metadata
    • EventTerminal
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • SubscriptionUpdate
    • EventMetadata
    • PrinterError
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • product
    • webhooks
    • AmountCore
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • webhooksChargeback
    • citMit
    • AmountWithTip
    • TransactionSearchOnlineBody
    • TransactionSearchBody
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • messageFields
    • TransactionEvent_2
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • ExternalReferenceId
    • EventTerminal_2
    • ExternalSubscriptionId
    • EventOperation_2
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • SettlementTicketRequest
    • network
    • ErrorResponse
    • TransactionEvent_23
    • TransactionStatus4
    • ReadingType5
    • FailureReason_26
    • EventTerminal_27
    • EventOperation_28
    • EventAmount_29
    • EventMetadata_210
    • EventExtraTaxes_211
    • PrintWebhookPayload12
    • TransactionEvent13
    • FailureReason14
    • EventTerminal15
    • EventOperation16
    • EventAmount17
    • EventMetadata18
    • EventExtraTaxes19
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
Status
Soporte / Support
English
  • English
  • Español
  1. Async

Charge (Async)

Testing
UAT Testing Env
https://api-uat.kushkipagos.com
UAT Testing Env
https://api-uat.kushkipagos.com
POST
/terminal/v1/async/charge
In addition to the sync body, this operation accepts events_webhook_url, amount.tip, cashback_amount and deferred. The last three only take effect when the matching capability is enabled for your terminal; otherwise the terminal ignores them.
Returns 200 with a TERMINAL_ACKNOWLEDGED event as soon as the terminal accepts the payment intent. That acknowledgement is not the transaction result — the outcome, and every intermediate state, arrives as a POST to the events_webhook_url you supply. Omit the URL and the transaction still runs, but you never learn how it ended.

🚧 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.

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:
{
    "events_webhook_url": "https://api.negocio.co/webhook/terminal-events",
    "amount": {
        "iva": 0,
        "subtotal_iva": 0,
        "subtotal_iva0": 12000,
        "extra_taxes": {
            "airport_tax": 0,
            "iac": 0,
            "ice": 0,
            "travel_agency": 0
        },
        "tip": 0
    },
    "client_transaction_id": "c5a3f3be-9d6f-4d39-8af5-58dbb589af79",
    "metadata": {
        "reference": "ORD-20240317-001",
        "customer_email": "user@example.com",
        "device": "SUNMI-P3"
    },
    "cashback_amount": 0,
    "deferred": {
        "months": 12
    }
}
See Authentication and request encryption for the derivation chain and the seven steps.

Callbacks

transactionEvents

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Accepted by the terminal. Returns a TERMINAL_ACKNOWLEDGED event immediately — this is not the transaction result. The outcome arrives via webhook.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠409
🟠422Parameter Error
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api-uat.kushkipagos.com/terminal/v1/async/charge' \
--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 - TERMINAL_ACKNOWLEDGED
{
    "event_id": "c08211a1-344c-4f1c-850b-41e33fb08cca",
    "previous_status": "",
    "occurred_at": "2026-08-03T20:53:34.859Z",
    "status": "TERMINAL_ACKNOWLEDGED",
    "merchant_id": "20000000106033700000",
    "client_transaction_id": "c5a3f3be-9d6f-4d39-8af5-58dbb589af79",
    "terminal": {
        "serialNumber": "TJ54241P20911",
        "model": "P2SE-BPKT",
        "wifiMac": "",
        "room": "3.0.10"
    },
    "operation": {
        "type": "charge",
        "amount": {
            "extraTaxes": {
                "airportTax": 0,
                "iac": 0,
                "ice": 0,
                "travelAgency": 0
            },
            "iva": 0,
            "subtotalIva": 0,
            "subtotalIva0": 12000
        },
        "clientTransactionId": "c5a3f3be-9d6f-4d39-8af5-58dbb589af79",
        "eventsWebHook": "https://api.negocio.co/webhook/terminal-events",
        "metadata": {
            "customerEmail": "user@example.com",
            "device": "SUNMI-P3",
            "reference": "ORD-20240317-001"
        }
    }
}
Modified at 2026-10-07 15:32:42
Previous
Async
Next
Authorization — Pre-auth (Async)
Built with