intermediate
plugins
billing
stripe

Plugin Billing

How Levy Plugins billing works — one-time charges, monthly subscriptions, usage-based pricing, the 20% platform fee, and Stripe Connect.

Levy Fleets TeamMay 18, 20266 min read

Plugin Billing

Plugin billing is handled end-to-end by Levy through Stripe Connect. Operators see a single charge on their card; Levy automatically splits the revenue between the vendor and Levy, taking a 20% platform fee.

Pricing models

Every plugin declares one of four pricing models in its manifest:

ModelWhen you're chargedExample
FreeNeverSlack, Zapier, Reaction-time test
One-timeOnce, at installSetup fees for self-service plugins
MonthlyEvery month, prorated on the first cycleCaptur.ai ($99/mo), SparkPark ($49/mo), BigQuery export ($199/mo)
UsageMonthly in arrears, based on eventsVeriff (per verification), Persona (per check)

The pricing badge on the marketplace card always shows the entry-level price. The detail page shows the full pricing breakdown.

The 20% platform fee

For every paid plugin, Levy collects a 20% platform fee on the gross amount charged. The remaining 80% is paid out to the vendor via Stripe Connect.

Example: Captur.ai monthly subscription at $99/mo.

Line itemAmount
Operator card charged$99.00
Stripe processing fee-$3.10
Levy platform fee (20% of gross)$19.80
Vendor payout (Captur.ai)$76.10

The platform fee rate is configurable per vendor agreement — marquee partners may negotiate down to 10%, niche vendors may pay up to 30%. The rate is fixed for the lifetime of an install once you've signed up.

Stripe Connect setup

Levy uses Stripe Connect (the same infrastructure that pays out partner fleets for ride revenue). For operators, this is invisible — you see one charge labeled "Levy Plugins" on your card statement, and the split happens behind the scenes.

For vendors, see Developer portal — vendors complete Stripe Connect Express onboarding once and Levy automatically routes their share of every plugin invoice.

Invoices

Each charge generates a plugin_invoice record:

FieldDescription
amount_centsTotal charged to operator
platform_fee_centsLevy's 20% cut
vendor_amount_centsVendor's 80% cut
period_start / period_endBilling period (for monthly / usage)
statuspending, paid, failed, or refunded

Invoices are visible in Dashboard → Settings → Billing → Plugin invoices, downloadable as PDF.

Usage billing

Usage-billed plugins (Veriff, Persona) post usage records back to Levy via the plugin API as events happen. At month-end, Levy:

  1. Aggregates unbilled usage records for the previous month.
  2. Computes total amount = unit_amount * units.
  3. Applies the 20% platform fee.
  4. Creates a Stripe Connect invoice with the vendor as destination.
  5. Charges your card on the next billing cycle.

The monthly billing reconciler runs as a Vercel cron at 02:00 UTC on the 1st of each month. If a charge fails (declined card), the invoice enters failed status and we'll email you and retry on Stripe's standard schedule.

Idempotent reconciliation

The reconciler checks for an existing invoice for the same period before creating a new one, so re-running the cron never double-charges.

Refunds

If a plugin malfunctions and you need a refund:

  1. Contact the vendor first through their support_url (listed on the plugin detail page). They issue the refund through Stripe Connect — both the vendor's portion and Levy's platform fee are returned.
  2. If the vendor is unresponsive after 5 business days, contact Levy support and we'll mediate.

The vendor — not Levy — owns the refund decision because the vendor controls the service being refunded.

Disputes

If you file a chargeback through your bank, Stripe Connect handles the dispute on Levy's behalf. Levy collects evidence from both itself (audit log, webhook delivery history) and the vendor. The platform fee is returned along with the vendor's share if the dispute is lost.

Failed payments

If your card declines on a monthly or usage charge:

  • The invoice enters failed status.
  • Stripe retries on its standard schedule (4 attempts over ~2 weeks).
  • Your plugin stays active during the retry window.
  • If all retries fail, the plugin is disabled but not uninstalled — your config is preserved. Update your payment method in Settings → Billing and we'll retry the charge.

Free-tier limits

Subaccounts on Levy's free plan can install up to two free plugins. Paid plugins are blocked on the free plan; upgrade to install them. Paid plans have no plugin count limit.

What's next