When you add Stripe integration to your Manus project using webdev_add_feature, the backend code is automatically generated. However, you must manually configure Stripe through the Management UI to activate payments. This tutorial explains the complete setup process.
How to Claim Your Sandbox
- Open Management UI - Click the panel icon in the Chatbox header (top-right)
- Navigate to Settings - Click "Settings" in the left sidebar
- Go to Payment Section - Click "Payment" in the settings sub-menu
- Find the Claim Link - Look for the yellow warning banner at the top
- Click "Claim Sandbox" - This opens Stripe dashboard in a new tab
- Complete Stripe Registration - Follow Stripe's onboarding flow
Expiration Date: Your sandbox expires on the date shown in the warning banner. After expiration, you'll need to create a new Stripe account manually.
Desktop
- Look for the panel icon (☰) in the top-right of the Chatbox header
- Click it to open the Management UI panel on the right side
- In the Management UI, click Settings in the left sidebar
- Click Payment in the settings sub-navigation
Mobile
- The Management UI may be collapsed by default
- Tap the menu icon to expand it
- Follow the same steps: Settings → Payment
Test Mode
- Purpose: Testing without real money
- Test Cards: 4242 4242 4242 4242
- When: During development
Live Mode
- Purpose: Real customer payments
- Activation: Requires KYC verification
- When: After launch
Important: Manus automatically uses the correct keys based on your environment. You just need to enter them in Settings → Payment.
For Test Mode (Immediate)
- Go to Stripe Dashboard
- Copy Publishable Key (starts with
pk_test_...) - Copy Secret Key (starts with
sk_test_..., click "Reveal" first) - Go to Manus Settings → Payment
- Paste keys and click Save
For Live Mode (After KYC)
- Complete Stripe KYC verification (business details, tax info, bank account)
- Go to Stripe Dashboard
- Copy Live Publishable Key (starts with
pk_live_...) - Copy Live Secret Key (starts with
sk_live_...) - Go to Manus Settings → Payment
- Switch to "Live Mode" toggle
- Paste live keys and click Save
Security Note: Never share your secret keys or commit them to git. Manus stores them securely as environment variables.
Automatic Setup: Manus automatically creates the webhook endpoint at https://your-app.manus.space/api/stripe/webhook
Manual Configuration (If Needed)
- Go to Stripe Webhooks
- Click "Add Endpoint"
- Enter your webhook URL:
https://your-app.manus.space/api/stripe/webhook - Select events: checkout.session.completed, customer.subscription.*, invoice.*
- Copy the Webhook Signing Secret (starts with
whsec_...) - Paste into Manus Settings → Payment webhook field
Test Card Numbers
| Card Number | Scenario |
|---|---|
4242 4242 4242 4242 | Successful payment |
4000 0000 0000 9995 | Declined (insufficient funds) |
4000 0000 0000 0002 | Declined (card declined) |
Expiration: Any future date (e.g., 12/34) • CVC: Any 3 digits (e.g., 123) • ZIP: Any 5 digits (e.g., 12345)
Testing Checkout Flow
- Go to your Pricing page
- Click "Upgrade to Pro" or "Upgrade to Enterprise"
- Verify Stripe Checkout opens with correct price
- Enter test card:
4242 4242 4242 4242 - Complete payment
- Verify redirect back to your app
- Check subscription status updated in dashboard
"Checkout session failed to create"
Cause: Missing or invalid API keys
Solution: Go to Settings → Payment, verify keys are correct (no extra spaces), ensure test keys in test mode
"Webhook signature verification failed"
Cause: Incorrect webhook signing secret
Solution: Copy webhook secret from Stripe Dashboard → Webhooks, paste into Settings → Payment
"Subscription not updating after payment"
Cause: Webhook not firing or metadata missing
Solution: Check Stripe Dashboard → Webhooks for event delivery logs, verify webhook URL matches your app URL
- ☐Complete Stripe KYC verification
- ☐Add live API keys in Settings → Payment
- ☐Configure live webhook endpoint
- ☐Test checkout flow with real card
- ☐Verify subscription updates in database
- ☐Test cancellation flow
- ☐Monitor Stripe dashboard for first 24 hours
Remember: Settings → Payment is where all Stripe configuration happens in Manus!
Don't try to configure Stripe through chat prompts - use the Management UI Settings panel.