Skip to content
cccskills
FreePublished on GitHub

stripe-billing-cycle-test

Verify Stripe subscription billing cycles using a test clock. Use when you need to simulate time passing to trigger subscription renewals, recurring invoices, or to confirm that the next billing date generates the expected charge in Stripe test mode.

The English summary is being prepared. Showing the original description.

Works withStripe
See how to install

Files included (1)

  • SKILL.md3.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Stripe Billing Cycle Test

Standard procedure for validating that a subscription bills correctly on its next cycle by simulating time with a Stripe test clock. All steps run against Stripe test mode only (the MCP rejects live keys).

Order matters

The steps below are strictly ordered. A customer can be attached to a test clock only at creation time, so the clock must exist before the customer, and the customer before the subscription.

Steps

  1. Create the test clock. Tool: create_stripe_test_clock

    • frozen_time (required): Unix timestamp in seconds for the starting time.
    • name (optional): a label to find it later.
    • Keep the returned test clock id for the next steps.
  2. Create a customer attached to that clock. Tool: create_stripe_test_customers

    • test_clock: the id from step 1.
    • number: keep it at most 3 (max 3 customers per clock).
    • payment_method_id (optional but recommended): attach a test payment method (for example pm_card_visa) so the renewal invoice can be paid instead of staying open. Confirm against the Stripe docs which test payment method fits the card behavior you want.
    • Keep the returned customer id(s).
  3. Create the subscription. Tool: create_stripe_test_subscription

    • customer: the id from step 2.
    • items: array of { price, quantity }. The price must be a recurring price id from your test data.
    • proration_behavior (optional): create_prorations, none, or always_invoice.
    • payment_method_id (optional): the same test payment method.
    • This creates the first invoice for the current period.
  4. Advance the clock to the next billing date. Tool: advance_stripe_test_clock

    • test_clock_id: the id from step 1.
    • frozen_time: a Unix timestamp (seconds) after the current frozen time. Advance is forward-only; you cannot move a clock backward. Pick a time just past the subscription's current_period_end to cross the renewal boundary.
  5. Wait for the clock to settle, then verify.

    • advance_stripe_test_clock reports the clock status once, in its response text. Advancing is asynchronous. This MCP server does not expose a tool to retrieve or re-poll the clock, so you cannot programmatically watch it transition to ready.
    • If the response shows advancing, either wait a few seconds before proceeding, or ask the user to confirm the clock has settled in the Stripe Dashboard (test mode) before continuing.
    • Then confirm the new invoice for the renewed period was generated and has the expected amount and status. Inspect this in the Stripe Dashboard (test mode) or via the Stripe API, since the MCP does not expose an invoice-listing tool.

Notes

  • frozen_time is always a Unix timestamp in seconds (not milliseconds).
  • Customers created by this MCP are tagged with metadata.generator = stripe-testing-tools-mcp. The MCP cannot search customers by this tag, but it helps you locate them in the Stripe Dashboard or CLI; record the returned ids for programmatic cleanup.
  • For cleanup after verification, see the stripe-test-data-lifecycle skill.
  • For the full list of test-clock constraints, see the stripe-test-clock-constraints skill.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Stripe CLI の `stripe fixtures` コマンドで実行可能な fixture JSON を、対話的に整理しながら生成・検証する。test_clock を使った時間進行、サブスクのライフサイクル、失敗カードでの payment_intent 失敗、Connect 配下の Destination charge、bulk 件数のテスト顧客作成など、複数ステップの API リクエスト連鎖を扱う。「Stripe の fixture を書いて」「fixtures.json を作って」「このシナリオを fixture 化」「テストデータを大量に作りたい」「サブスクの月次失敗をテストしたい」「stripe trigger と fixture どっち使う」のような依頼で起動する。"fixture" という単語が無くても、複数ステップの Stripe テストデータ準備、 test clock を使った時間進行、 bulk なテスト顧客作成、 失敗パターンの再現といった意図が見えたら起動する。単発 API 呼び出しが目的なら起動せずに `stripe trigger` か API 1コールを案内する。

The English summary is being prepared. Showing the original description.

hideokamoto/stripe-testing-mcp-tools9Updated Jul 29, 2026

Reference for Stripe test clock constraints and pitfalls. Use when planning or debugging test-clock workflows, when an advance or customer-attach step fails, or to check rules before building a time-simulation scenario with create_stripe_test_clock, advance_stripe_test_clock, and create_stripe_test_customers.

The English summary is being prepared. Showing the original description.

hideokamoto/stripe-testing-mcp-tools9Updated Jul 29, 2026

Set up, verify, and clean up Stripe test data end to end. Use when creating test customers, products, or subscriptions and you want a repeatable setup-then-teardown workflow, or when you need to remove leftover test customers and products with delete_stripe_test_customers, archive_stripe_test_products, and delete_stripe_test_products.

The English summary is being prepared. Showing the original description.

hideokamoto/stripe-testing-mcp-tools9Updated Jul 29, 2026

See all skills by hideokamoto

Report a problem with this skill