Transaction Types
Authoritative reference for every transaction action in Cresora Commerce.
Understanding the distinction between an auth reversal, a void, and a refund is essential for correct integration and dispute management.
Quick reference
| Action | type | When | Settlement | Cardholder impact |
|---|---|---|---|---|
| Auth reversal | AUTH_REVERSAL | Pre-settlement | None | Hold actively released at the issuer (rails message) |
| Void | VOID | Pre-settlement | None | Ledger-only — the hold expires on the issuer's own schedule |
| Refund | REFUND / PARTIAL_REFUND | After the parent is SETTLED | Credit issued | Credit in 3–7 business days |
| ACH reversal | ACH_REVERSAL | Within the NACHA erroneous-entry window post-settlement | Reversed | Correcting entry |
| ACH refund | ACH_REFUND | After ACH settlement | Credit | New credit ACH entry |
Every action is the same endpoint — POST /api/v1/transactions — discriminated by the type field in the body, with parent_transaction_id linking follow-up operations to the original.
Card transactions
Auth reversal vs. void
Two distinct types you choose between, not a timing-based routing decision: AUTH_REVERSAL sends a rails-level processor message that releases the issuer hold; VOID cancels in the ledger only, and no processor message is sent. The cutoff for both is settlement ("settled at processor"), not a same-day window. See Auth Reversal vs. Void.
Refund vs. credit
A refund reverses a settled payment — pre-settlement, cancel with VOID/AUTH_REVERSAL instead:
curl -X POST https://api.cresoracommerce.ai/api/v1/transactions \
-H "Authorization: Bearer csk_ab12cd34_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: idem_$(uuidgen)" \
-d '{
"type": "PARTIAL_REFUND",
"merchant_id": "0190a1b2-c3d4-7e5f-8901-23456789abcd",
"parent_transaction_id": "0190d8a1-2b3c-7d4e-9f12-7a8b9c0d1e2f",
"amount": "50.00",
"refund_reason": "customer_requested"
}'Use type: "REFUND" (no amount — the platform derives the remainder) for a full refund. Amounts are decimal strings, never integer cents.
ACH transactions
ACH adds two additional transaction types because of NACHA's return window rules:
- ACH return — initiated by the receiving bank (R-code). Cresora fires
transaction.returned. Not initiated by you. - ACH reversal — a NACHA erroneous-entry reversal you initiate, valid only within the NACHA window after settlement (
nacha_reversal_window_expiredpast it) and requiring a structuredreversal_reason. - ACH refund — credit entry after the debit settles.
Disputes (chargebacks)
A dispute is initiated by the cardholder through their bank. Cresora fires transaction.disputed and chargeback.received, and you have a limited window to submit evidence.
Dispute management via the API is on the Phase 1 roadmap. At MVP 0, disputes are handled through the Partner Portal.