Monetization

Setting Up Stripe Payments in Manus

Learn how to claim your Stripe sandbox, configure API keys through Settings → Payment, and enable payments in your Manus project

⏱️ 20 minutes📊 Intermediate
Overview

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.

Critical First Step: Claim Your Stripe Sandbox
IMPORTANT: Manus creates a Stripe test sandbox for you, but it expires if not claimed within 60 days.

How to Claim Your Sandbox

  1. Open Management UI - Click the panel icon in the Chatbox header (top-right)
  2. Navigate to Settings - Click "Settings" in the left sidebar
  3. Go to Payment Section - Click "Payment" in the settings sub-menu
  4. Find the Claim Link - Look for the yellow warning banner at the top
  5. Click "Claim Sandbox" - This opens Stripe dashboard in a new tab
  6. 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.

Where to Find Settings → Payment
Many users miss this because they only interact with Manus through the chat interface

Desktop

  1. Look for the panel icon (☰) in the top-right of the Chatbox header
  2. Click it to open the Management UI panel on the right side
  3. In the Management UI, click Settings in the left sidebar
  4. Click Payment in the settings sub-navigation

Mobile

  1. The Management UI may be collapsed by default
  2. Tap the menu icon to expand it
  3. Follow the same steps: Settings → Payment
Understanding Test vs Live API Keys
Stripe provides two sets of API keys for different environments

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.

Configuring API Keys

For Test Mode (Immediate)

  1. Go to Stripe Dashboard
  2. Copy Publishable Key (starts with pk_test_...)
  3. Copy Secret Key (starts with sk_test_..., click "Reveal" first)
  4. Go to Manus Settings → Payment
  5. Paste keys and click Save

For Live Mode (After KYC)

  1. Complete Stripe KYC verification (business details, tax info, bank account)
  2. Go to Stripe Dashboard
  3. Copy Live Publishable Key (starts with pk_live_...)
  4. Copy Live Secret Key (starts with sk_live_...)
  5. Go to Manus Settings → Payment
  6. Switch to "Live Mode" toggle
  7. 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.

Webhook Configuration
Webhooks notify your app about payment events (successful payments, cancellations, etc.)

Automatic Setup: Manus automatically creates the webhook endpoint at https://your-app.manus.space/api/stripe/webhook

Manual Configuration (If Needed)

  1. Go to Stripe Webhooks
  2. Click "Add Endpoint"
  3. Enter your webhook URL: https://your-app.manus.space/api/stripe/webhook
  4. Select events: checkout.session.completed, customer.subscription.*, invoice.*
  5. Copy the Webhook Signing Secret (starts with whsec_...)
  6. Paste into Manus Settings → Payment webhook field
Testing Your Stripe Integration

Test Card Numbers

Card NumberScenario
4242 4242 4242 4242Successful payment
4000 0000 0000 9995Declined (insufficient funds)
4000 0000 0000 0002Declined (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

  1. Go to your Pricing page
  2. Click "Upgrade to Pro" or "Upgrade to Enterprise"
  3. Verify Stripe Checkout opens with correct price
  4. Enter test card: 4242 4242 4242 4242
  5. Complete payment
  6. Verify redirect back to your app
  7. Check subscription status updated in dashboard
Common Issues & Solutions

"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

Going Live Checklist
Before accepting real payments
  • 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.

3