Overview
Sendook uses usage-based billing powered by Stripe. You only pay for the emails you send and receive.Pricing Model
Sendook charges based on email usage with no upfront costs or monthly minimums.What’s Metered
Billing is calculated on:- Messages sent - Each outbound email from your inboxes
- Messages received - Each inbound email to your inboxes
Webhook deliveries, API calls, and dashboard usage are not metered or charged.
Billing Period
Charges are calculated monthly:- Billing period - First day to last day of each calendar month
- Invoice generation - Invoices are created at the end of each billing period
- Payment - Automatic payment from your saved payment method
Stripe Integration
Sendook is fully integrated with Stripe for secure payment processing.Setting Up Billing
On Registration When you sign up, Sendook automatically:- Creates a Stripe customer account
- Creates a subscription with usage-based pricing
- Links your organization to the Stripe customer
- Log in to the dashboard
- Navigate to Billing
- Click Add Payment Method
- Enter your card details in the Stripe form
- Add your billing address
- Click Add Payment Method
Sendook uses Stripe Elements for secure card collection. Your card details never touch Sendook’s servers.
Required Environment Variables
For self-hosted deployments, configure these Stripe environment variables:Usage Tracking
Sendook tracks usage in real-time using Stripe’s billing meters.How It Works
- Message sent/received - Your application sends or receives an email
- Meter event created - Sendook sends a meter event to Stripe:
- Usage aggregated - Stripe aggregates all events for the billing period
- Invoice generated - At period end, Stripe creates an invoice based on total usage
Viewing Usage
In the dashboard:- Navigate to Billing
- View Current Month Invoice
- See accumulated charges for the current period
- Current status (Draft, Open, Paid)
- Amount due
- Billing period dates
- Link to detailed invoice in Stripe
Payment Methods
Supported Payment Types
- Credit cards (Visa, Mastercard, American Express)
- Debit cards
- Additional methods supported by Stripe
Managing Payment Methods
Updating Your Card- Go to Billing in the dashboard
- Click Update next to your current payment method
- Enter new card details
- Submit the form
- Card brand and last 4 digits
- Expiration date
- Billing address
Invoices
Invoice Lifecycle
- Draft - Invoice being calculated during billing period
- Open - Invoice finalized and awaiting payment
- Paid - Payment successfully processed
- Uncollectible - Payment failed after retries
- Void - Invoice cancelled
Accessing Invoices
Via Dashboard- Navigate to Billing
- Click View Invoice to open in Stripe
- Download PDF or view details
Invoice History
Access past invoices:Stripe Customer Management
Each organization is linked to a Stripe customer.Customer Creation
When you register, Sendook creates a Stripe customer:Subscription Creation
A subscription is automatically created with your usage-based price:Payment Method Attachment
When you add a payment method:-
Create a Setup Intent:
- Confirm on client side with Stripe Elements
-
Attach the payment method:
Self-Hosting Billing
If you’re self-hosting Sendook, you’ll need to set up your own Stripe account.Prerequisites
- Stripe Account - Sign up at stripe.com
- Product & Price - Create a product with usage-based pricing
- Billing Meter - Set up a meter for tracking email usage
- Webhook Endpoint - Configure webhook for payment events
Setup Steps
1. Create Stripe Product In your Stripe dashboard:- Go to Products
- Click “Add product”
- Select “Usage based” pricing
- Set your per-unit price
- Save the product ID and price ID
- Go to Billing → Meters
- Create a new meter (e.g., “email_sent”)
- Note the meter event name
.env file:
invoice.payment_succeededinvoice.payment_failedcustomer.subscription.updatedcustomer.subscription.deleted
API Integration
Get Payment Method
Create Setup Intent
Attach Payment Method
Troubleshooting
Payment Failed
Payment Failed
If a payment fails:
- Check that your card is valid and has sufficient funds
- Update your payment method in the dashboard
- Contact your bank if the card is declined
- Stripe will automatically retry failed payments
No Invoice Showing
No Invoice Showing
- Invoices are generated at the end of each billing period
- During the month, you’ll see a “Draft” invoice
- If no usage, no invoice will be generated
Incorrect Usage Amount
Incorrect Usage Amount
- Check the meter events in Stripe dashboard
- Verify STRIPE_METER_EVENT is set correctly
- Look for failed meter event submissions in logs
Can't Add Payment Method
Can't Add Payment Method
- Ensure Stripe publishable key is configured
- Check browser console for Stripe errors
- Verify billing address is complete
- Try a different card or payment method
Cost Optimization
Monitor Usage
Regularly check your current month invoice to track spending trends.
Set Up Alerts
Configure Stripe billing alerts to notify you when spending exceeds thresholds.
Optimize Workflows
Review your email workflows to reduce unnecessary messages.
Test in Development
Use a separate organization with a test Stripe account for development.
Next Steps
Dashboard
Learn how to manage billing in the dashboard
API Reference
Integrate billing into your application
Self-Hosting
Set up billing for self-hosted deployments
Authentication
Secure your API access