powered by

Sell a subscription in 15 minutes

Updated Sep 30, 2026
Connect Stripe, create a plan with a free trial, subscribe a test user through checkout, and confirm their entitlement.

You'll connect Stripe Connect, create a subscription plan with a seven-day trial, subscribe a test user, and check that they now have access. This covers the Stripe path end to end; the Apple path needs App Store Connect credentials and is covered in Verify Apple in-app purchases.

Before you start

You need:

  • A project with anythink_subscription_plans:create and anythink_payments:read (project administrators have both).
  • A Stripe account you can connect in test mode. Stripe Connect onboarding needs an email and business type — no live card details.

Connect Stripe

In the Anythink dashboard

  1. Go to Settings › Payments (the AnythinkPay integration page also gets you here on a fresh project).
  2. On the Stripe tab, select Connect Stripe, choose Individual or Company, and enter your country and email.
  3. Complete Stripe's onboarding in the new tab it opens, then return to the dashboard. AnythinkPay shows Onboarding complete once Stripe confirms it.

With the CLI

bash
anythink pay connect

This prompts for business type, country and email, creates the Stripe Connect account, and opens the onboarding link in your browser.

bash
anythink pay status
text
── Stripe Connect Status ─────────────────────────────────────
  Account ID:            acct_1P...
  Onboarding complete:   yes
  Charges enabled:       yes
  Payouts enabled:       yes
  Details submitted:     yes

With an AI assistant (MCP)

Note: Payments aren't available through the hosted cli MCP tool — only when the CLI is running locally against your project (anythink mcp), since pay isn't one of the commands the hosted tool proxies. Locally, ask your assistant to run pay connect and pay status and it will call the same CLI commands shown above.

Create a plan with a trial

In the Anythink dashboard

  1. Go to AnythinkPay › Plans and select New plan.
  2. Set Plan name (internal, e.g. Pro monthly), Subscription name (customer-facing), Amount, Billing period and Bill every.
  3. Set Trial period (days) to 7.
  4. Leave Active checked and save. If Stripe Connect onboarding is complete, the plan syncs to Stripe immediately and the plan page shows Synced to Stripe with the Stripe product and price ids; otherwise it stays Not yet synced to Stripe and syncs the next time you save it after onboarding finishes.

With the CLI

Plan management isn't a dedicated anythink pay subcommand — create and list plans with fetch against the AnythinkPay API:

bash
anythink fetch /integrations/anythinkpay/subscription-plans --method POST --body \
  '{"plan_name":"Pro monthly","name":"Pro monthly","description":"Full access","type":"recurring","amount":9.99,"currency":"gbp","billing_interval":"month","interval_count":1,"trial_period_days":7,"is_active":true}'
json
{
  "plan_name": "Pro monthly",
  "name": "Pro monthly",
  "amount": 9.99,
  "currency": "gbp",
  "billing_interval": "month",
  "trial_period_days": 7,
  "stripe_product_id": null,
  "stripe_price_id": null,
  "id": 8,
  "tenant_id": 99308585
}

stripe_product_id and stripe_price_id stay null until Stripe Connect onboarding is complete — the plan is still usable and re-syncs on its next edit once onboarding finishes.

With an AI assistant (MCP)

text
Create an AnythinkPay subscription plan called "Pro monthly" at £9.99/month
with a 7-day trial.

The assistant calls the cli tool's fetch handler with the same request shown above — there's no dedicated plans tool, so it goes through the generic AnythinkPay endpoint.

Subscribe a test user

In the Anythink dashboard

  1. Go to AnythinkPay › Subscriptions and select New subscription.
  2. Pick Existing user and choose your test user, or New customer and enter an email.
  3. Choose the plan you just created — its price, interval and trial period fill in automatically.
  4. Select Create subscription. For a web checkout this opens a Stripe Checkout session; complete it with a Stripe test card such as 4242 4242 4242 4242.

With the CLI

bash
anythink fetch /integrations/anythinkpay/subscriptions --method POST --body \
  '{"name":"Pro monthly","description":"Full access","type":"recurring","amount":9.99,"currency":"gbp","billing_interval":"month","interval_count":1,"trial_period_days":7,"subscriber_id":61,"customer_email":"test@user.com"}'

The response includes a checkout_url — open it and pay with a Stripe test card to complete the subscription.

With an AI assistant (MCP)

Note: As with plan creation, this goes through the generic fetch handler locally — there's no dedicated "subscribe a user" MCP tool.

Check it worked

Once checkout completes (or immediately, for the trial), confirm the subscriber's entitlement:

In the Anythink dashboard

Open AnythinkPay › Subscriptions, find the subscription, and check its Status column reads trialing or active.

With the CLI

bash
anythink fetch /integrations/anythinkpay/subscriptions/me/entitlement
json
{
  "has_access": true,
  "provider": "stripe",
  "status": "trialing",
  "expires_at": "2026-10-06T17:49:06Z",
  "trial_length_days": 7
}

me/entitlement always reads as the calling user — to check a different user's access, an administrator can call GET /org/{orgId}/integrations/anythinkpay/subscriptions/by-user/{userId} instead.

With an AI assistant (MCP)

text
Check whether user 61 currently has AnythinkPay access.

Next steps

Sell a subscription in 15 minutes | Anythink Docs