Subscriptions with SEPA payments
-
Hi, we are running a recurring subscription based news site, and we are currently accepting SEPA payments. One scenario we would like to modify is:
- A customer purchases a subscription using SEPA payments, we made it so the subscription is immediately active.
- The customer cancels their subscription shortly after, but the payment in on the way.
- The subscription status is immediately set to ‘cancelled’, and the customer is not able to access paid content anymore.
The desired outcome would be the subscription status to be set to ‘pending-cancel’ instead of ‘cancelled’, so that the customer would still have access to paid content, since we are assuming the payment will be completed a few days later. For this we need the SEPA payment method to support ‘subscription_cancellation’.
-
This topic was modified 2 years, 11 months ago by
bogdanarizancu.
-
This topic was modified 2 years, 11 months ago by
bogdanarizancu.
-
Hello,
May I ask how are you managing the subscriptions, is this made via plugin?
To take a better look, could you please share a copy of your site’s
System Status
? You can find it viaWooCommerce > Status
. Select “Get system report” and then “Copy for support”.Let us know, thanks.
This is happening with the WooCommerce Subscriptions plugin.
It seems like the Stripe plugin supports the subscription cancellation, but only for the credit card method thus far. The SEPA / direct debit method does not seem to use the trait for subscriptions.
https://github.com/woocommerce/woocommerce-gateway-stripe/search?q=subscription_cancellation
Wondering whether you would just need to add the trait to the direct debit class in the Stripe plugin?
-
This reply was modified 2 years, 11 months ago by
sun. Reason: Added technical details
Please find the System Status below:
### WordPress Environment ###
WordPress address (URL): https://service.bnn.de
Site address (URL): https://service.bnn.de
WC Version: 5.8.0
REST API Version: ✔ 5.8.0
WC Blocks Version: ✔ 5.9.1
Action Scheduler Version: ✔ 3.3.0
WC Admin Version: ✔ 2.7.2
Log Directory Writable: ✔
WP Version: ❌ 5.8.1 – There is a newer version of WordPress available (5.9)
WP Multisite: –
WP Memory Limit: 1 GB
WP Debug Mode: –
WP Cron: –
Language: de_DE_formal
External object cache: –### Server Environment ###
Server Info: Apache
PHP Version: 7.4.27
PHP Post Max Size: 512 MB
PHP Time Limit: 300
PHP Max Input Vars: 10000
cURL Version: 7.68.0
OpenSSL/1.1.1fSUHOSIN Installed: –
MySQL Version: 5.7.37
Max Upload Size: 512 MB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ✔
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔### Database ###
WC Database Version: 5.6.0
WC Database Prefix: wp_
Total Database Size: 1071.20MB
Database Data Size: 648.00MB
Database Index Size: 423.20MB
wp_woocommerce_sessions: Data: 2.06MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_downloadable_product_permissions: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_order_items: Data: 3.52MB + Index: 1.52MB + Engine InnoDB
wp_woocommerce_order_itemmeta: Data: 31.56MB + Index: 21.06MB + Engine InnoDB
wp_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB
wp_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_woocommerce_payment_tokens: Data: 0.06MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_payment_tokenmeta: Data: 0.09MB + Index: 0.09MB + Engine InnoDB
wp_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_actions: Data: 6.06MB + Index: 8.31MB + Engine InnoDB
wp_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_actionscheduler_logs: Data: 4.52MB + Index: 3.03MB + Engine InnoDB
wp_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_comments: Data: 11.52MB + Index: 10.09MB + Engine InnoDB
wp_email_customizer_plus_templates: Data: 1.52MB + Index: 0.00MB + Engine InnoDB
wp_gf_addon_feed: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_gf_draft_submissions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_gf_entry: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_gf_entry_meta: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_gf_entry_notes: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_gf_form: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_gf_form_meta: Data: 4.52MB + Index: 0.00MB + Engine InnoDB
wp_gf_form_revisions: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_gf_form_view: Data: 1.52MB + Index: 0.36MB + Engine InnoDB
wp_gf_rest_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_mailchimp_carts: Data: 0.05MB + Index: 0.00MB + Engine InnoDB
wp_mailchimp_jobs: Data: 0.09MB + Index: 0.00MB + Engine InnoDB
wp_options: Data: 20.41MB + Index: 0.27MB + Engine InnoDB
wp_postexpirator_debug: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_postmeta: Data: 110.64MB + Index: 119.78MB + Engine InnoDB
wp_posts: Data: 182.58MB + Index: 16.61MB + Engine InnoDB
wp_realmedialibrary: Data: 0.02MB + Index: 0.05MB + Engine InnoDB
wp_realmedialibrary_debug: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_realmedialibrary_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_realmedialibrary_order: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_realmedialibrary_posts: Data: 0.05MB + Index: 0.03MB + Engine InnoDB
wp_realmedialibrary_resetnames: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_realmedialibrary_tmp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_terms: Data: 0.30MB + Index: 0.28MB + Engine InnoDB
wp_term_relationships: Data: 0.11MB + Index: 0.06MB + Engine InnoDB
wp_term_taxonomy: Data: 0.27MB + Index: 0.28MB + Engine InnoDB
wp_usermeta: Data: 221.75MB + Index: 214.02MB + Engine InnoDB
wp_users: Data: 7.52MB + Index: 7.55MB + Engine InnoDB
wp_wcs_payment_retries: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_admin_notes: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_admin_note_actions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_customer_lookup: Data: 0.47MB + Index: 0.28MB + Engine InnoDB
wp_wc_cvo_cache: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_wc_order_product_lookup: Data: 0.50MB + Index: 0.48MB + Engine InnoDB
wp_wc_order_stats: Data: 0.44MB + Index: 0.41MB + Engine InnoDB
wp_wc_order_tax_lookup: Data: 0.16MB + Index: 0.16MB + Engine InnoDB
wp_wc_product_meta_lookup: Data: 0.02MB + Index: 0.09MB + Engine InnoDB
wp_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_woocommerce_exported_csv_items: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_wpmelon_advbedit_temp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB
wp_yoast_indexable: Data: 33.56MB + Index: 16.58MB + Engine InnoDB
wp_yoast_indexable_hierarchy: Data: 0.36MB + Index: 0.42MB + Engine InnoDB
wp_yoast_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB
wp_yoast_primary_term: Data: 0.02MB + Index: 0.03MB + Engine InnoDB
wp_yoast_prominent_words: Data: 0.08MB + Index: 0.16MB + Engine InnoDB
wp_yoast_seo_links: Data: 0.42MB + Index: 0.27MB + Engine InnoDB
wp_yoast_seo_meta: Data: 0.41MB + Index: 0.00MB + Engine InnoDB### Post Type Counts ###
attachment: 502
nav_menu_item: 6
notification: 22
oembed_cache: 15
page: 433
placement: 1
post: 4
product: 55
revision: 13560
saswp: 1
shop_coupon: 53
shop_order: 11036
shop_order_refund: 76
shop_subscription: 22149
wp_block: 48
wprss_feed: 3### Security ###
Secure connection (HTTPS): ✔
Hide errors from visitors: ✔### Active Plugins (47) ###
Gravity Perks: by Gravity Wiz – 2.2.7
Gravity Forms: by Gravity Forms – 2.5.12
Advanced Custom Fields: Restrict Color Picker Options: by Vital – 1.3.1
Advanced Custom Fields PRO: by Delicious Brains – 5.10.2
Card Grid: by netzstrategen – 1.0.0
CoCo | netzstrategen cookie consent and cookie notice plugin: by netzstrategen – 1.2.0
Core Standards: by netzstrategen – 2.3.0
Custom: by Daniel F. Kudwien (sun) – 1.0.0
Disable Emojis (GDPR friendly): by Ryan Hellyer – 1.7.3
Email Verification for WooCommerce Pro: by WPFactory – 2.2.1
Enable Media Replace: by ShortPixel – 3.6.0
Envato Market: by Envato – 2.0.6
Gravity Forms – Uploads as Attachments: by Elegant Modules – 1.3.0
Gravity Forms All Fields Template: by Gravity Wiz – 0.9.8
GP Disable Entry Creation: by Gravity Wiz
Richard Wawrzyniak – 2.0GP Limit Dates: by Gravity Wiz – 1.1.6
Gravity Forms Event Tracking: by Ronald Huereca – 2.4.10
Gravity Forms IBAN: by Admium and Jeroen Schmit
Slim & Dapper – 1.0Gravity Forms Mailchimp Add-On: by Gravity Forms – 5.0
GP Conditional Logic Dates: by Gravity Wiz – 1.1
Language Fallback: by Bernhard Kau – 1.0.5
Mailchimp for WooCommerce: by Mailchimp – 2.5.3
Map Block for Google Maps: by WebFactory Ltd – 1.32
Optimus: by KeyCDN – 1.6.1
Post Expirator: by PublishPress – 2.6.0
Post Snippets: by Postsnippets – 3.1.3
Publishing Importer: by Daniel F. Kudwien (sun) – 1.3.2
Real Media Library: by devowl.io – 4.16.1
Schema & Structured Data for WP & AMP: by Magazine3 – 1.9.85
Shop Analytics: by netzstrategen – 1.11.5
Timber: by Jared Novack + Upstatement – 1.19.0
Two Factor Authentication (Premium): by David Anderson
original plugin by Oskar Hane and enhanced by Dee Nutbourne – 1.10.4User Role Editor: by Vladimir Garagulya – 4.60.2
Varnish Cache: by netzstrategen – 1.0.0
WooCommerce Catalog Visibility Options: by Lucas Stark – 3.2.17
WooCommerce Email Customizer Plus: by Flycart – 1.2.4
Woocoomerce Extra Price Fields: by Webholics – 2.0
WooCommerce Stripe Gateway: by WooCommerce – 5.6.2
WooCommerce Permalink Structure: by Daniel F. Kudwien (sun) – 1.1.3
WooCommerce Product Archive Customiser: by jameskoster – 1.0.5
WooCommerce Sequential Order Numbers Pro: by SkyVerge – 1.18.0 (update to version 1.18.1 is available)
WooCommerce Sequential Subscription Numbers: by SkyVerge / netzstrategen – 1.17.0
WooCommerce Subscriptions: by WooCommerce – 3.1.6 (update to version 4.0.2 is available)
WooCommerce: by Automattic – 5.8.0 (update to version 6.2.0 is available)
Yoast SEO Premium: by Team Yoast – 17.3
Yoast SEO: by Team Yoast – 17.3
WP User Avatar: by ProfilePress – 2.2.11### Inactive Plugins (1) ###
PayPal Plus for WooCommerce: by Angell EYE – 1.2.8
### Must Use Plugins (6) ###
bnn.de Proxy Request Port Handler: by netzstrategen – 1.0.0
Disable external emails: by netzstrategen –
Disable __trashed slug suffix: by netzstrategen – 1.0.0
Ensure parent page options: by netzstrategen – 1.0.0
MailChimp audience by environment: by netzstrategen – 1.0.0
Notify customer service on customer email address change: by netzstrategen – 1.0.0### Settings ###
API Enabled: ✔
Force SSL: –
Currency: EUR (€)
Currency Position: right_space
Thousand Separator: .
Decimal Separator: ,
Number of Decimals: 2
Taxonomies: Product Types: external (external)
grouped (grouped)
simple (simple)
subscription (subscription)
variable (variable)
variables abonnement (variables-abonnement)Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)
rated-5 (rated-5-2)Connected to WooCommerce.com: ✔
### WC Pages ###
Shop base: #649847 – /abo
Cart: ❌ Page not set
Checkout: #610868 – /kasse
My account: #593428 – /user
Terms and conditions: #607701 – /agb-bnnplus### Theme ###
Name: BNN Shop
Version: 1.0.0 (update to version 1.02 is available)
Author URL:
Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ✔### Templates ###
Archive Template: Your theme has a woocommerce.php file
you will not be able to override the woocommerce/archive-product.php custom template since woocommerce.php has priority over archive-product.php. This is intended to prevent display issues.Overrides: shop/woocommerce/myaccount/dashboard.php
shop/woocommerce/myaccount/form-edit-account.php
shop/woocommerce/myaccount/form-login.php
shop/woocommerce/myaccount/form-lost-password.php
shop/woocommerce/myaccount/form-reset-password.php
shop/woocommerce/myaccount/lost-password-confirmation.php
shop/woocommerce/notices/error.php
shop/woocommerce/notices/notice.php
shop/woocommerce/notices/success.php### Subscriptions ###
WCS_DEBUG: ✔ No
Subscriptions Mode: ✔ Live
Subscriptions Live URL: https://service.bnn.de
Subscriptions Template Theme Overrides: shop/woocommerce/myaccount/my-subscriptions.php
Subscription Statuses: wc-active: 12290
wc-expired: 125
wc-pending-cancel: 81
wc-pending: 131
wc-on-hold: 69
wc-cancelled: 9453WooCommerce Account Connected: ✔ Yes
Active Product Key: ✔ Yes
Custom Retry Rules: ✔ No
Custom Retry Rule Class: ✔ No
Custom Raw Retry Rule: ✔ No
Custom Retry Rule: ✔ No
Retries Migration Status: ✔ Completed
Report Cache Enabled: ✔ Yes
Cache Update Failures: ✔ 0 failure### Store Setup ###
Country / State: Germany
### Subscriptions by Payment Gateway ###
PayPal Standard: wc-active: 624
wc-cancelled: 931
wc-expired: 69
wc-on-hold: 12
wc-pending: 131
wc-pending-cancel: 51Stripe: wc-active: 189
wc-cancelled: 112
wc-expired: 25
wc-on-hold: 3
wc-pending-cancel: 14Stripe SEPA Direct Debit: wc-active: 255
wc-cancelled: 275
wc-expired: 29
wc-on-hold: 54
wc-pending-cancel: 16### Payment Gateway Support ###
PayPal Standard: subscriptions
gateway_scheduled_payments
subscription_payment_method_change_customer
subscription_cancellation
subscription_suspension
subscription_reactivation
products
refundsPayPal Reference Transactions Enabled: ❌ No
Stripe: products
refunds
tokenization
add_payment_method
pre-orders
subscriptions
subscription_cancellation
subscription_suspension
subscription_reactivation
subscription_amount_changes
subscription_date_changes
subscription_payment_method_change
subscription_payment_method_change_customer
subscription_payment_method_change_admin
multiple_subscriptionsStripe SEPA Direct Debit: products
refunds
tokenization
add_payment_method
pre-orders
subscriptions
subscription_cancellation
subscription_suspension
subscription_reactivation
subscription_amount_changes
subscription_date_changes
subscription_payment_method_change
subscription_payment_method_change_customer
subscription_payment_method_change_admin
multiple_subscriptions### Action Scheduler ###
Complete: 15,399
Oldest: 2022-01-18 07:55:01 +0100
Newest: 2022-02-16 08:56:32 +0100Failed: 1
Oldest: 2021-03-29 08:39:10 +0200
Newest: 2021-03-29 08:39:10 +0200Pending: 1,516
Oldest: 2022-02-16 08:59:49 +0100
Newest: 2023-02-09 18:03:24 +0100### Status report information ###
Generated at: 2022-02-16 08:59:54 +01:00
We are handling subscriptions with: https://woocommerce.com/products/woocommerce-subscriptions/
Hello @bogdanarizancu
`Hi, we are running a recurring subscription based news site, and we are currently accepting SEPA payments. One scenario we would like to modify is:
A customer purchases a subscription using SEPA payments, we made it so the subscription is immediately active.
The customer cancels their subscription shortly after, but the payment in on the way.
The subscription status is immediately set to ‘cancelled’, and the customer is not able to access paid content anymore.The desired outcome would be the subscription status to be set to ‘pending-cancel’ instead of ‘cancelled’, so that the customer would still have access to paid content, since we are assuming the payment will be completed a few days later. For this we need the SEPA payment method to support ‘subscription_cancellation’.`
Thank you for sharing your System Status Report. I noticed that your site is running outdated versions of WooCommerce and WooCommerce Subscriptions, so you may want to update your site.
Regarding the status of the subscription when a customer cancels the subscription, the subscription status should actually be set to Pending Cancellation by default. Take a look here: https://woocommerce.com/document/subscriptions/statuses/#section-5
Your question implies that you’ve made some customizations to how subscriptions are handled. Could those modifications have changed the default behavior?
Thank you for your reply, we will update and get back with the result.
Sounds like a plan. Let us know how it goes.
The problem still exists after updating all plugins to the latest versions.
A subscription paid with SEPA / direct debit is immediately moved to cancelled instead of pending-cancellation.
Hello @tha_sun and @bogdanarizancu
Thanks for the update.
Can you please open a ticket using our ticket system here to investigate this further?
https://woocommerce.com/my-account/create-a-ticket/
Please include a link to this thread so we can know what steps where taken.
-
This reply was modified 2 years, 11 months ago by
- The topic ‘Subscriptions with SEPA payments’ is closed to new replies.