Linux 软件免费装
Banner图

Abovault – SEPA Subscriptions & Dunning for WooCommerce

开发者 famosmedia
更新时间 2026年7月16日 20:36
PHP版本: 8.1 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

woocommerce subscriptions sepa recurring payments dunning

下载

0.1.0

详情介绍:

Abovault adds SEPA Direct Debit subscriptions to WooCommerce. SEPA Direct Debit is offered as a payment method at checkout, renewals are charged automatically off-session, failed payments are handled with a configurable dunning process (payment retries plus reminder emails), and customers who cancel can be sent a retention flow. Subscription data is stored in your own WordPress database. Features How it works
  1. Mark any product as a subscription (interval, period, optional free trial) in the product editor.
  2. At checkout the customer authorises a SEPA mandate (Stripe Elements IBAN field).
  3. An hourly job renews due subscriptions off-session; a Stripe webhook confirms each SEPA charge.
  4. On a failed charge, the dunning cascade + emails run automatically. On cancellation, the retention flow runs.
Requirements Payment data is processed by Stripe (privacy policy and terms). Abovault does not send your subscription data to any third party — it stays on your site.

安装:

  1. Install and activate WooCommerce first.
  2. Upload the Abovault plugin and activate it. Tables and the recurring jobs are created automatically (via Action Scheduler, bundled with WooCommerce).
  3. Go to WooCommerce → Settings → Payments → SEPA Direct Debit and enter your Stripe Publishable Key, Secret Key and Webhook Signing Secret, then enable it.
  4. In Stripe, add a webhook endpoint pointing to https://your-site/wp-json/abovault/v1/stripe-webhook for the events payment_intent.succeeded, payment_intent.payment_failed and setup_intent.succeeded.
  5. If your site is behind Cloudflare, a WAF, a firewall or a security plugin, allow the webhook path. CDNs such as Cloudflare (Bot Fight Mode / WAF) reject server-to-server POST requests with HTTP 403 (error 1010) and will silently drop Stripe's webhooks — SEPA charges then never confirm and dunning misfires. Add an allow/skip rule for the exact path /wp-json/abovault/v1/stripe-webhook (or allowlist Stripe's published IP ranges). Confirm delivery in Stripe → Developers → Webhooks (expect HTTP 200 for a signed request).
  6. Edit a product → Product data → General → tick Subscription product and set the interval / trial.
  7. Configure the grace period, retries and retention under WooCommerce → Abovault.

屏幕截图:

  • Mark any product as a subscription with interval and trial.
  • Dunning, grace period and retention settings.
  • A localized dunning email (German shown).

升级注意事项:

0.1.0 First public release.

常见问题:

Which payment methods are supported?

SEPA Direct Debit via Stripe in this version. The gateway layer is provider-agnostic internally, so additional processors can be added.

Where is my subscription data stored?

In your own WordPress database (wp_abovault_subscriptions and wp_abovault_enrollments). Only the payment itself is handled by Stripe.

How does dunning handle SEPA's delay?

A renewal charge stays pending until Stripe's webhook confirms it. Reminder emails and retries only fire when a payment truly fails, so customers are never chased during normal SEPA settlement.

My Stripe webhooks aren't arriving. What should I check?

Webhooks are how SEPA charges are confirmed, so delivery matters. Make sure the endpoint https://your-site/wp-json/abovault/v1/stripe-webhook is reachable from the public internet and returns HTTP 200 for a signed request. The most common blockers are a firewall, a security plugin, or a CDN/proxy such as Cloudflare (Bot Fight Mode / WAF) rejecting non-browser POST requests. If so, add an allow/skip rule for that path (or Stripe's IP ranges). You can confirm delivery in the Stripe Dashboard under Developers → Webhooks.

Is it GDPR-friendly?

Data sovereignty is a design goal: subscription records never leave your server. You remain the controller; Stripe is your payment processor.

更新日志:

0.1.0