Void a terminal payment
Void a completed terminal payment. Voids are always for the full amount — partial voids are not supported. The void is sent to the same terminal that processed the original sale.
Voids are only possible for unsettled transactions. If the transaction has already settled, use a refund instead.
The void command is dispatched asynchronously. Subscribe to billing.terminal_void.succeeded webhooks for the outcome.
Related endpoints
POST /terminal-payments— Initiate a terminal paymentGET /terminal-payments— List terminal paymentsGET /terminal-payments/{id}— Retrieve a terminal paymentPOST /terminal-payments/{id}/cancel— Cancel a terminal paymentPOST /terminal-payments/{id}/refund— Refund a terminal payment
Common errors
404 resource_missing— the referenced resource does not exist or is not visible to your key.422 unprocessable_entity— business-rule failure (for example, refunding more than the original charge).
Idempotency
Pass an Idempotency-Key header (UUID v4 recommended) to make retries safe. Keys are valid for 24 hours; see the idempotency guide.
Your RevKeen API key (powered by Unkey). Get it from Dashboard > Settings > API Keys. Use rk_sandbox_* for test mode and rk_live_* for production.
In: header
Path Parameters
Terminal payment attempt ID of the original sale
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://api.revkeen.com/v2/terminal-payments/00000000-0000-0000-0000-000000000000/void" \ -H "x-api-key: $REVKEEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "reason": "Duplicate charge" }'{
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"invoice_id": "f4c4edb8-11e0-4b33-bcc1-482dc59ebb32",
"device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
"type": "sale",
"status": "requested",
"amount_minor": 0,
"currency": "string",
"reference": "string",
"terminal_serial": "string",
"uti": "string",
"auth_code": "string",
"response_code": "string",
"rrn": "string",
"card_scheme": "string",
"masked_pan": "string",
"entry_mode": "string",
"error_message": "string",
"created_at": "string",
"completed_at": "string"
}
}{
"error": "string",
"message": "string",
"code": "string"
}{
"error": "string",
"message": "string",
"code": "string"
}