Skip to main content
Cresora Commerce
Transaction Types

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

ActiontypeWhenSettlementCardholder impact
Auth reversalAUTH_REVERSALPre-settlementNoneHold actively released at the issuer (rails message)
VoidVOIDPre-settlementNoneLedger-only — the hold expires on the issuer's own schedule
RefundREFUND / PARTIAL_REFUNDAfter the parent is SETTLEDCredit issuedCredit in 3–7 business days
ACH reversalACH_REVERSALWithin the NACHA erroneous-entry window post-settlementReversedCorrecting entry
ACH refundACH_REFUNDAfter ACH settlementCreditNew 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_expired past it) and requiring a structured reversal_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.

ℹPhase 1 roadmap

Dispute management via the API is on the Phase 1 roadmap. At MVP 0, disputes are handled through the Partner Portal.