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.Card Present payments are in Beta phase for Chile 🇨🇱.
Endpoints#
| Endpoint | Purpose |
|---|
POST /pos/v1/transaction | Void or reverse a transaction |
POST /pos/v1/refund | Refund a completed transaction |
Operation types#
| Type | When | Endpoint |
|---|
| Reversal | Same day as the transaction — used when there's a communication error and you're unsure if the charge was processed | POST /pos/v1/transaction (transaction_mode: "Reverse") |
| Void | Same day, before 23:59 Chile local time — cancels a confirmed transaction | POST /pos/v1/transaction (transaction_mode: "Void") |
| Refund | After the void cutoff or on a different day — processes a return | POST /pos/v1/refund |
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
}
}
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.The maximum time to process a refund is 120 days from the original transaction date.
Request fields#
Void & Reverse — POST /pos/v1/transaction#
| Field | Required | Description |
|---|
transaction_type | Yes | Type of the original transaction (e.g., "charge", "preAuth", "capture"). |
transaction_mode | Yes | "Void" to cancel; "Reverse" to roll back immediately. |
country | Yes | ISO 3166-1 alpha-3. Must be "CHL" (optional for cardless). |
client_transaction_id | Yes | UUID v4 unique per request. For reversal: use the original transaction's ID. |
transaction_reference | Yes | Reference of the transaction to void. Not required for reversals. |
amount | No | Required for partial voids. |
omit_card | No | true for cardless operations. |
is_smart_void | No | true to enable smart void logic (recommended for cardless). |
cvm_type | No | "none", "pin", or "signature". Optional for cardless. |
Refund — POST /pos/v1/refund#
| Field | Required | Description |
|---|
transaction_type | Yes | Always "refund". |
transaction_mode | Yes | Always "Authorization". |
country | Yes | ISO 3166-1 alpha-3. Must be "CHL" (optional for cardless). |
client_transaction_id | Yes | UUID v4 unique per request. |
transaction_reference | Yes | Reference of the transaction to refund. |
amount | Yes | Always required. Send subtotal_iva0 equal to the original amount for a full refund, or a lesser amount for a partial refund. |
omit_card | No | true for cardless refunds. |
cvm_type | No | Cardholder verification method. Optional for cardless. |
amount#
| Field | Required | Description |
|---|
currency | Yes | Must be "CLP". Use integers — no decimals. |
subtotal_iva | Yes | Set to 0. |
subtotal_iva0 | Yes | Amount to void or refund in CLP. |
iva | Yes | Set to 0. |
Authentication#
Environments#
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.