1. API Raw Card Present Payments
  • 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. API Raw Card Present Payments

Voids & Refunds

Use these endpoints to cancel or refund card-present transactions processed on a POS terminal in Chile. Both operations support cardless mode — no card read is required at cancellation or refund time.
Beta
Card Present payments are in Beta phase for Chile 🇨🇱.

Endpoints#

EndpointPurpose
POST /pos/v1/transactionVoid or reverse a transaction
POST /pos/v1/refundRefund a completed transaction

Operation types#

TypeWhenEndpoint
ReversalSame day as the transaction — used when there's a communication error and you're unsure if the charge was processedPOST /pos/v1/transaction (transaction_mode: "Reverse")
VoidSame day, before 23:59 Chile local time — cancels a confirmed transactionPOST /pos/v1/transaction (transaction_mode: "Void")
RefundAfter the void cutoff or on a different day — processes a returnPOST /pos/v1/refund
WARNING
Void requests submitted after 23:59 Chile local time are automatically processed as refunds.

Void#

A void cancels an authorized transaction before settlement. Send transaction_mode: "Void" with the transaction_reference of the original transaction.
{
  "transaction_type": "charge",
  "transaction_mode": "Void",
  "country": "CHL",
  "client_transaction_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "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": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189",
    "location": {
      "latitude": -33.4489,
      "longitude": -70.6693
    }
  }
}

Cardless void#

Set omit_card: true to void without reading the card again.
{
  "transaction_type": "charge",
  "transaction_mode": "Void",
  "client_transaction_id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "is_smart_void": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "iva": 0
  }
}

Partial void#

Include the amount object with only the portion to void. Omit it for a full void.

Reversal#

Use a reversal when there are communication issues and you are unsure if the transaction was approved. Send transaction_mode: "Reverse" with the client_transaction_id of the original transaction.
{
  "transaction_type": "charge",
  "transaction_mode": "Reverse",
  "country": "CHL",
  "client_transaction_id": "c3d4e5f6-a7b8-9012-cdef-34567890abcd",
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 5000,
    "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": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189"
  }
}

Cardless reverse#

{
  "transaction_type": "charge",
  "transaction_mode": "Reverse",
  "client_transaction_id": "c3d4e5f6-a7b8-9012-cdef-34567890abcd",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 5000,
    "iva": 0
  }
}
WARNING
Reversals are only valid on the same day as the transaction. Wait at least 1 minute after the original transaction before initiating a reversal.

Refund#

Refund a settled transaction using its transaction_reference. Send to POST /pos/v1/refund.
{
  "transaction_type": "refund",
  "transaction_mode": "Authorization",
  "country": "CHL",
  "client_transaction_id": "d4e5f6a7-b8c9-0123-def0-456789abcdef",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "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": "Kushki SunmiV1.1.28",
    "has_print": true,
    "terminal_id": "PB04209860189"
  }
}

Cardless refund#

{
  "transaction_type": "refund",
  "transaction_mode": "Authorization",
  "client_transaction_id": "e5f6a7b8-c9d0-1234-ef01-567890abcdef",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
  "omit_card": true,
  "amount": {
    "currency": "CLP",
    "subtotal_iva": 0,
    "subtotal_iva0": 10000,
    "iva": 0
  }
}

Partial refund#

The amount object is always required on POST /pos/v1/refund — for a full refund, send subtotal_iva0 equal to the original transaction amount; for a partial refund, send only the portion to refund.
INFO
The maximum time to process a refund is 120 days from the original transaction date.

Request fields#

Void & Reverse — POST /pos/v1/transaction#

FieldRequiredDescription
transaction_typeYesType of the original transaction (e.g., "charge", "preAuth", "capture").
transaction_modeYes"Void" to cancel; "Reverse" to roll back immediately.
countryYesISO 3166-1 alpha-3. Must be "CHL" (optional for cardless).
client_transaction_idYesUUID v4 unique per request. For reversal: use the original transaction's ID.
transaction_referenceYesReference of the transaction to void. Not required for reversals.
amountNoRequired for partial voids.
omit_cardNotrue for cardless operations.
is_smart_voidNotrue to enable smart void logic (recommended for cardless).
cvm_typeNo"none", "pin", or "signature". Optional for cardless.

Refund — POST /pos/v1/refund#

FieldRequiredDescription
transaction_typeYesAlways "refund".
transaction_modeYesAlways "Authorization".
countryYesISO 3166-1 alpha-3. Must be "CHL" (optional for cardless).
client_transaction_idYesUUID v4 unique per request.
transaction_referenceYesReference of the transaction to refund.
amountYesAlways required. Send subtotal_iva0 equal to the original amount for a full refund, or a lesser amount for a partial refund.
omit_cardNotrue for cardless refunds.
cvm_typeNoCardholder verification method. Optional for cardless.

amount#

FieldRequiredDescription
currencyYesMust be "CLP". Use integers — no decimals.
subtotal_ivaYesSet to 0.
subtotal_iva0YesAmount to void or refund in CLP.
ivaYesSet to 0.

Authentication#


Environments#

🟢 Production
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Available Endpoints#

Void / Reverse
Cancel an authorization (void) or immediately roll back a transaction (reverse). Full cardless support and partial voids.
Refund
Refund a settled card-present transaction — full or partial, with or without card reading. Maximum 120 days.

Got a suggestion on this documentation? Contact us.
Modified at 2026-07-31 21:30:34
Previous
Authorization and capture
Next
Refund a transaction
Built with