Stripe Billing Integration
Rexec uses Stripe for secure payment processing and subscription management. All billing is handled through PipeOps subscriptions.Subscription Tiers
Rexec offers three subscription tiers with different resource limits and features.Free Tier
Free Plan Details
Free Plan Details
Cost: $0/monthContainer Limits:
- 5 max containers
- 2GB memory per container
- 2 vCPUs (2000 millicores)
- 8GB disk per container
- 50-hour session duration
- Cloud containers
- Basic terminal access
- WebSocket support
- SSH key management
- No agents
- No session recording
- Personal projects
- Learning and experimentation
- Quick debugging sessions
Pro Tier
Pro Plan Details
Pro Plan Details
Cost: Varies by PipeOps subscriptionContainer Limits:
- 10 max containers
- 4GB memory per container
- 4 vCPUs (4000 millicores)
- 16GB disk per container
- Unlimited session duration
- All Free features, plus:
- Unlimited agents
- Concurrent agent terminals
- Session recording
- Multi-pane terminals
- Priority support
- Custom shell themes
- Professional developers
- Small teams
- Production debugging
- Remote development
Enterprise Tier
Enterprise Plan Details
Enterprise Plan Details
Cost: Custom pricingContainer Limits:
- 20 max containers
- 8GB memory per container
- 8 vCPUs (8000 millicores)
- 32GB disk per container
- Unlimited session duration
- All Pro features, plus:
- macOS containers (VMs)
- Advanced monitoring
- SSO integration
- Dedicated support
- Custom infrastructure
- SLA guarantees
- Large organizations
- Security-sensitive workloads
- Compliance requirements
- Mac development teams
Managing Your Subscription
Viewing Current Plan
From the UI:- Navigate to Account → Billing
- Your current plan is displayed at the top
- View included limits and usage
Upgrading Your Plan
Stripe Checkout
You’ll be redirected to Stripe’s secure checkout page
- Enter payment details
- Review pricing and billing cycle
- Confirm subscription
Downgrading Your Plan
To downgrade from Pro to Free:- Navigate to Account → Billing
- Click Manage Subscription → Opens Stripe Customer Portal
- Click Cancel Plan
- Confirm cancellation
- Tier reverts to Free
- Container limits reduced to 5
- Containers exceeding limit are stopped
- Session duration limited to 50 hours
Payment Methods
Stripe Customer Portal
Manage payment methods through Stripe’s secure portal:- Navigate to Account → Billing
- Click Manage Payment Methods
- You’re redirected to Stripe Customer Portal
- Available actions:
- Add new card
- Remove old cards
- Set default payment method
- View payment history
- Download invoices
Supported Payment Methods
- Credit/Debit Cards: Visa, Mastercard, Amex, Discover
- Digital Wallets: Apple Pay, Google Pay
- Bank Transfers: ACH (US), SEPA (EU)
- Other: Varies by region
Invoices and Billing History
Viewing Invoices
From UI:- Account → Billing → Invoice History
- See all past invoices with:
- Invoice number
- Date and billing period
- Amount paid
- Payment status
- Download PDF link
Downloading Invoices
Click Download PDF in the Invoice History table, or use the API:Stripe Webhooks
Rexec processes the following Stripe webhook events:Subscription Events
customer.subscription.created
customer.subscription.created
Fired when a new subscription is created.Rexec Actions:
- Update user tier in database
- Set
subscription_active = true - Apply new resource limits immediately
- Send welcome email (if configured)
customer.subscription.updated
customer.subscription.updated
Fired when subscription details change (tier upgrade/downgrade, payment method update).Rexec Actions:
- Update tier if changed
- Adjust container limits
- Update billing cycle info
customer.subscription.deleted
customer.subscription.deleted
Fired when subscription is canceled or expires.Rexec Actions:
- Revert tier to Free
- Set
subscription_active = false - Stop containers exceeding free limits
- Notify user of downgrade
Payment Events
invoice.payment_succeeded
invoice.payment_succeeded
Fired when invoice payment succeeds.Rexec Actions:
- Log payment in database
- Send receipt email
- Ensure subscription remains active
invoice.payment_failed
invoice.payment_failed
Fired when payment fails (expired card, insufficient funds, etc.).Rexec Actions:
- Set subscription status to
past_due - Send payment failure notification
- Retry payment per Stripe settings
- Downgrade to free if payment fails after retries
Checkout Events
checkout.session.completed
checkout.session.completed
Fired when user completes Stripe Checkout.Rexec Actions:
- Create or update subscription
- Link customer ID to user account
- Redirect user back to Rexec with success message
Subscription Status
Status Values
- active - Subscription is paid and current
- trialing - In trial period (not used by Rexec currently)
- past_due - Payment failed, retrying
- canceled - Subscription canceled, still active until period end
- inactive - No active subscription
Handling Past Due Subscriptions
If your subscription is past due:- Grace Period: 7 days to update payment method
- Restricted Access: Cannot create new containers
- Existing Containers: Remain running during grace period
- Automatic Downgrade: After 7 days, tier reverts to Free
- Navigate to Account → Billing
- Click Update Payment Method
- In Stripe Portal, add new card or update existing
- Stripe will automatically retry the failed payment
Proration and Credits
Upgrading Mid-Cycle
When you upgrade from Free to Pro:- Immediate Access: Pro limits apply instantly
- Prorated Charge: You’re charged for remaining days in the cycle
- Example: Upgrade on day 15 of 30-day cycle = ~50% of Pro monthly price
Downgrading Mid-Cycle
When you cancel/downgrade:- No Immediate Downgrade: Pro features remain until period end
- No Refund: No prorated refund for unused time
- Scheduled Change: Downgrade takes effect on next renewal date
Changing Tiers
Upgrading from Pro to Enterprise (or vice versa):- Prorated Difference: Charged/credited the difference
- Immediate Effect: New limits apply right away
Trial and Promotional Credits
Free Trial
Rexec may offer free trials of Pro tier:- Duration: Typically 14 days
- No Credit Card: Trial without payment method
- Full Access: All Pro features enabled
- Auto-Downgrade: Reverts to Free at end of trial
Promotional Credits
Apply promotional credits:- Navigate to Account → Billing
- Click Apply Promo Code
- Enter code and click Apply
- Credit is applied to your Stripe customer account
- Used automatically on next invoice
Usage-Based Billing (Future)
Rexec currently uses fixed-tier pricing. Usage-based billing is planned for future releases.
- Container-hours (running time)
- Data transfer (egress)
- Session recording storage
- Agent connection hours
API Reference
Get Subscription Info
Create Checkout Session
Get Portal Session
List Invoices
Troubleshooting
Payment Failed
Payment Failed
Common Reasons:
- Expired credit card
- Insufficient funds
- Card declined by bank
- Incorrect billing details
- Check email for payment failure notification
- Navigate to Account → Billing → Manage Payment Methods
- Update or add new payment method
- Stripe will automatically retry
- Or manually retry from Stripe Portal
Subscription Not Upgrading
Subscription Not Upgrading
If you completed checkout but still see Free tier:Check
- Wait 60 seconds - Webhook processing may be delayed
- Refresh page - Clear cache and reload
- Check email - Confirm payment receipt from Stripe
- Verify in Stripe Portal - Subscription should show as active
- Contact Support - If issue persists after 5 minutes
status and tier fields.Container Limit Not Increased
Container Limit Not Increased
After upgrading to Pro, if you still can’t create more than 5 containers:
- Sign out and back in - Refresh session token with new tier
- Check subscription status - Ensure
active - Verify in database - Admin can check
subscription_activeflag
Duplicate Charges
Duplicate Charges
If you see multiple charges:
- Check invoice details - May be separate subscriptions
- Verify in Stripe Portal - View all active subscriptions
- Cancel duplicates - Keep only one Pro subscription
- Request refund - Contact [email protected] with invoice numbers
Security and Compliance
PCI Compliance
Rexec is PCI-DSS compliant through Stripe:- No card storage - Rexec never sees or stores card numbers
- Stripe Elements - Secure payment forms
- TLS encryption - All payment data encrypted in transit
- Tokenization - Cards stored as secure tokens
Data Privacy
What Rexec Stores:- Stripe Customer ID (linked to your user account)
- Subscription ID and status
- Current tier and limits
- Invoice metadata
- Credit card numbers
- CVV codes
- Full billing addresses (Stripe handles this)
GDPR and Data Deletion
To delete your billing data:- Cancel subscription in Stripe Portal
- Navigate to Account → Settings → Delete Account
- Confirm deletion
- Account deletion in Rexec
- Customer deletion request to Stripe (processed per Stripe retention policy)
- All container data wiped
- Invoices remain in Stripe for tax compliance (per legal requirements)
Enterprise Billing
For Enterprise tier:- Custom Quotes - Contact [email protected]
- Annual Billing - Discounted pricing available
- Purchase Orders - PO processing supported
- Multi-Seat Licensing - Team/organization plans
- Invoice Payment - Net-30 terms for qualified customers
- Custom Contracts - MSA and DPA available