| Endpoint | Purpose |
|---|---|
POST /pos/v1/transaction | Void or reverse a transaction |
POST /pos/v1/refund | Refund a completed transaction |
transaction_mode to "Void" or "Reverse" and pass the transaction_reference of the original transaction.{
"transaction_type": "charge",
"transaction_mode": "Void",
"country": "PER",
"client_transaction_id": "a0e1b2c3-d4e5-6789-abcd-ef0123456789",
"transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
"amount": {
"currency": "PEN",
"subtotal_iva": 0,
"subtotal_iva0": 600,
"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": "1.1.13",
"has_print": true
}
}omit_card: true and omit card_details and cvm_type.{
"transaction_type": "charge",
"transaction_mode": "Void",
"country": "PER",
"client_transaction_id": "a0e1b2c3-d4e5-6789-abcd-ef0123456789",
"transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
"omit_card": true,
"amount": {
"currency": "PEN",
"subtotal_iva": 0,
"subtotal_iva0": 600,
"iva": 0
},
"pos_details": {
"brand": "SUNMI",
"model": "P2-EU",
"version": "1.1.13",
"has_print": true
}
}amount object with the amount to cancel. Omit it for a full void.transaction_reference.{
"transaction_type": "refund",
"transaction_mode": "Authorization",
"country": "PER",
"client_transaction_id": "b1f2c3d4-e5f6-7890-bcde-f01234567890",
"transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
"amount": {
"currency": "PEN",
"subtotal_iva": 0,
"subtotal_iva0": 600,
"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": "1.1.13",
"has_print": true
}
}omit_card: true to refund without reading the card again.amount object with only the portion to refund. Omit it for a full refund.POST /pos/v1/transaction)| Field | Required | Description |
|---|---|---|
transaction_type | Yes | Type of the original transaction (e.g., "charge", "preAuth"). |
transaction_mode | Yes | "Void" to cancel; "Reverse" to roll back immediately. |
country | Yes | ISO 3166-1 alpha-3. Must be "PER". |
client_transaction_id | Yes | UUID v4 unique per request. |
transaction_reference | Yes | Reference of the transaction to cancel. |
amount | No | Required for partial voids. |
omit_card | No | true for cardless operations. |
cvm_type | No | "none", "pin", or "signature". Optional for cardless. |
metadata | No | Key-value object with extra data. |
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 "PER". |
client_transaction_id | Yes | UUID v4 unique per request. |
transaction_reference | Yes | Reference of the transaction to refund. |
amount | No | Required for partial refunds. |
omit_card | No | true for cardless refunds. |
cvm_type | No | Cardholder verification method. Optional for cardless. |
metadata | No | Key-value object with extra data. |
amount| Field | Required | Description |
|---|---|---|
currency | Yes | "PEN" or "USD". |
subtotal_iva | Yes | Subtotal subject to VAT. Set to 0 if no VAT applies. |
subtotal_iva0 | Yes | Subtotal not subject to VAT. |
iva | Yes | VAT amount. Set to 0 if no VAT applies. |
tip | No | Tip amount included in the original charge. |
https://api.kushkipagos.com/Got a suggestion on this documentation? Contact us.