Skip to main content
Voiding a transaction cancels it and creates a reversal record in the audit chain. The reversal carries negative amounts that mirror the original transaction, and the rounding delta from the original is correctly reversed — so your rounding exposure accounting stays accurate. The engine enforces time-limit, amount-threshold, and void-reason policies, and every void is analyzed for abuse patterns in the compliance reporting.

Endpoint

POST https://api.centsless.org/api/v1/transaction/void

Authentication

x-api-key
string
required
Your merchant or partner API key.

Request body

original_transaction_id
string
required
The ID of the transaction to void (e.g., TXN-2026-04-14-A82C2EAA).
void_reason
string
required
Reason code for the void. One of: customer_changed_mind, pricing_error, duplicate_transaction, employee_error, fraud_suspected.
voided_by
string
required
The employee ID of the person authorizing the void (e.g., EMP-001).

Example

curl -X POST https://api.centsless.org/api/v1/transaction/void \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "original_transaction_id": "TXN-2026-04-14-A82C2EAA",
    "void_reason": "customer_changed_mind",
    "voided_by": "EMP-001"
  }'
The rounding delta from the original transaction is reversed correctly in the void record — your net rounding exposure is always consistent. Hash chain integrity is maintained: the void record is appended to the chain with its own hash that links back to the original transaction.