Skip to main content
Version: 2.0.0

Release Notes

1.4.0 — August 2026

  • Added a subscription analytics section to Stripe → Dashboard (shown once at least one subscription exists): monthly churn rate, dunning recovery rate (30d), a 6-month MRR/new-subscriptions trend chart, a 6-month retention-by-cohort table, an MRR-by-plan breakdown, and a CSV export of all subscriptions. See Developer API for the documented limitations (no dedicated cancellation-timestamp column; dateUpdated is used as a proxy).
  • Restructured Stripe → Settings from a single page into five sections -- General, Credentials, Pricing, Restrictions, Test cards -- matching the shared yStore payment-gateway settings layout. Test cards is now its own section instead of a block on the main page.
  • Migrated Settings from BasePluginSettingsModel to BasePaymentSettingsModel, adding Price, Free Payment Threshold, Tax Rate, Cash rounding, and order-total/cart-weight/store restrictions -- the same pricing and restriction fields every other yStore payment gateway exposes. See Settings and Settings.
  • Restored the Stripe → Payment History pagination controls (Previous/Next, page count) and removed a dead order link in favor of the existing order URL/title fields.
  • yui/craft-plugin moved from a dev-only dependency to a runtime require in composer.json.
  • Added a PHPUnit smoke/unit test harness (composer test, composer test:unit, composer test:coverage).

1.3.0 — July 2026

  • Added a Stripe → Dashboard with revenue KPIs, live Stripe balance, MRR/subscription counts, active dispute count, a 30-day revenue trend chart, and recent transactions/webhook activity.
  • Added a webhook handler (stripe/webhook) that verifies and deduplicates Stripe events, and reconciles order status, subscriptions, and disputes automatically instead of relying only on the customer's checkout-return redirect.
  • Added subscription management: a Stripe → Subscriptions page, cancel/pause/resume actions, automatic sync from webhook events, and a yui-stripe/recurring/sync console command.
  • Added a Stripe → Disputes page for chargebacks, with evidence submission (draft or direct-to-Stripe).
  • Added refund creation (full or partial, with reason) from the order edit page, recorded in yStore's shared refunds table.
  • Added the Stripe Customer Portal: an order-edit Manage in Stripe button and a frontend URL endpoint for customers to manage invoices, payment methods, and (if enabled) subscriptions.
  • Added Buy Now, Pay Later support (Klarna, Afterpay/Clearpay) alongside card payments at checkout.
  • Rewrote the Stripe → Payment History page onto a searchable, sortable table, with card brand/last 4/3D Secure enrichment from the Stripe API.
  • Added three MCP tools (stripe_check_payment, stripe_list_transactions, stripe_summary) so AI agents and automation can inspect payment status, list transactions, and pull a live account summary when yui/craft-mcp is installed.
  • Fixed the CP dashboard to gate on the plugin's own permission rather than a shared one.

1.1.0 — July 2026

  • New plugin UI framework: license management panel, declarative CP navigation, and sectioned settings layout
  • Migrated to the StripeClient v2 API; removed the deprecated payment_method_types parameter
  • Cache is now cleared through the afterSettingsSaved hook (was using a non-existent hook)

Infrastructure

  • Migrated Settings and SettingsController to ycore base classes
  • Extended ycore BaseService and yui\craftcore\base\BasePlugin base classes