Integrations
Stripe Integration
Connect Stripe for payment processing and subscription management.
Stripe Integration
Connect Stripe to process payments, manage subscriptions, and sync invoice data.
Screenshot needed � add an annotated image showing this UI
What the Stripe Integration Does
- Payment processing — Accept credit cards, ACH, and more
- Subscription billing — Automated recurring payments
- Invoice sync — Two-way invoice synchronization
- Webhook handling — Real-time event updates
Connecting Stripe
Step 1: Get API Keys
From your Stripe Dashboard:
- Go to Developers > API Keys
- Copy Publishable Key (starts with
pk_live_) - Copy Secret Key (starts with
sk_live_) - Get Webhook Secret (create endpoint first)
Use live keys for production, test keys (pk_test_, sk_test_) for testing.
Step 2: Connect in Workestra
- Go to Settings > Connected Accounts
- Click Connect Stripe
- Enter:
- Publishable key
- Secret key
- Webhook secret
- Click Validate
- System verifies keys
- Save connection
Key Validation
System checks:
- Key format (pk_live_, sk_live_)
- Key permissions
- Account status
- Webhook endpoint
What It Enables
Payment Processing
On invoices:
- Pay Now button
- Credit/debit cards
- Digital wallets (Apple Pay, Google Pay)
- ACH bank transfers
Subscription Management
Sync subscriptions:
- Plans created in Stripe
- Subscription status
- Payment history
- Failed payments
Invoice Sync
Two-way sync:
| Direction | Action |
|---|---|
| Workestra → Stripe | Create Stripe invoice |
| Stripe → Workestra | Payment received |
| Stripe → Workestra | Subscription updated |
Webhook Events
Workestra listens for Stripe events:
| Event | Action in Workestra |
|---|---|
payment_intent.succeeded | Mark invoice paid |
invoice.paid | Record payment |
invoice.payment_failed | Mark past due |
subscription.created | Create subscription |
subscription.updated | Update plan/status |
subscription.deleted | Cancel subscription |
customer.created | Create customer link |
Test Mode vs Production
Test Mode
For development:
- Use test API keys
- Test card numbers
- No real charges
- Safe to experiment
Test Card Numbers:
| Card | Number |
|---|---|
| Visa | 4242 4242 4242 4242 |
| Declined | 4000 0000 0000 0002 |
Production
For live payments:
- Use live API keys
- Real charges processed
- Update webhook URL
- Monitor carefully
Disconnecting Stripe
To remove integration:
- Go to Settings > Connected Accounts
- Find Stripe
- Click Disconnect
- Confirm
Disconnecting stops payment processing. Existing subscriptions may fail.
Troubleshooting
"Invalid API Key"
- Check key format
- Verify live vs test
- Ensure no extra spaces
- Regenerate if needed
Webhook Failures
- Check webhook URL
- Verify webhook secret
- Check Stripe webhook logs
- Re-create webhook endpoint
Payment Failures
- Check customer payment method
- Verify card not expired
- Check Stripe decline codes
- Contact customer for alternative
Next Steps
- Invoicing — Create payable invoices
- Subscriptions — Recurring billing
- Finance Settings — Payment configuration