Troubleshooting


Frequently asked questions

↑ Back to top

Q: Customers are not receiving notification emails

↑ Back to top

Check in this order:

  1. Is the plugin enabled?
    Go to WooCommerce → Settings → Token Expiry and confirm Enable notifications is on.
  2. Is today a notification day?
    The plugin only sends emails on the configured Notification day. Open the settings and check the value. There is no manual “run now” button — the check runs automatically once per day at the configured Notification time; wait for that time or adjust the day/time and check again after it passes.
  3. Has the email already been sent this month?
    Check WooCommerce → Token Expiry (Notification History). If a record already exists for this customer and card for the current month, the plugin will not send a duplicate. This is by design.
  4. Is Action Scheduler running?
    Go to WooCommerce → Status → Scheduled Actions, search for saai_ten4wc_token_expiry_check, and check its status. If it is Pending, it has not run yet. If it is Failed, click on it to see the error message.
  5. Is your WordPress cron working?
    Action Scheduler depends on WordPress cron. If your server does not receive web traffic regularly (e.g., a development environment), add a real cron job:
  6. Is your mail server configured?
    Send a test email from the Settings page. If it does not arrive, the issue is with your WordPress mail configuration, not the plugin. Install a transactional email plugin (such as WP Mail SMTP) and connect it to an SMTP service.

Q: No tokens are detected (Notification History shows 0 expiring tokens)

↑ Back to top

Possible causes:

  • No customers have saved payment tokens in WooCommerce. Saved tokens appear under WooCommerce → Customers → [Customer] → Payment Tokens, or in the woocommerce_payment_tokens database table.
  • The payment gateway stores tokens outside WooCommerce’s token system. This plugin can only read tokens registered via the WC_Payment_Token API.
  • No tokens are expiring in the monitored month. The Notification History tab shows an expiry count for the current and next month — as a WooCommerce Analytics report if Analytics is available, or an inline summary otherwise.

Q: Customers are receiving duplicate emails

↑ Back to top

This should not happen under normal operation — the plugin records each sent notification and checks for duplicates before sending. If duplicates are occurring:

  1. Check Notification History for multiple records for the same user/card/month combination.
  2. If duplicates exist, it may indicate Action Scheduler processed the same action twice. This can happen if you deactivated and reactivated the plugin while a check was in progress. The duplicate protection covers same-month duplicates but not within-seconds retriggers.
  3. Check the Action Scheduler log (WooCommerce → Status → Scheduled Actions) for any failed or retried saai_ten4wc_send_notification actions.

Q: The notification history table is growing very large

↑ Back to top

Enable Automatic history cleanup in Settings → History Settings and set a Retention period in months. The cleanup runs automatically during the daily check and removes records older than the configured period.


Q: The “Notification day” I set does not seem to trigger

↑ Back to top
  • Confirm that your Notification time has already passed today. The check runs once per day at the configured time.
  • The maximum notification day is 23. Values above 23 are clamped to 23 to ensure the notification fires every month including February.
  • If Action Scheduler is paused or slow (e.g., another plugin is flooding the queue), the check may run late.

Q: The Payment Token Info meta box is not showing on the order edit screen

↑ Back to top
  • Go to Settings → Order Settings and enable Show payment token info on order edit page.
  • The meta box doesn’t depend on the order having a token: it shows every saved card for the order’s customer, or a “no saved payment tokens” message if the customer has none. If the box isn’t there at all, the setting above is the most likely cause.
  • On HPOS-enabled stores, the meta box appears on the new order editor. On classic stores, it appears on the WP post editor for shop_order.

Q: How do I manually trigger a notification check?

↑ Back to top

There is currently no button to run the check on demand — it runs automatically once per day at the configured Notification time. To have it run sooner, change the Notification day to today and the Notification time to a few minutes from now, save, and wait for it to fire; you can confirm it ran via WooCommerce → Status → Scheduled Actions (saai_ten4wc_token_expiry_check).

Note: Duplicate protection still applies — if notifications were already sent this month for a card, they will not be sent again.


Q: Can I send notifications for tokens that expire this month, not next month?

↑ Back to top

Yes. Change Notification timing to Expiry month or Both. See Settings Reference → Notification timing for details.


Q: Does the plugin work with WooCommerce Subscriptions?

↑ Back to top

Yes. The plugin works at the token level, not the subscription level. It notifies customers whenever a saved token is expiring, regardless of whether that token is linked to a subscription. If you use WooCommerce Subscriptions, we recommend:

  • Setting Notification timing to Both for two notification touchpoints.
  • Enabling the subscription edit screen meta box so support staff can see token info.

Q: What happens if a customer updates their card after receiving a notification?

↑ Back to top

Nothing special — the plugin does not detect card updates. If a customer adds a new card to their account, the old (expiring) token still exists in WooCommerce until it is deleted. The plugin will stop notifying about that token once its expiry date has passed.

The Reminder after (days) setting sends a second email a fixed number of days after the first, regardless of whether the customer already updated their card — it is not conditional on inaction. Keep this in mind if you don’t want customers who already acted to receive a follow-up.


Test email not received

↑ Back to top
  1. Click Send test email in Settings → Email Settings.
  2. If nothing arrives within 5 minutes, check the WordPress debug log (wp-content/debug.log) for mail errors.
  3. Common causes:
    • Shared hosting blocking outbound SMTP on port 25
    • Email flagged as spam (check spam/junk folder)
    • No From address configured in WordPress
  4. Install WP Mail SMTP and connect to a transactional mail provider (SendGrid, Mailgun, Amazon SES, Postmark) to resolve delivery issues.

Reading the debug log

↑ Back to top

Enable WordPress debug logging by adding to wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

The plugin does not currently write to a dedicated WooCommerce log source. For diagnosing scheduling issues, WooCommerce → Status → Scheduled Actions (filter by group saai-ten4wc) is the most useful place to check.


Getting help

↑ Back to top

If you have checked all the above and the issue persists, open a support ticket at WooCommerce.com and include:

  • Your WordPress and WooCommerce versions
  • The plugin version (visible in Plugins list)
  • A copy of the relevant WooCommerce log entries (source: saai-ten4wc)
  • A screenshot of your current settings
  • A description of the expected behavior vs. what actually happened
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.