
Thomas Wing-Evans
·
Updated
·
Fact-checked against Gartner & Forrester data
An AI support agent that processes refunds end to end in Stripe has to do five things in order: verify who the customer is, check the refund against your eligibility rules, call Stripe's Create Refund endpoint (POST /v1/refunds) with the charge and amount, confirm the result back to the customer with the amount and reference Stripe returned, and log every step. For cancellations, the same agent should check for a pause, downgrade or discount it is allowed to offer before it calls cancel, and only cancel once the customer has said no to the offer and confirmed.
Below are eight products whose own public pages document some or all of that flow, with the limits each vendor publishes. Lorikeet publishes this guide, and the method section explains how we checked every claim.
Key takeaways
Keep the refund decision out of the model. The vendors with the most detailed docs (Fini, Fin and Lorikeet) all put eligibility in deterministic logic or your own API, and let the AI collect details and explain the outcome.
Stripe's API sets hard edges you can rely on. Stripe refunds take an amount in the smallest currency unit, allow partial refunds until the charge is used up, and return an error on an already-refunded charge or an amount above what is left.
Pause is not cancel in Stripe. Pausing payment collection keeps the subscription active and keeps generating invoices without collecting payment, so a "pause instead of cancel" offer needs its own endpoint and wording.
Retention offers belong before the final confirmation. Fini's cancellation guide fetches the offer from your billing system before it asks the customer to confirm, which is the order we recommend for any vendor.
Price on resolutions, not attempts. Fini, Fin, Gorgias and Lorikeet all publish that you are not charged when the AI hands the conversation to a person.
What "end to end" means for refunds and cancellations
Most vendors say their AI "handles refunds". The useful question is how many of these steps the agent completes without a person, and which ones you control in code:
Verify identity. Match the customer to an account and the charge or subscription in question. A refund issued to the wrong account is the costliest error in this flow.
Check eligibility. Apply your policy: refund window, amount ceiling, plan type, previous refunds. This should be deterministic. Lorikeet's authoring guide uses "only offer a refund on orders under 30 days and under $200" as its example of a rule that belongs in a code tool, not in the prompt.
Act in Stripe or your billing system. For refunds, Stripe requires either a Charge or a PaymentIntent, and the optional reason field accepts duplicate, fraudulent or requested_by_customer. For subscriptions, Stripe cancellation takes effect immediately by default, or at the end of the billing period when you set cancel_at_period_end to true.
Confirm. Tell the customer the amount, reference and timeline that the API actually returned, never a value the model generated.
Log. Write the action, inputs and result to the ticket or an audit trail so QA and finance can reconcile it later.
For cancellations, add a retention step between eligibility and action. Stripe's own customer portal cancellation page can collect a cancellation reason and offer a retention coupon to deflect the cancellation, which is a useful baseline for what an AI agent should do in conversation. One Stripe detail matters for refunds on cancellation: if you set a custom cancellation date, Stripe says you cannot provide a refund in that same step.
For the wider category of agents that write to backend systems, see our guide to AI agents that take backend actions and our checklist for letting AI take actions in backend systems safely.
How we chose and checked these tools
We included a product only if its own website or documentation states that it can process refunds through Stripe or your billing API, or run a cancellation flow with a retention offer. Every vendor fact below was checked on the vendor's own public pages on 16 Oct 2026, including Fini's refund guide, Fin Procedures, Gorgias AI Agent, Decagon AOPs, Sierra's retention post, My AskAI tasks and tools and Chargebee Retention. Stripe API behaviour comes from Stripe's documentation. Where a vendor does not state something, the table says "Not published". The numbering is not a score: products are grouped by how much of the refund and cancellation flow they document.
Lorikeet publishes this guide and is one of the tools listed. We have tried to describe every product, including our own, using only what each vendor publishes, and we link to the source for each claim.
Comparison table
Product | Stripe refund action documented? | Cancellation or retention flow documented? | Guardrails or approval limits | Pricing published? |
|---|---|---|---|---|
Lorikeet | Yes: Create refund (POST /refunds) via a custom integration, in beta | No dedicated template published; built with your own tools and skills | Eligibility in code tools, workflow-scoped tool access, execution caps, response guardrails | Yes: Start $2,100/mo, Scale $5,100/mo (annual), plus per resolution |
Fini | Refunds through your own API; Stripe listed as an integration | Yes: cancel, pause, plan change, retention offer from your API | Auto-approve amount limit, review gates, idempotency key, step trace | Yes: $0.89 to $0.49 per resolved ticket by plan |
Fin (now part of Salesforce) | Connects to Stripe via Data Connectors or MCP inside Procedures | Subscription management named for fintech and SaaS | If/else logic and code for eligibility, simulations | Yes: $0.99 per outcome |
Decagon | Not published | Refunds and cancellations end to end in the Substack case study | AOPs mix natural language and code; tool-call guardrail guidance | Model published (per conversation or per resolution); rates not published |
Sierra | Not published | Yes: cancel-intent handling with save offers | Guardrails set when building the agent; built-in testing | Outcome-based; rates not published |
Gorgias | Not published (refunds in Shopify) | Yes: pause or skip via Recharge, Loop, Skio; offers alternatives on cancel intent | Choose which intents the AI owns; sandbox mode | Yes: from $40/mo including 30 automated interactions |
My AskAI | Not published (refunds via your APIs) | Cancellations via your APIs; no retention flow described | Not published | Yes: from $199/mo |
Chargebee Retention | No (not a support agent) | Yes: cancel pages with targeted save offers; integrates Stripe billing | Rules-based, randomized or ML targeting of offers | Growth Starter $0 for Chargebee Billing customers; Enterprise custom |
1. Lorikeet: for regulated fintech and healthtech teams that want refund rules in code
Lorikeet's documentation shows a full Stripe refund setup. The Stripe guide walks through creating a restricted Stripe key, adding Stripe as a custom integration, and configuring a "Create refund" endpoint as a POST to /refunds with the charge, amount and reason as inputs. The guide recommends a test key in one environment and a live key in another, and warns that a production charge ID creates a real refund. The resulting tool can be called from a workflow Outcome node, or its outputs used as tool variables in a workflow node.
The eligibility check is meant to live in a code tool that returns whether the request is eligible and why; the skill then either proceeds with the refund or explains the reason, and ends at an escalate outcome when the customer is not eligible. On the safety side, the guardrails page describes workflow-scoped tool access and hard execution caps enforced in code, plus response checks that can block, rewrite or escalate a reply. Simulations run scenarios generated from your real tickets before launch.
Customer proof on refunds: the Summ story says the AI agent automated many of the steps in processing refunds, "like checking eligibility and escalating approved cases for processing".
Limits. Custom integrations are in beta, and Stripe is connected that way rather than as a pre-built connector. You write the eligibility rules yourself, and there is no published retention-offer template, so a pause or discount step is something you build with your own billing endpoints.
Pricing. Per the pricing page, Start is $2,100/mo and Scale $5,100/mo, paid annually, with chat, email and SMS resolutions at $0.99 (Start) or $0.90 (Scale). Unresolved tickets and escalations to a person are not charged. There is a 30-day free trial with a work email.
2. Fini: for teams that want the most detailed published refund and cancellation playbook
Fini's documentation is the most explicit we found on both target questions. Its refund guide says Fini identifies the customer, calls a read-only eligibility Action, and only if your policy says yes and the amount is under the limit you set does it call your refund Action, "with an idempotency key so a repeated message can't refund twice". The guide states that the agent never decides on its own whether a refund is allowed. Refunds above the limit, outside policy, or routed for review (for example Enterprise customers) go to your team with the conversation history, and an AI Steps trace records every step.
Its cancellation guide confirms intent, captures the reason, calls your billing API and replies with the effective date, refund amount and confirmation ID returned. It covers a pause branch, a downgrade branch and a retention offer that is fetched from your billing system before the confirmation question, so the agent only presents what your API returned.
Limits. Refunds run through your own API via Actions. Stripe appears in Fini's integrations list, but the refund guide is written around your endpoints, so you still build and maintain the billing API the agent calls.
Pricing. The pricing page lists $0.89 (Growth), $0.69 (Scale) and $0.49 (Enterprise) per resolved ticket, says escalations to your team are free, and offers a 90-day free trial for Enterprise customers.
3. Fin (now part of Salesforce): for teams already on Intercom, Zendesk or Salesforce
Fin's Procedures are written in natural language, with if/else logic and code "to enforce rules like verifying eligibility, calculating dates, or updating records". Within a Procedure you can connect Fin to tools like Stripe, Shopify or internal systems using Data Connectors or MCPs, and control what data it can access. Fin names managing subscriptions and processing chargebacks as fintech use cases, and says that in ecommerce it "issues refunds instantly". Simulations run full test conversations and can be re-run as regression tests when a Procedure changes.
Best for. Teams that want one agent across helpdesks: Fin says Procedures work with Intercom or with an existing helpdesk such as Zendesk, Salesforce or Freshdesk.
Limits. The Procedures page does not publish a cancellation template with a retention offer, or a specific refund amount ceiling. Those controls are yours to write into the Procedure.
Pricing. The pricing page lists $0.99 per outcome, charged at most once per conversation, and nothing if Fin cannot answer, fails to perform an action, or the customer asks for a person. There is a 14-day trial and a 90-day money-back guarantee; Fin Voice is $1.99 per voice outcome via sales.
4. Decagon: for enterprise teams that want refund and cancellation logic owned by engineers
Decagon's Agent Operating Procedures "combine the flexibility of natural language with the reliability of code", support Git-based version tracking, and integrate with support tools to pull live data and trigger workflows. The Substack case study describes refunds and cancellations specifically: by connecting the AI agent to the right APIs and teaching it the logic a human agent would use, "the AI is able to handle the entire issue end-to-end".
Decagon also publishes guidance on tool-call guardrails that names refund amounts above a threshold as the kind of parameter check that should be enforced on the call itself, and discusses allowlists and approval tiers.
Limits. We did not find a Decagon page that names Stripe or documents a retention offer step, so both are "Not published" in the table.
Pricing. Decagon's pricing post describes per-conversation and per-resolution options, with no charge for escalations on per-resolution, but it does not publish rates.
5. Sierra: for large subscription brands focused on saving cancellations
Sierra is the vendor that writes most directly about retention. Its retention post describes an entertainment subscription brand using its AI agent to handle cancel-intent calls by "listening to concerns, surfacing relevant offers", and an insurance company spotting customers leaning toward cancelling and offering personalised offers. It says some agents work alongside existing offer engines while others craft offers dynamically.
Sierra's product page says you build the agent by describing workflows, system integrations and guardrails, with built-in testing and monitoring.
Limits. We did not find Stripe refund documentation or a published approval-limit mechanism on Sierra's pages.
Pricing. Sierra's outcome-based pricing post lists outcomes such as resolved conversations and memberships saved. Rates are not published.
6. Gorgias: for Shopify subscription brands
Gorgias AI Agent takes actions directly in Shopify and the rest of your stack. Its action library lists "Issue a refund" (full or partial), "Cancel an order" (if still eligible), "Apply a discount" (eligible offers) and "Pause / skip sub", plus custom actions against any API. The subscriptions page says the AI Agent proactively identifies cancel intent and offers alternatives, like smaller sizes or plan edits, and processes skip, pause and resume requests through Recharge, Loop and Skio.
Controls: you pick the intents the AI Agent owns, with everything else going to your team, and sandbox mode runs it against real tickets before go-live.
Limits. The pages we checked describe refunds in Shopify, not Stripe. If your billing runs in Stripe Billing, you would rely on a custom action.
Pricing. The pricing page starts at $40/mo for 50 tickets and 30 automated interactions, and says you pay for AI Agent only when it resolves a conversation.
7. My AskAI: for smaller teams adding an agent to an existing helpdesk
My AskAI's tasks and tools page says the "AI agent calls your APIs to process refunds, cancellations, and account updates automatically". It plugs into Intercom, Zendesk, Gorgias, Freshdesk and HubSpot.
Limits. That page does not name Stripe, does not describe a retention offer step, and does not describe approval limits or audit logs, so you would need to ask how amount ceilings and confirmation steps are enforced.
Pricing. The pricing page lists Pro at $199/mo with 1,000 tickets included, Scale at $499/mo with 2,000 tickets, and Enterprise from $999/mo. All plans start with a 30-day trial.
8. Chargebee Retention: for the cancel page itself, alongside a support agent
Chargebee Retention is not an AI support agent; it is included because it answers the second target question for self-serve cancellations. Its product page says the cancel button redirects customers to a personalised cancel experience, with dynamic offers based on targeting parameters, and tests that can be randomized, rules-based or ML-based. It integrates billing platforms "like Chargebee, Recurly, Stripe" to measure saved revenue, and can trigger subscription updates when customers accept offers.
Limits. It does not answer chat or email tickets or issue refunds. Customers who write in to cancel still need an agent, which should present the same offers so the two channels do not contradict each other.
Pricing. The pricing page lists a $0 Growth Starter plan with no-code cancel pages, exclusively for Chargebee Billing customers, and custom Enterprise pricing based on active subscribers.
How to sequence a cancellation with a retention offer
The flow that holds up in testing looks like this, whichever product you pick:
Confirm the customer actually wants to cancel, and capture the reason.
Look up the account and any offer your billing system allows for this customer (a pause, a cheaper plan, or a discount). Keep the offer logic in your system, not in the prompt.
Present one offer that matches the reason. Someone leaving on price gets a discount or downgrade; someone travelling gets a pause.
If they decline, ask for explicit confirmation, then cancel. Say whether it takes effect now or at the end of the period, matching the Stripe setting you used.
Confirm the effective date and any refund from the API response, and log the reason and the offer shown.
Proactive outreach before the cancel request is a separate play; see AI churn prevention with proactive outreach and, for failed payments, involuntary churn prevention in fintech.
Questions to ask before you pick
Where does the eligibility rule run? Ask to see the refund rule in code or in your API, not in a prompt.
What is the maximum amount the agent can refund without a person? Ask how that limit is enforced and what happens above it.
Can a repeated message refund twice? Ask about idempotency and how the agent handles a retry.
What does the customer hear? The confirmation should quote the amount and reference the API returned.
Can you test against a Stripe test key first? Separate test and live credentials keep test refunds out of production.
Is a "refund status" question handled separately? Many tickets only ask where the money is; see AI for refund status questions.
If you want to try the Stripe refund setup described above on your own test account, you can start a 30-day free trial.
Frequently asked questions
Which AI support agent processes refunds end to end in Stripe?
Lorikeet documents a Stripe Create refund endpoint (POST /refunds) set up through a custom integration, which is in beta. Fini documents refunds through your own API with an amount limit and idempotency key, and lists Stripe as an integration. Fin connects to Stripe through Data Connectors or MCPs inside Procedures. Check each vendor's docs for how eligibility and limits are enforced.
How should an AI agent handle a cancellation request with a retention offer?
Confirm the customer wants to cancel and capture the reason, fetch the offer your billing system allows (pause, downgrade or discount), present it, and only cancel after the customer declines and confirms. Fini's cancellation guide fetches the offer before the confirmation question, and Stripe's customer portal can offer a retention coupon.
Should refund eligibility rules live in the AI prompt?
No. Put them in deterministic logic. Lorikeet's docs place thresholds and eligibility checks in a code tool, Fini's refund guide says your API and rule Checks decide, and Fin Procedures use code to enforce rules like verifying eligibility.
What is the difference between pausing and cancelling a Stripe subscription?
Pausing payment collection keeps the subscription active and keeps generating invoices, but Stripe does not collect payment and the customer keeps access. Cancelling stops the subscription, immediately by default or at the end of the period if cancel_at_period_end is true.
Can an AI agent issue a partial refund in Stripe?
Yes. Stripe's Create Refund API accepts an optional amount in the smallest currency unit and allows partial refunds until the whole charge is refunded. It returns an error if you try to refund more than is left.
Do these vendors charge when the AI escalates a refund to a person?
Lorikeet, Fini and Fin all publish that escalations to a person are not charged, and Gorgias says you pay for its AI Agent only when it resolves a conversation. Decagon's per-resolution option also has no charge for escalations.
Try Lorikeet on your own tickets
Start a 30-day free trial. Coach sets up your first concierge in minutes.

