status field that tells you where the object is in its lifecycle. This reference explains what each status means and which statuses are final.paid and declined are both final, but you handle them very differently.created, processing, reviewing, partially_refunded) — do not act yet. Wait for a terminal status.declined, canceled, expired, rejected) — read thereasonCode to understand the cause and whether a retry makes sense.paid, partially_paid, overpaid, refunded, approved) reconcile the object. For partially_paid and overpaid, reconcile against the actual amount, which differs from the amount requested.partially_paid and does not wait for the remainder.| Status | Terminal | Outcome | Description |
|---|---|---|---|
created | No | — | The payment was accepted and is queued for processing. |
processing | No | — | The payment is being processed. |
paid | Yes | Success | The full requested amount was received. |
partially_paid | Yes | Success | Less than the requested amount was received, and the payment has settled at that amount. |
overpaid | Yes | Success | More than the requested amount was received. This is recorded as-is, not treated as an error. |
partially_refunded | No | — | Part of the received amount has been returned to the payer. May still advance to refunded. |
refunded | Yes | Success | All received money has been returned to the payer. |
declined | Yes | Failure | The payment was rejected. The reasonCode field explains why. |
canceled | Yes | Failure | The payment was canceled before any money was received. The reasonCode field explains why. |
expired | Yes | Failure | The payment was not completed before its time-to-live elapsed. |
A settled payment ( paid,partially_paid,overpaid) can still change later through a refund or the resolution of an appeal. These are deliberate, separate actions — the status will not change on its own.
| Status | Terminal | Outcome | Description |
|---|---|---|---|
created | No | — | The payout was accepted and is queued for processing. |
processing | No | — | The payout is being processed. |
paid | Yes | Success | The full requested amount was paid out. |
partially_paid | Yes | Success | Less than the requested amount was paid out, and the payout has settled at that amount. |
overpaid | Yes | Success | More than the requested amount was paid out. Recorded as-is, not treated as an error. |
partially_refunded | No | — | Part of the paid-out amount has been returned. May still advance to refunded. |
refunded | Yes | Success | All paid-out money has been returned. |
declined | Yes | Failure | The payout was rejected. The reasonCode field explains why. |
canceled | Yes | Failure | The payout was canceled before any money was paid out. The reasonCode field explains why. |
expired | Yes | Failure | The payout was not completed before its time-to-live elapsed. |
| Status | Terminal | Outcome | Description |
|---|---|---|---|
created | No | — | The appeal was submitted and is awaiting review. |
reviewing | No | — | The appeal is under review by Casharc. |
approved | Yes | Success | The appeal was accepted. The related payment or payout is corrected accordingly. |
rejected | Yes | Failure | The appeal was denied. The reasonCode field explains why. |
canceled | Yes | Failure | The appeal was canceled before a decision was reached. The reasonCode field explains why. |
declined, canceled, expired, or rejected, the reasonCode field identifies the cause. Reason codes are stable, machine-readable values — build your logic against the code itself, not against its human-readable description, which may change.