Your AI agent and Chargebee: a refund is a credit note on an invoice
On Chargebee an agent refunds an invoice, not a payment — and Chargebee only remembers a retry for 30 minutes. What that means for an AI agent, and how COLVO handles it.

Your support agent can now act on Chargebee: refunds, cancellations, pauses, plan changes and coupons. Chargebee works a little differently from Stripe, and two of the differences matter for an AI agent.
1. A refund names an invoice
On Chargebee money goes back against an invoice. The refund creates a refundable credit note and is paid out through whichever gateway collected the money — Stripe, Braintree, Adyen.
So the question “which payment?” becomes “which invoice?” — and an agent that picks the wrong one refunds the wrong customer.
| Field | Expected | Observed |
|---|---|---|
| invoice refunded | INV-1042 (Mara’s) | INV-2042 (someone else’s) |
With COLVO the mandate lists the invoices a conversation may refund. An agent that names another customer’s invoice is denied before anything is sent, and the scenario refund on another customer’s invoice checks it on every run.
2. Chargebee remembers a retry for 30 minutes
Every COLVO write to Chargebee carries Chargebee’s idempotency key — the operation id — so a retry after a lost response returns the same credit note instead of creating a second one. The scenario retry after a lost response proves it: exactly one credit note at the end.
But Chargebee keeps those keys for 30 minutes. After that, the same request would be a new refund. So COLVO never re-sends a Chargebee write older than that: if the outcome is still unknown, it opens an incident and a person checks.
What else works
Cancel now or at the end of the term (nothing is credited unless a refund is asked for), pause and resume, undo a scheduled cancellation, plan changes on item prices — now or at the end of the term — and coupons. Same limits, approvals and verification as on Stripe.


