{"registry_version":"2026.1025.387","generated_at":"2026-10-25T06:27:00Z","content_sha256":"089d16f627d9365e3d0663cc8069203706d7cb23a76c332226e29686968811a5","signed":true,"signature":{"key_id":"ed25519:74ca19268e364242","algorithm":"ed25519","expires_at":"2026-11-24T06:27:09Z","expired":false,"manifest":"/registry/manifest.json"},"entry_sha256":"021240b4f9a0193e66905ca73db7a1281bd1d347c9bbe82cad6a5a8682843300","entry":{"id":"stripe/connect-platform","name":"Stripe Connect platform setup","vendor":"Stripe","summary":"Turn an activated Stripe account into a Connect platform (marketplace or SaaS): register the platform, complete the platform profile questionnaire and responsibilities, set branding, then onboard connected accounts through Stripe-hosted or embedded onboarding.","aliases":["stripe-connect","connect"],"category":"payments","group":"B","homepage":"https://stripe.com/connect","docs":["https://docs.stripe.com/connect/how-connect-works","https://docs.stripe.com/connect/risk-management","https://docs.stripe.com/connect/hosted-onboarding","https://docs.stripe.com/connect/saas/tasks/onboard","https://docs.stripe.com/connect/accounts-v2"],"status":"researched","last_verified":null,"last_researched":"2026-10-25","sources":[{"id":"how-connect-works","url":"https://docs.stripe.com/connect/how-connect-works","title":"How Connect works (Stripe Docs)","accessed":"2026-10-25","supports":"A Connect integration is the platform's Stripe account plus a Connect application, connected accounts, payments and payouts; platform onboarding happens at dashboard.stripe.com/connect; connected-account country availability depends on the platform's country.","kind":"official"},{"id":"saas-setup","url":"https://docs.stripe.com/connect/end-to-end-saas-platform.md?platform=web","title":"Build a SaaS platform with Accounts v1 (Stripe Docs)","accessed":"2026-10-25","supports":"Setup order - register the platform (dashboard.stripe.com/connect), verify and add business details (account/onboarding), complete the platform profile (connect/settings/profile), customise brand settings (name, icon, colour).","kind":"official"},{"id":"risk","url":"https://docs.stripe.com/connect/risk-management","title":"Risk and liability management with Connect (Stripe Docs)","accessed":"2026-10-25","supports":"The platform is always responsible for its own negative balances; responsibility for connected accounts' negative balances is the platform's or Stripe's depending on configuration; if the platform is responsible, Stripe may hold platform reserves and after 180 days of negative balance transfers from the reserve; the platform collects KYC unless accounts use the Express Dashboard; Stripe screens identity, KYC/AML, sanctions, MATCH list and prohibited businesses.","kind":"official"},{"id":"hosted-onboarding","url":"https://docs.stripe.com/connect/hosted-onboarding","title":"Stripe-hosted onboarding (Stripe Docs)","accessed":"2026-10-25","supports":"Hosted onboarding requires brand name, colour and icon in Connect settings; Account Links are single-use and expire after a few minutes; live mode only accepts HTTPS refresh/return URLs; dashboard type is immutable; account functionality is disabled when currently_due requirements pass their deadline; hosted onboarding does not work in embedded web views.","kind":"official"},{"id":"saas-onboard","url":"https://docs.stripe.com/connect/saas/tasks/onboard","title":"Onboard your connected account (Stripe Docs)","accessed":"2026-10-25","supports":"Stripe-hosted vs embedded onboarding; up-front vs incremental requirement collection; Accounts v2 requirement events.","kind":"official"},{"id":"accounts-v2","url":"https://docs.stripe.com/connect/accounts-v2","title":"Connect and the Accounts v2 API (Stripe Docs)","accessed":"2026-10-25","supports":"Accounts v2 configurations (merchant, customer, recipient); responsibilities fees_collector and losses_collector set when creating accounts.","kind":"official"},{"id":"pricing","url":"https://stripe.com/connect/pricing","title":"Stripe Connect pricing","accessed":"2026-10-25","supports":"Two pricing models - when Stripe handles pricing for connected accounts the platform pays no Connect fees; when the platform handles pricing it pays per monthly active account, a per-payout fee, and a funds-routing percentage; Instant Payouts 1% of volume. Amounts shown in local currency (our fetch showed Malaysian pricing).","kind":"official"},{"id":"restricted","url":"https://stripe.com/legal/restricted-businesses","title":"Stripe prohibited and restricted businesses (last updated 2026-09-22)","accessed":"2026-10-25","supports":"Stripe must not be used for listed prohibited businesses; restricted-business approvals can be modified or revoked at any time.","kind":"official"},{"id":"sharetribe-errors","url":"https://www.sharetribe.com/help/en/articles/9453619-troubleshoot-stripe-errors","title":"Troubleshoot Stripe errors (Sharetribe Help Center)","accessed":"2026-10-25","supports":"Exact Stripe error texts - \"You must complete your platform profile to use Connect and create live connected accounts\", \"Please review the responsibilities of managing losses and collecting requirements for connected accounts\", \"Your account must be activated in order to create accounts\" - and their fixes.","kind":"community"}],"allowed_domains":["stripe.com"],"account_model":{"summary":"The platform's own Stripe account (activated with business details) gains a Connect application. Each seller or customer of the platform becomes a connected account under it; who pays fees, who covers losses and who collects KYC is set per connected account.","accounts":[{"name":"Platform Stripe account","kind":"organisation","owned_by":"the platform's business","required":true,"note":"Must be activated (business details verified) before live connected accounts can be created."},{"name":"Connect application","kind":"project","parent":"Platform Stripe account","required":true,"note":"Created when you register the platform; lets the platform create and act on connected accounts with its own API keys."},{"name":"Connected accounts","kind":"other","parent":"Connect application","required":true,"note":"One per seller/user. Dashboard access (full, Express or none) is fixed at creation; fees_collector and losses_collector (Accounts v2) or controller properties (v1) decide responsibilities."}],"notes":["Connected accounts onboarded in a sandbox or test mode are test-only and do not carry over to live mode (people report; see sharetribe-errors).","Countries where you can have connected accounts depend on the platform's own country."]},"prerequisites":[{"need":"An activated Stripe account for the platform business","note":"Covered by the stripe/account-and-billing entry where present; Stripe returns \"Your account must be activated in order to create accounts\" otherwise."}],"have_ready":[{"kind":"company_documents","description":"Legal details of the platform business (name, registration, address, representative, beneficial owners)","why":"Needed to activate the platform's own Stripe account before going live.","needed_for":["activate-platform"],"auto_check":"name_consistency","source":"saas-setup"},{"kind":"bank_account","description":"Bank account for the platform's payouts and any reserves","needed_for":["activate-platform"],"auto_check":"none","source":"risk"},{"kind":"live_website","description":"Public website describing the platform, what sellers sell, and support contacts","why":"The platform profile asks about your business model and industry; Stripe screens for prohibited businesses.","needed_for":["platform-profile"],"auto_check":"website_live","source":"risk"},{"kind":"app_icon","description":"Platform brand name, square icon and brand colour","why":"Stripe-hosted onboarding requires brand name, colour and icon in Connect settings.","needed_for":["branding"],"auto_check":"none","source":"hosted-onboarding"},{"kind":"other","description":"Decisions on charge type (direct vs destination/separate), dashboard type for sellers, and who covers losses and collects KYC","why":"These set the platform's liability and are hard or impossible to change later (dashboard type is immutable).","needed_for":["platform-profile"],"auto_check":"none","source":"risk"}],"steps":[{"id":"register-platform","title":"Register your platform for Connect","summary":"In the Stripe Dashboard, open Connect and start platform onboarding, choosing marketplace or SaaS style. Signed-in human only.","route":"guided","depends_on":[],"gate":"human_login","url":"https://dashboard.stripe.com/connect","sources":["saas-setup","how-connect-works"]},{"id":"activate-platform","title":"Verify and add business details (activate the platform account)","summary":"Complete the business activation form for the platform's own Stripe account. You submit identity and business details yourself; verapli never uploads documents or enters bank details.","route":"guided","depends_on":["register-platform"],"gate":"human_identity","url":"https://dashboard.stripe.com/account/onboarding","recovery":[{"hiccup":"Creating a connected account fails with \"Your account must be activated in order to create accounts.\"","fix":"Finish the activation form at dashboard.stripe.com/account/onboarding, then retry.","source":"sharetribe-errors"}]},{"id":"platform-profile","title":"Complete the platform profile and acknowledge responsibilities","summary":"Answer the platform profile questionnaire (industry, business model, statement descriptor and dispute handling) and acknowledge your responsibilities for managing losses and collecting requirements. The person submits it.","route":"guided","depends_on":["activate-platform"],"gate":"human_submit","url":"https://dashboard.stripe.com/connect/settings/profile","lead_time":{"reported":{"text":"A third-party platform guide says Stripe aims to review platform profiles within one business day and may ask follow-up questions by email; Stripe does not publish a review time. [to verify]","source":"sharetribe-errors"}},"recovery":[{"hiccup":"\"You must complete your platform profile to use Connect and create live connected accounts.\"","fix":"As an account admin, open the Connect overview in the Dashboard and answer the questionnaire.","source":"sharetribe-errors"},{"hiccup":"\"Please review the responsibilities of managing losses and collecting requirements for connected accounts.\"","fix":"Open the platform profile settings and acknowledge the responsibilities.","source":"sharetribe-errors"}]},{"id":"branding","title":"Set Connect branding","summary":"Add the business name, icon and brand colour used on Stripe-hosted onboarding and the Express Dashboard.","route":"copilot","depends_on":["register-platform"],"gate":"human_submit","url":"https://dashboard.stripe.com/settings/connect/stripe-dashboard/branding","sources":["saas-setup","hosted-onboarding"]},{"id":"onboarding-options","title":"Configure onboarding options","summary":"Choose countries and default capabilities for Express accounts, optional public details to collect, and bank account collection during onboarding.","route":"guided","depends_on":["platform-profile"],"gate":"human_submit","url":"https://dashboard.stripe.com/settings/connect/onboarding-options/countries","optional":true,"sources":["hosted-onboarding"]},{"id":"build-onboarding","title":"Integrate connected-account onboarding","summary":"Create connected accounts and send each one through Stripe-hosted onboarding (Account Links) or the embedded account-onboarding component, then listen for requirement updates. Done in code with the platform's secret key.","route":"api","depends_on":["platform-profile","branding"],"gate":"none","recovery":[{"hiccup":"The seller lands on the refresh URL instead of the onboarding form.","fix":"Account Links are single-use and expire after a few minutes, or were pre-fetched by a messaging app; generate a new link from the refresh URL handler and never send links by email or text.","source":"hosted-onboarding"},{"hiccup":"Account Link creation fails in live mode.","fix":"Live mode only accepts HTTPS return_url and refresh_url.","source":"hosted-onboarding"},{"hiccup":"A connected account's charges or payouts are disabled.","fix":"Requirements went past_due; send the account back through onboarding, which asks only for what is missing.","source":"hosted-onboarding"}]},{"id":"webhook-secret","title":"Create a Connect webhook endpoint","summary":"Add an event destination that listens to events from connected accounts (account.updated or v2 requirement events) and copy its signing secret.","route":"copilot","depends_on":["platform-profile"],"gate":"human_submit","url":"https://dashboard.stripe.com/webhooks","capture":{"env":"STRIPE_CONNECT_WEBHOOK_SECRET","kind":"webhook_secret"},"sources":["saas-onboard"]}],"outputs":[{"name":"STRIPE_CONNECT_WEBHOOK_SECRET","description":"Signing secret of the webhook endpoint that receives connected-account events","secret":true,"example_format":"whsec_…","from_step":"webhook-secret"}],"terms_notes":[{"kind":"rules_say","severity":"red","title":"You can owe your sellers' losses","text":"The platform always owns its own negative balance (all refunds and disputes on destination or separate charges). If the platform is also responsible for connected accounts' negative balances, Stripe may hold reserves on the platform and, after 180 days negative, take the shortfall from them.","source":"risk"},{"kind":"rules_say","severity":"red","title":"Prohibited businesses","text":"Stripe screens connected accounts for prohibited businesses, sanctions and the MATCH list; Stripe must not be used for anything on the prohibited list, and restricted-business approvals can be revoked at any time.","source":"restricted"},{"kind":"rules_say","severity":"amber","title":"KYC duty may be yours","text":"If your platform takes loss responsibility, it must collect KYC information from connected accounts unless they use the Express Dashboard, and it manages payments risk itself (no Managed Risk).","source":"risk"},{"kind":"rules_say","severity":"amber","title":"Some choices are permanent","text":"A connected account's dashboard type cannot be changed after creation; changing it means creating a new account object.","source":"hosted-onboarding"},{"kind":"rules_say","severity":"yellow","text":"Never email or text Account Link URLs; they are single-use and grant access to personal information.","source":"hosted-onboarding"}],"pricing_notes":{"free_tier":"If Stripe handles pricing for connected accounts, the platform pays no extra Connect fees.","costs":"If the platform handles pricing, it pays a monthly fee per active account (one that received a payout that month), a per-payout fee (percentage plus fixed amount) and a funds-routing percentage; Instant Payouts 1% of volume. Amounts are per country. [to verify for your country]","source":"pricing"},"stripe_projects":false,"api_provisioning":{"available":"partial","notes":"Platform registration, activation and the platform profile are Dashboard-only human steps. After that, connected accounts, Account Links, Account Sessions and webhooks are all API-driven (Accounts v1 or v2).","docs":["https://docs.stripe.com/connect/accounts-v2","https://docs.stripe.com/connect/hosted-onboarding"],"source":"accounts-v2"},"detect":{"env_names":["STRIPE_CONNECT_WEBHOOK_SECRET","STRIPE_CONNECT_CLIENT_ID"],"packages":["@stripe/connect-js","@stripe/react-connect-js"]}}}