Online payments require a verified Stripe account and confirmed bank for each
location. Stripe schedules payouts automatically; merchants do not need Crave
to release each payout. Ordinary orders and catering payments use the same
location readiness checks. Stripe determines country, currency, capability,
settlement timing, and bank availability for each account.
Separate managed Cloud hosting product
The separately deployed managed Cloud hosting product uses a merchant-owned Stripe account. It charges a hosting subscription and takes no order application fee. Its included storefront uses its own pinned runtime; those commercial terms and compatibility observations do not activate the direct-charge platform source candidate described here. See the Cloud release results before choosing a client or enabling payments for a Cloud installation.Environment model
Sandbox and production are separate deployments with separate databases, Clerk applications, Stripe credentials, connected accounts, and API-key namespaces. There is no merchant test/live toggle inside one Crave organization.
Create and verify the organization and every location independently in the
environment you intend to use. Never send a sandbox credential to production or
a production credential to sandbox. Each deployment also uses its own Clerk
application, so signing in to one environment does not create a session or
organization in the other.
Location payment-account flow
Creating an organization or location does not automatically create a Stripe account. An organization administrator starts setup explicitly for each location:1
Choose the location
In Business Manager, switch to the intended location and open Settings >
Account. Confirm that the location name and address are correct before
starting payment setup.
2
Confirm the payment-account contact
Enter and confirm the email that owns this location’s Stripe payment setup.
Crave stores this contact with the location payment account; it does not
reuse an order-notification email silently.
3
Complete Stripe-hosted onboarding
Continue to Stripe’s one-time hosted onboarding flow. Supply the legal,
identity, tax, and bank information Stripe requests. A second location may
be offered eligible information reuse, but every location must satisfy the
requirements Stripe returns for its own account.
4
Resolve requirements in Business Manager
Return to Settings > Account for status, notifications, documents, and
required account-management actions. Crave does not depend on a separate
provider-hosted merchant dashboard for this flow.
5
Confirm the payout destination
An organization administrator confirms the exact current external account. A
bank-account change invalidates the prior confirmation and blocks payment
and payout readiness until the new destination is confirmed.
Storefront payment flow
The storefront uses a capability-protected Crave cart. Crave selects the location account and creates the PaymentIntent as a direct charge in that account; the browser cannot choose or replace the account.- Submit the canonical order with the authorized cart revision and accepted evidence.
- Read the server-selected
connectedAccountIdandclientSecretfrom aCUSTOMER_ACTION_REQUIREDoutcome. - Initialize Stripe.js with the publishable key for the current deployment and the exact connected account returned by Crave.
- Confirm through Stripe Elements. Crave finalizes payment and the order only from authoritative Stripe event or reconciliation evidence.
Sandbox verification
Until the activation lock is removed, a payment-session request must return the documented activation failure rather than creating a charge. That failure is the correct sandbox result; do not bypass it or substitute a platform-only payment. After activation, verify the exact release with the sandbox Business Manager, sandbox Storefront API, andpk_test_... publishable key. Cover:
- successful card payment;
- authentication-required payment and browser recovery;
- declined payment;
- full and partial refund evidence;
- application-fee refund evidence;
- dispute evidence and response access;
- payout-destination change and readiness invalidation; and
- a second location with independent onboarding and payment-account ownership.
Troubleshooting
”Online payments are not activated”
The release-wide direct-charge gate is still closed. Continue testing catalog, cart, pay-at-store, and other non-Stripe behavior; do not retry through another Stripe account or weaken the gate.”Payment account needs attention”
- Select the exact affected location in Business Manager.
- Open Settings > Account and continue the Stripe-hosted or embedded action shown there.
- Confirm that all required capabilities and documents are complete.
- Reconfirm the current payout destination after any external-account change.
Account or environment mismatch
- Confirm the storefront is calling the intended sandbox or production API.
- Confirm the publishable key belongs to that same environment.
- Discard the payment session and start again when the returned connected account does not match the current location; never override it in the browser.
Slack Community
Ask questions and get help from the Crave team and community.
Email Support
Reach out to hello@craveup.com for direct support.
