solarOSsolarOS Docs
GuidesBilling

Customers pay through a public, token-authenticated checkout endpoint (GET /api/checkout/[quoteId], apps/web/src/app/api/checkout/[quoteId]/route.ts), which creates a Stripe PaymentIntent on the contractor organization's own connected Stripe account (Stripe Connect). If the organization hasn't completed Stripe Connect onboarding, that endpoint returns "Provider has not connected their Stripe account" and the quote can't be paid; see Troubleshooting.

Staff connect Stripe from Settings → Integrations → Stripe (apps/web/src/app/(authenticated)/settings/integrations/stripe/stripe-connect-content.tsx).

TODO(owner, likely product + integrations): write the full guide covering the Stripe Connect onboarding steps from that settings page, what PAYABLE_QUOTE_STATUSES (apps/web/src/lib/validations/checkout.ts) requires before a quote can be paid, and how the application fee/transaction-fee percent (getTransactionFeePercent, apps/web/src/lib/billing/payment-collection.ts) is set.

Was this page helpful?