1. Local Services
  • API Docs Colombia 🇨🇴
  • Online Payments
    • Release Notes
    • 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
    • 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 v1
      • 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
  • Kushki One
    • Cloud Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
        • 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
        • Transaction Search — Online
        • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • API RAW CARD PRESENT PAYMENTS
    • Release Notes
    • Error Catalog
    • The Amount Object
    • Key Exchange Process
    • Test data
    • Card Information
      • Get BIN Info
      • Balance inquiries
      • BIN info V2
      • Request deferred options
    • One-time Payments
      • Single payment
    • Two-step Payments
      • Authorization and capture
    • Voids & Refunds
      • Void & Reverse
      • Refund a transaction
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good Practices
      • Webhooks-Card Payments
      • Webhooks-Refunds
      • Check your webhooks
  • 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
    • SubscriptionTransactionsResponse
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • SettlementDateRangeRequest
    • AmountWithTaxes
    • PrintJobRequest
    • card
    • SubscriptionTransaction
    • networkToken
    • ChargebackItem
    • SettlementTicketRequest
    • AmountCore
    • CommandText
    • amount
    • ErrorResponse
    • currency
    • webhooksItem
    • ErrorResponse400
    • SettlementResponse
    • ExtraTaxes
    • CommandColumns
    • extra_taxes
    • Amount
    • ErrorResponse401
    • SettlementRecord
    • ColumnItem
    • pos_details
    • extraTaxes
    • ErrorResponse403
    • TransactionResponse
    • CommandDivider
    • card_details
    • Deferred
    • Country
    • payment_method
    • ErrorResponse500
    • RawResponse
    • CommandFeed
    • enc_tlv
    • Metadata
    • CardData
    • CommandSpace
    • contact_details
    • ContactDetails
    • AmountWithTip
    • CommandCut
    • deferred
    • sub_merchant
    • documentType
    • Subscription
    • LinkFailure
    • CommandImage
    • metadata
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • Billing-Address
    • PrinterError
    • product
    • SubscriptionUpdate
    • PrintJobStatus
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • PrintWebhookPayload
    • webhooks
    • headers
    • webhooksChargeback
    • citMit
    • network
    • binInfo
    • messageFields
    • UnexpectedErrorResponse
    • transactionType
    • ExternalReferenceId
    • ExternalSubscriptionId
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
  1. Local Services

Payment

The Payment API (Local Network) lets your POS communicate directly with the terminal's IP address over your local network. No cloud relay is involved — the terminal processes the transaction using its EMV kernel and returns the result synchronously.
Beta — Early Access
Kushki ONE Local Network is currently in Beta for Colombia 🇨🇴. Do not deploy to production without coordinating with the Kushki integration team.

Base URL#

http://{terminalIp}:6868
Assign a static IP or DHCP reservation to the terminal via DMS. The port defaults to 6868 and is configurable in DMS.

Authentication#

INFO
Omit Authorization on requests with no body (e.g. Abort).

Available operations#

OperationEndpointDescription
ChargePOST /terminal/v1/sync/chargeOne-step authorization + capture
AuthorizationPOST /terminal/v1/sync/authorizationReserve funds, capture later
CapturePOST /terminal/v1/sync/captureCollect reserved funds
Re-authorizationPOST /terminal/v1/sync/re_authorizationExtend or increase a pre-auth
Post-tipPOST /terminal/v1/sync/pos_tipAdd tip to an authorized transaction
VoidPOST /terminal/v1/sync/voidCancel same-day transaction — cutoff: 23:59 local
RefundPOST /terminal/v1/sync/refundRefund a settled transaction
AbortGET /terminal/v1/sync/abortCancel a transaction in progress
Transaction Search (online)POST /terminal/v1/sync/transaction_search_onlineQuery Kushki acquirer backend
Transaction Search (local)POST /terminal/v1/sync/transaction_search_localQuery terminal storage — works offline

Request examples#

Charge#

{
  "amount": {
    "subtotal_iva0": 0,
    "subtotal_iva": 84034,
    "iva": 15966
  },
  "client_transaction_id": "ae6dd41a-9173-4ec7-8734-3178454ef341",
  "metadata": {
    "reference": "ORD-20260101-001",
    "customer_email": "user@example.com"
  }
}

Authorization (Pre-auth)#

{
  "amount": {
    "subtotal_iva0": 0,
    "subtotal_iva": 84034,
    "iva": 15966
  },
  "client_transaction_id": "auth-20260101-001"
}

Capture#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "amount": {
    "subtotal_iva0": 0,
    "subtotal_iva": 84034,
    "iva": 15966
  }
}
INFO
Capture amount must be ≤ 110% of total authorized. Only one capture per authorization cycle.

Re-authorization#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "amount": {
    "subtotal_iva0": 0,
    "subtotal_iva": 100840,
    "iva": 19160
  }
}
Card typeMaximum hold
Debit7 days
Credit28 days

Post-tip#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "tip_amount": 5000
}

Void#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2"
}
WARNING
Void cutoff in Colombia: 23:59 local time. Wait at least 1 minute after the original transaction. Use Refund for settled transactions past the cutoff.

Refund#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "amount": {
    "subtotal_iva0": 0,
    "subtotal_iva": 84034,
    "iva": 15966
  }
}

Abort#

GET /terminal/v1/sync/abort — no request body.
WARNING
Only call Abort while a transaction is active. Calling after completion has no effect.

Transaction Search#

Local Network mode provides two search endpoints:
EndpointSourceWorks offline
transaction_search_onlineKushki acquirer backend❌
transaction_search_localTerminal storage✅
{
  "page": 1,
  "size": 10,
  "filters": {
    "last_four_digits": "5480",
    "start_date": 0,
    "end_date": 0,
    "transaction_reference": "",
    "transaction_type": ""
  }
}
Use transaction_search_local as an offline fallback or for same-day recovery when internet access is unavailable.

Key concepts#

Save transaction_reference#

Every approved charge or authorization response includes rawResponse.transaction_reference. Persist this value immediately — it is required for void, refund, capture, and re-authorization.

Amount object#

The amount object does not include a currency field — currency is configured at the terminal level in DMS.
FieldDescription
subtotal_ivaNet subtotal subject to IVA
subtotal_iva0Subtotal exempt from IVA
ivaIVA amount (19% in Colombia: iva = subtotal_iva × 0.19)
tipTip amount (charge only)
extra_taxesAdditional taxes: airport_tax, iac, ice, travel_agency

Idempotency#

Every request must include a unique client_transaction_id (UUID v4). Reusing the same ID on a retry returns the original result without creating a duplicate.

Abort uses GET#

In Local Network mode, Abort uses GET /terminal/v1/sync/abort (no body). In Cloud mode, it uses POST /sync/abort. This is the only operation that differs between modes.

Got a suggestion on this documentation? Contact us.
Modified at 2026-06-10 19:44:33
Previous
Local Services
Next
Charge
Built with