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.
You need:
anythink_subscription_plans:create and anythink_payments:read (project administrators have both).anythink pay connect
This prompts for business type, country and email, creates the Stripe Connect account, and opens the onboarding link in your browser.
anythink pay status
── Stripe Connect Status ─────────────────────────────────────
Account ID: acct_1P...
Onboarding complete: yes
Charges enabled: yes
Payouts enabled: yes
Details submitted: yes
Note: Payments aren't available through the hosted
cliMCP tool — only when the CLI is running locally against your project (anythink mcp), sincepayisn't one of the commands the hosted tool proxies. Locally, ask your assistant to runpay connectandpay statusand it will call the same CLI commands shown above.
Pro monthly), Subscription name (customer-facing), Amount, Billing period and Bill every.7.Plan management isn't a dedicated anythink pay subcommand — create and list plans with fetch against the AnythinkPay API:
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}'
{
"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.
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.
4242 4242 4242 4242.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.
Note: As with plan creation, this goes through the generic
fetchhandler locally — there's no dedicated "subscribe a user" MCP tool.
Once checkout completes (or immediately, for the trial), confirm the subscriber's entitlement:
Open AnythinkPay › Subscriptions, find the subscription, and check its Status column reads trialing or active.
anythink fetch /integrations/anythinkpay/subscriptions/me/entitlement
{
"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.
Check whether user 61 currently has AnythinkPay access.