WITHMIA v1.0.7 — Billing & Checkout, Complete
A definitive fix for Flow.cl checkout when the card is already on file, plan synchronisation via API, and a full audit of billing and charges: overage, extra seats and recurring subscriptions verified end to end.
WITHMIA Team
WITHMIA
Note (July 2026): the Business and Enterprise plans are now called Team and Max. Prices are unchanged.
v1.0.6 perfected the login experience. v1.0.7 makes sure everything to do with payments works without a hitch: checkout, subscriptions, overage charges and extra seats.
The problem: a 500 error at checkout when the card was already on file
When someone tried to subscribe and their card was already registered with Flow.cl, the system failed with a 500 error. The worst part: Flow.cl had already charged the customer, but the system couldn’t send them to the success page.
Why it happened
The Flow.cl checkout flow has two steps:
createSubscription()— creates the subscription and charges automatically if the card is already on fileregisterCustomer()— generates the payment URL so the customer can enter their card
The catch: when the card was already registered, createSubscription() charged successfully, but registerCustomer() threw an exception because the customer already existed in Flow.
The fix
registerCustomer() is now wrapped in a try/catch. If it fails (card already on file), the system assumes the payment went through and activates the subscription directly:
- It sets
status = 'active'in the database - It calculates
ends_atbased on the billing cycle (monthly or annual) - It returns
activeto the frontend instead of a redirect URL - The frontend picks that up and shows a success notification with an automatic redirect
Plan synchronisation with Flow.cl
We built the flow:sync-plans Artisan command, which syncs all 6 subscription plans (3 tiers × 2 cycles) straight to the Flow.cl API:
- Pro Monthly: $24.990 CLP
- Pro Annual: $254.990 CLP
- Business Monthly: $44.990 CLP
- Business Annual: $459.990 CLP
- Enterprise Monthly: $149.990 CLP
- Enterprise Annual: $1.529.990 CLP
No more creating plans by hand in the Flow dashboard.
A full audit of the billing system
We verified that every charging flow is correctly implemented and consistent with the pricing page:
Recurring subscriptions ✅
- The Flow.cl webhook confirms payments, renews
ends_atand generates an Invoice - Declined payments are handled (status →
past_dueorcancelled)
AI message overage ✅
- Tracking:
AiUsagerecords messages used per company per month - Limits: Free=500, Pro=2,000, Business=8,000, Enterprise=25,000
- Price: $5.990 CLP per additional 1,000 messages
- Cap: 5,000 extra messages per period, maximum
- Automatic charging: the
ChargeOverageBillingcommand runs monthly - Alerts: warning emails at 90% and 100% of the limit
Extra seats ✅
- Price: $10.500 CLP/month or $107.100 CLP/year per extra member
- One-off payment via Flow.cl or dLocal when inviting from the dashboard
- The webhook creates the invitation, sends the email and increments
max_agents
AI models by plan ✅
- Free: GPT-4o-mini (basic)
- Pro: GPT-4o-mini + GPT-4o
- Business: GPT-4o + Claude
- Enterprise: all of them + fine-tuning
- Automatic smart routing by plan via
getRecommendedModel()
Add-on pricing corrected
We fixed the copy in the team panel that still showed “$9.990/month” (the old price) — it now correctly reads “$10.500/month” and “$107.100/year”, in line with Flow.cl and the landing page.
Consistency verified across the board
The three sources of truth are perfectly in sync:
| Source | Status |
|---|---|
config/billing.php (backend) | ✅ Correct |
SubscriptionPage.tsx (app) | ✅ Correct |
Pricing.tsx (landing page) | ✅ Correct |
| Flow.cl dashboard | ✅ Correct |
v1.0.7 consolidates WITHMIA’s payment infrastructure. Checkout without errors, automatic charges verified, and prices that match everywhere on the platform.
Labels
Comments
Be respectful. Your email will not be published.