Skip to main content
Cresora Commerce
Transaction Types

Refunds

Full and partial refunds for card and ACH payments.

A refund returns funds to a customer after a payment has been captured. Refunds differ from voids — you can only void an uncaptured authorization, while refunds apply to captured payments.

Card refunds

Full refund
curl -X POST https://api.cresoracommerce.com/api/v1/transactions \
  -H "Authorization: Bearer csk_test_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: idem_$(uuidgen)" \
  -d '{ "type": "REFUND", "parent_transaction_id": "{transactionId}", "refund_reason": "customer_requested" }'
Partial refund
curl -X POST https://api.cresoracommerce.com/api/v1/transactions \
  -H "Authorization: Bearer csk_test_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: idem_$(uuidgen)" \
  -d '{ "type": "PARTIAL_REFUND", "parent_transaction_id": "{transactionId}", "amount": "50.00", "refund_reason": "customer_requested" }'

Refund rules

RuleDetail
Minimum1 cent
MaximumOriginal captured amount
Multiple partialsAllowed until cumulative equals original amount
TimingAny time after capture; up to 365 days (varies by card network)
Settlement timingCredit appears on cardholder statement in 3–7 business days

Refund response

{
  "id": "ref_xxxxxxxxxxxx",
  "payment_id": "pay_xxxxxxxxxxxx",
  "amount": "50.00",
  "currency": "USD",
  "status": "pending",
  "created_at": "2026-05-29T15:00:00Z"
}

Refunds start in pending status and move to succeeded once processed (typically same day for card refunds).

ACH refunds

For ACH payments, a refund creates a new credit ACH entry — it doesn't reverse the original debit. The customer receives the credit 1–3 business days after submission.

POST https://api.cresoracommerce.com/api/v1/transactions
{ "type": "ACH_REFUND", "parent_transaction_id": "{transactionId}", "refund_reason": "customer_requested" }
Note

For ACH payments processed on the same business day, submit a same-day reversal — POST /api/v1/transactions with type: "ACH_REVERSAL" — instead. Reversals are faster (same-day) than refunds (1–3 days). See ACH Transactions →.

Webhook events

EventWhen
payment.refundedRefund succeeds
refund.failedRefund fails (rare — contact support)