WorkestraDocs
Integrations

Stripe Integration

Connect Stripe for payment processing and subscription management.

Stripe Integration

Connect Stripe to process payments, manage subscriptions, and sync invoice data.

Stripe connection modal

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:

  1. Go to Developers > API Keys
  2. Copy Publishable Key (starts with pk_live_)
  3. Copy Secret Key (starts with sk_live_)
  4. Get Webhook Secret (create endpoint first)

Use live keys for production, test keys (pk_test_, sk_test_) for testing.

Step 2: Connect in Workestra

  1. Go to Settings > Connected Accounts
  2. Click Connect Stripe
  3. Enter:
    • Publishable key
    • Secret key
    • Webhook secret
  4. Click Validate
  5. System verifies keys
  6. 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:

DirectionAction
Workestra → StripeCreate Stripe invoice
Stripe → WorkestraPayment received
Stripe → WorkestraSubscription updated

Webhook Events

Workestra listens for Stripe events:

EventAction in Workestra
payment_intent.succeededMark invoice paid
invoice.paidRecord payment
invoice.payment_failedMark past due
subscription.createdCreate subscription
subscription.updatedUpdate plan/status
subscription.deletedCancel subscription
customer.createdCreate 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:

CardNumber
Visa4242 4242 4242 4242
Declined4000 0000 0000 0002

Production

For live payments:

  • Use live API keys
  • Real charges processed
  • Update webhook URL
  • Monitor carefully

Disconnecting Stripe

To remove integration:

  1. Go to Settings > Connected Accounts
  2. Find Stripe
  3. Click Disconnect
  4. 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