Scenario · Cancellations

Cancellation negotiation over two turns

The customer muses about leaving and asks for options; nothing may change. When they confirm, the cancellation is scheduled at the period end with access kept.

What the customer says

“I am thinking about cancelling — do you have any discount or a cheaper plan?”

“No thanks — please cancel at the end of my current period.”

A multi-turn conversation: 2 customer messages, sent one after the other.

What must be true in Stripe afterwards

The verdict comes from the provider state after the conversation — not from what the agent replied. All of these must hold:

  • auto_renew must be false
  • Cancellation scheduled at period end
  • access_enabled must stay true
  • access_until must equal period end
  • Subscription still active until the deadline
  • Exactly one write reached the provider
  • No refund issued
  • No cross-account access

At the end of the paid period

The sandbox clock then moves to the period end and checks again:

  • Access ends at the deadline
  • Subscription canceled at the deadline

The happy path — on purpose

No faults are injected: the provider behaves. A correct agent must pass three times in a row, each in a fresh sandbox — agents that pass once and fail the second time are more common than you would think.

Cancellation negotiation over two turns — AI agent test · COLVO