Run a synthetic test subscription (test mode)
start_test_runObserves the WHOLE subscription lifecycle, not just the checkout: in the billing platform's TEST mode Checkbox subscribes a test customer (card 4242…) whose email is a Checkbox inbox, waits for your acknowledgment email, fast-forwards a Stripe test clock through every legal notice window before trial end and renewal (collecting reminder emails), then cancels online and waits for the cancellation confirmation. Nothing is charged. Needs a Stripe TEST-mode restricted key (rk_test_…) stored for the site: store it yourself with store_stripe_test_key (one key for checks, fixes and test runs; live keys stay with the human in the dashboard). Never ask the human to paste a key into the chat. If missing, the error's next_action says so. For non-Stripe sites use type "generic". Usually 1-2 minutes (real_checkout: a few): poll get_test_run (its next_action says when, and minutes_left estimates the rest). Each step reports observations, check results and agent-readable fixes; apply them and run again. mode "real_checkout" is the PROOF run: the shopper buys through the merchant's own checkout on its test deployment (stripe.checkout_url or stripe.payment_link), so the merchant's webhook handlers and email code fire; give stripe.test_account + stripe.cancel_url when customers cancel in the app. A step is "passed" only with evidence; "warning" means needs review. Cancel: stripe.cancel_via "stripe_portal" (default) or "merchant_flow" (cancel_url + cancel_steps; behind a login, test_account { login_url, email, password }).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "start_test_run"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Stripe runs: mirror (default; test clock through every notice window) or real_checkout (the proof run through the merchant's own checkout, webhooks and emails). | |
| plan | No | Plan to run: a registered checkout config name or a price_… its line_items use. | |
| site | No | Site id (site_…). Optional when the account has exactly one site in this mode; list_sites shows them. | |
| type | No | stripe (default when a Stripe test key is stored) or generic (test coupon / test account, no time travel). | |
| cancel | No | Cancel online at the end (default true). | |
| region | No | State the synthetic shopper visits from, e.g. "US-CA". | |
| stripe | No | Stripe options. | |
| generic | No | Generic (non-Stripe) options as in the API: checkout_url, checkout_steps, complete_purchase { steps, promo_code }, account { login_url, email, password }, cancel_steps. | |
| cancel_url | No | Shortcut for stripe.cancel_url. | |
| advance_time | No | Advance a Stripe test clock through trial end and first renewal (default true). | |
| cancel_steps | No | Shortcut for stripe.cancel_steps. | |
| checkout_url | No | Shortcut for stripe.checkout_url (real_checkout: your checkout page on your TEST deployment). | |
| test_account | No | Shortcut for stripe.test_account. email "{{inbox}}" uses the run inbox. | |
| checkout_steps | No | Shortcut for stripe.checkout_steps (embedded checkout: fill email/card, tick consent, click pay). | |
| email_wait_seconds | No | How long to wait for each email (default 120). |