What “connected” means
Credits mode is fully active only when all three are true:- Credits toggle is ON (
credit_mode = 1intx_nst3af_runtime_setting) - At least one valid T3Planet license key exists in
ns_product_license - Activate succeeded and a Bearer token was stored (encrypted in
tx_nst3af_runtime_setting.token_enc)
Part A — Prerequisites
TYPO3 instance
- TYPO3 — 13.4+ (or the version required by the project).
- PHP — 8.2+.
- Extensions —
ns_t3afplus child extensions under test (for examplens_t3ai,ns_t3aa). - License extension —
nitsan/ns-license(license rows inns_product_license). - Backend user — Admin, or a user with T3AF module access.
Network
The TYPO3 server must reach the T3Planet composer API over HTTPS:https://composer.t3planet.cloud/API/AI/*(Token, Balance, Charge, Stream, …)
T3Planet license keys
- Valid license rows in
ns_product_license(T3Planet shop / license activation in TYPO3) - License is non-expired or lifetime
- Domain binding: the install’s public hostname should match domains registered on the license (production, staging, or local as configured on T3Planet). Domain mismatches often cause token or API errors.
MCP + Native AI testing (optional)
- MCP mode — Native on T3AF → MCP Server tab.
- Credits — Fully active (see Part B).
- Expected
aiProviderin MCP tools — Single option:t3planet_credits(T3Planet Credits (active)).
Part B — Connect T3Planet Credits
Step 1 — Start the instance
Step 2 — Open T3AF → AI Providers
- Go to T3AF
- Open the AI Providers tab
- T3Planet Credits (recommended)
- Your Own API Keys
Step 3 — Select T3Planet Credits
- Click the T3Planet Credits card
- Confirm the switch dialog (Switch to T3Planet Credits)
- Expect a notice such as: Credits mode selected. Click Activate to connect your license.
Step 4 — Activate (required)
- Click Activate (on the T3Planet Credits card or dashboard toolbar)
-
The system will:
- Collect valid license keys from
ns_product_license - Call
POST /API/AI/Token.phpwithlicense_keysanddomain - Store the Bearer token (encrypted)
- Set
credit_mode = 1 - Load balance from the T3Planet API
- Collect valid license keys from
-
On success:
- Toast: Credits mode is active.
- Page reloads
- Credits dashboard shows balance, plan, and bundles
Step 5 — Verify in the backend UI
- Provider mode — T3Planet Credits selected with ACTIVE badge.
- Provider list — Read-only; banner that local providers are preserved but not used.
- Dashboard — Credit balance visible (not “Activate to load balance”).
- Buy Credits tab — Bundles load when the API is reachable.
- AI Usage log — After an AI action: provider
t3planet_credits, status success, credits debited.
Step 6 — AI smoke test
Without configuring local OpenAI (or other) API keys:- Run any T3AI feature (translate content, SEO meta, MCP native tool, …)
-
Open AI Usage and confirm:
- Provider:
t3planet_credits - Status: success
- Credits debited
- Provider:
Part C — MCP testing (optional)
Step 1 — Set MCP mode to Native
- T3AF → MCP Server
- Set mode to Native (not Context)
- Confirm MCP mode saved. and refresh to verify persistence
Step 2 — Connect MCP client
Use MCP Inspector, Claude Desktop, stdio, or HTTP as documented on the MCP Server tab (OAuth or token as configured).Step 3 — Check tool schema
On a native AI tool (for examplet3ai_translate_content):
aiProvider— Dropdown showst3planet_creditsonly.- Description — States that T3Planet Credits mode is active.
aiProvider empty or select t3planet_credits — both route through credits.
Step 4 — Run tool and verify log
Same as Part B Step 6: AI Usage must showt3planet_credits, not local
provider identifiers such as openai-1.
Part D — Switch back to Your Own API Keys
For comparison testing:- AI Providers → Your Own API Keys → confirm switch
- Configure at least one connected provider (API key + Test connection)
- MCP Native tools should list local providers in
aiProvider - AI Usage should show the local provider identifier, not
t3planet_credits
Part E — Troubleshooting
- Activate: “No T3Planet license keys found” — No valid
ns_product_licenserows. Activate T3Planet extension licenses in TYPO3 first. - Activate: API / network error — Cannot reach
composer.t3planet.cloud. Fix outbound HTTPS and retry Activate. - Toggle ON but no balance / “click Activate” — Token not minted. Click Activate (toggle alone is insufficient).
- Credits “on” but AI uses local provider — Credits not fully active (no token). Re-run Activate; check
tx_nst3af_runtime_setting. - MCP lists
openai-1,mistral-…inaiProvider— Credits not active or stale MCP schema. Confirm ACTIVE plus balance; flush caches; reconnect MCP client. - Domain / license errors from API — Hostname not on license. Register DDEV or staging domain on the T3Planet license.
- AI fails: proxy unreachable — Credits ON but API unreachable. Fix connectivity or switch to Your Own API Keys temporarily.
Optional DB check (dev/QA)
credit_mode = 1, non-empty license_keys, has_token = yes.
Part F — QA checklist
Copy for test runs:Summary
- License first — valid T3Planet keys in TYPO3
- AI Providers → T3Planet Credits
- Click Activate (mandatory)
- Confirm balance and ACTIVE
- Smoke-test AI → log must show
t3planet_credits - For MCP: Native mode +
aiProvider=t3planet_credits