Stripe Integration
Secure payment processing and subscription management powered by Stripe
Overview
Instafill.ai uses Stripe for all subscription billing and payment processing. Plans - Business, Max, and Enterprise - are billed at the workspace level: each workspace carries its own subscription scoped to a workspaceId. When a payment is collected or a plan changes, Stripe sends webhook events that the platform consumes to update quota entitlements and subscription state.
Card data never reaches Instafill.ai servers. Stripe's tokenization handles card storage, and PCI compliance is delegated entirely to Stripe. Payment method changes, invoice access, and subscription management are handled through the Stripe billing portal, accessible from Settings → Organization → Billing.
Key Capabilities
- Workspace-Scoped Billing: Each workspace has its own subscription tied to a
workspaceId; billing state is independent across workspaces - Subscription Plans: Business, Max, and Enterprise tiers with plan limits enforced at the API layer via workspaceId-bound quota checks
- Document-Based Usage Limits: Each plan tier defines a completed documents per month limit; requests that exceed the active plan's limit return HTTP 429
- Annual Billing: Switching to annual billing saves 25% compared to monthly; the saving applies across all Business and Max tiers
- Stripe Webhook Processing: Platform receives and processes subscription and payment events from Stripe to keep quota entitlements in sync
- Plan Upgrades/Downgrades: Initiated from the Stripe billing portal (Settings → Organization → Billing); plan changes take effect immediately and quota entitlements update accordingly
- Payment Method Management: Add or update payment methods directly in the Stripe billing portal
- Invoice Access: Full invoice history is available in the Stripe billing portal, accessible from Settings → Organization → Billing
- PCI Compliance via Tokenization: Stripe's tokenization handles card storage; no card data is processed or stored on Instafill.ai infrastructure
- Failed Payment Handling: Stripe retries failed charges and emits failure webhooks so the platform can gate access appropriately
How It Works
Plan Selection: A workspace owner selects a subscription plan from the pricing page or opens the Stripe billing portal via Settings → Organization → Billing.
Checkout via Stripe: The platform initiates a Stripe Checkout session. The user completes payment on the Stripe-hosted page. Card data goes directly to Stripe - it never passes through Instafill.ai servers.
Webhook Activation: Stripe fires a webhook event upon successful payment. The platform receives this event, updates the workspace's subscription status, and applies the plan's quota limits against the
workspaceId.Plan Limit Enforcement: Quota checks run at the API layer on every relevant request. Requests that exceed the active plan's completed documents limit return HTTP 429. Quota entitlements are re-evaluated when Stripe delivers subscription change events.
Ongoing Billing Events: When a plan is upgraded or downgraded, quota limits update immediately. When a subscription is canceled, workspace access is restricted. When a payment fails, the platform can restrict access based on configured grace period logic.
Self-Service Management: From Settings → Organization → Billing, workspace owners click "Open billing portal at Stripe" to update the payment method on file, download invoices, and manage their subscription.
Use Cases
A team on the Business Tier 1 plan (40 completed documents/mo) upgrades to Tier 2 (120 documents/mo) as form volume grows - the webhook triggers immediately and the workspace's quota limit increases without any manual intervention. An agency managing multiple client workspaces keeps each client's billing separate by maintaining a distinct subscription per workspaceId, so invoices and quota tracking never mix across clients. An enterprise workspace moves to the Enterprise plan and configures invoice billing through the sales process, with plan limits enforced by the same API-layer quota checks used on all other tiers.
Benefits
- No Card Data on Platform Servers: Stripe's tokenization means Instafill.ai never sees, stores, or processes card numbers - PCI compliance is delegated entirely to Stripe
- Immediate Plan Changes: Upgrading or downgrading via the Stripe billing portal takes effect instantly; quota limits update when the Stripe webhook is received
- Workspace-Level Isolation: Each workspace has its own subscription and billing state scoped to its
workspaceId, keeping multi-workspace organizations' billing clean and independent - Event-Driven Quota Updates: Stripe webhooks drive quota enforcement - no polling or manual sync required when plans change or payments succeed or fail
- Invoice Access Without Support: Download invoices for any period directly from the Stripe billing portal
Security & Privacy
Card data never touches Instafill.ai servers. PCI compliance is delegated entirely to Stripe - Stripe's tokenization handles card storage and Stripe's infrastructure holds all payment credentials.
All billing data is scoped to workspaceId and protected via the shared JWT authentication middleware running in both the .NET and Python service layers. Only authenticated requests carrying a valid JWT for a given workspace can read or modify that workspace's billing state. Stripe webhook payloads are verified using Stripe's webhook signature before being processed.
Common Questions
What payment methods do you accept?
All major credit and debit cards are accepted, including Visa, Mastercard, American Express, Discover, JCB, and Diners Club. Payment via PayPal is also accepted.
Is my credit card information safe?
Card data never passes through Instafill.ai servers. When you enter payment information in Stripe Checkout, it goes directly to Stripe's infrastructure. Instafill.ai stores only the Stripe token that references your payment method - not the card number, expiry, or CVV.
PCI compliance is delegated entirely to Stripe. Stripe's tokenization handles card storage, and Stripe is PCI DSS Level 1 certified. Instafill.ai does not participate in card data handling and therefore falls outside PCI scope for card storage.
What happens if my payment fails?
When a charge fails, Stripe retries the payment according to its automatic retry schedule and notifies Instafill.ai. The platform receives that event and can restrict workspace access based on configured grace period logic.
To resolve a failed payment, open the billing portal via Settings → Organization → Billing and add or update the payment method on file. Once Stripe successfully charges the updated method, the workspace subscription is restored to full access.
Can I change plans without losing access?
Yes. Plan upgrades and downgrades are managed through the Stripe billing portal, accessible from Settings → Organization → Billing. Quota limits for the workspace update immediately - there is no access interruption during the transition.
How does usage-based billing work?
Plan limits are enforced at the API layer via workspaceId-bound quota checks. Each plan tier defines a completed documents per month limit. Requests that exceed that limit return HTTP 429. See the full breakdown of tiers and document limits on the pricing page.
If you need a higher limit, upgrade via the Stripe billing portal (Settings → Organization → Billing). The new limits apply to your workspace without delay.
Is there a discount for annual billing?
Yes. Switching to annual billing saves 25% compared to monthly pricing across all Business and Max tiers.
Can I pay by invoice instead of credit card?
Invoice billing is available for Enterprise plans. Contact the sales team to configure an Enterprise subscription. For Business and Max tiers, billing is handled through Stripe Checkout using a card or PayPal.
Where can I find my invoices?
Invoices are available in the Stripe billing portal, accessible from Settings → Organization → Billing. Each billing period generates an invoice that can be downloaded from that page. Invoice access requires an authenticated Instafill.ai session; the portal opens scoped to the subscription associated with the current workspace.
Do you charge my card immediately when I sign up?
Yes, for paid plans. When you complete Stripe Checkout, the first charge is processed immediately. The subscription activates when Instafill.ai receives the payment confirmation webhook from Stripe and updates the workspace's quota entitlements.