WooCommerce Credit Card Skimmers: Detect and Stop Checkout Malware
Learn how a WooCommerce credit card skimmer gets onto your store, the warning signs to watch for, and what to do, including notifying your processor.

Photo: Pixabay
On this page 7 sections
- How a WooCommerce Credit Card Skimmer Gets Into Your Site
- Warning Signs of WooCommerce Checkout Malware
- Why Hosted Card Fields Reduce Your Exposure
- Hardening WordPress Against Card Skimming
- What to Do If Your WooCommerce Store Was Hacked
- PCI Obligations and Processor Notification After a Breach
- Next Steps for Your Store
Key takeaways
- Skimmers usually get in through outdated or nulled plugins, stolen admin logins, or injected fake payment forms, and they often hide from logged-in admins.
- Hosted card fields or a redirect checkout reduce your exposure, but they don't replace script monitoring on your checkout page.
- If you suspect a compromise, preserve evidence, contain the checkout and contact your processor before you start wiping files.
- After a breach, your processor and PCI DSS obligations shape what happens next. Confirm legal duties with a qualified professional.
A WooCommerce credit card skimmer is malicious code that copies card details from your checkout and sends them to a server the attacker controls. The order usually still goes through, so nothing looks wrong on your end. Many store owners only find out when customers report fraud or their processor calls. This guide explains how skimmers get into WordPress and WooCommerce sites and which warning signs to watch for. It also covers how hosted card fields limit your exposure, how to harden your store, and what to do if you've been hit, including when to notify your processor.
How a WooCommerce Credit Card Skimmer Gets Into Your Site
WooCommerce runs on WordPress, so your checkout is only as secure as every plugin, theme, admin account and hosting credential tied to the site. Attackers rarely target WooCommerce core directly. They go after the pieces around it.
Vulnerable, Abandoned or Nulled Plugins and Themes
Most WordPress compromises start with a known vulnerability in a plugin or theme that hasn't been updated. Common examples include form builders, page builders, file managers and slider plugins. Once a flaw is public, automated bots scan for sites still running the vulnerable version.
Nulled plugins are pirated copies of premium plugins. They are a common way skimmers get onto a site because the backdoor ships inside the download. A "free" copy of a paid checkout add-on can cost far more than the license.
Fake Payment Forms Layered Over Your Checkout
Many stores already use a gateway plugin that loads card fields from the processor. Some skimmers work around that by injecting a convincing fake card form on the checkout page. Two patterns are common:
- Overlay forms: The fake form hides the real gateway fields. The shopper enters card details into the attacker's form, and the script then shows the real fields or quietly completes the order.
- "Payment failed, try again" forms: The shopper's first attempt goes into the fake form and triggers a fake error. The second attempt goes through the real gateway, so the sale completes and the shopper rarely suspects anything.
Admin Account Compromise
Stolen or guessed admin passwords give attackers the easiest route of all. With admin access they can install a plugin, edit theme files, add a script through a header/footer plugin, or change a tag manager container. Old admin accounts are a frequent weak point, such as a former developer's login or a shared "admin" username with no multi-factor authentication.
Where the Code Hides
Skimming code is built to avoid notice. Places it commonly turns up on WooCommerce sites include:
- Theme files, especially
functions.php, header and footer templates - The
wp-content/mu-pluginsfolder (must-use plugins don't appear in the normal plugin list) - Database entries such as the
wp_optionstable, widgets and custom HTML blocks - Fake plugin folders with names that look legitimate
- Third-party scripts and tag manager containers loaded on every page
Many skimmers only load on the checkout page. Some also skip visitors who are logged in as admins, so the owner never sees the malicious code while browsing their own store.
What Magecart Means for WooCommerce Stores
"Magecart" is a label security researchers use for web skimming attacks and the groups behind them. The name comes from early attacks on Magento stores, but the same techniques are used against WordPress card skimming targets. If you see "Magecart WooCommerce" in a security alert, it means client-side code is stealing payment data from the browser at checkout.
Warning Signs of WooCommerce Checkout Malware
No single sign proves you have a skimmer. Several together deserve immediate attention.
| Warning sign | What it might mean | Where to check |
|---|---|---|
| Customers report fraud on cards used only at your store | Card data captured at your checkout | Customer emails, support tickets |
| Processor or bank says your store is a possible common point of purchase | Card brands linked fraud back to your site | Processor communications |
| Checkout asks for card details twice or shows an unfamiliar form | Fake payment form injected | Test checkout in a private browser window, logged out |
| Unknown scripts or external domains in checkout page source | Skimmer loader or exfiltration script | Browser developer tools, page source |
| New admin users or plugins you didn't install | Admin compromise | Users and Plugins screens, mu-plugins folder |
| Recently modified core, theme or plugin files | Injected code | Host file manager, file integrity alerts |
| Security plugin or host malware warnings | Known malware signatures | Security plugin logs, hosting dashboard |
Always test your checkout while logged out and in a private browsing window. Many skimmers deliberately hide from logged-in administrators.
Don't confuse skimming with card testing. Card testing is when bots run stolen card numbers through your checkout to see which ones work. It shows up as bursts of small, failed orders rather than theft from real shoppers. Our guide to stopping card testing and fake WooCommerce orders covers that problem separately.
Why Hosted Card Fields Reduce Your Exposure
How your gateway collects card data matters a great deal. WooCommerce payment plugins generally use one of three approaches:
| Integration type | How card data is entered | Exposure on your site |
|---|---|---|
| Merchant-hosted form | Card fields are part of your own page and pass through your server or page scripts | Highest. Any script on the page can read the fields. |
| Hosted fields (iframes) | Card fields load from the gateway inside your checkout page | Lower. Your page scripts can't read inside the iframe. |
| Redirect / hosted payment page | Shopper leaves your site to pay on the gateway's page | Lowest on your site, though the redirect link itself must be protected |
Hosted fields and redirects keep raw card numbers off your server and out of reach of most scripts on your page. They also usually simplify your PCI DSS paperwork. Our article on WooCommerce PCI compliance and choosing the right SAQ explains why.
Hosted fields are not a complete defense, though. As described above, an attacker who can change your checkout page can still inject a fake form on top of the real one. The current version of PCI DSS added specific expectations around managing and monitoring scripts on payment pages. See our breakdown of PCI DSS payment page script rules, and confirm with your processor or QSA how they apply to your setup.
When evaluating payment gateways, ask the provider directly:
- Does the WooCommerce plugin use hosted fields, iframes or a full redirect?
- Is the plugin actively maintained, and how are security updates delivered?
- Which PCI self-assessment questionnaire does this integration typically support?
MannyPay supports WooCommerce payment integration along with gateways such as Authorize.net and NMI. A specialist can walk through which setup fits your store. For a broader checklist, see choosing the best payment gateway for WooCommerce.
3D Secure authentication is worth a word here too. It helps verify that the cardholder is present when a card is used on your checkout, and it can shift liability for certain fraud chargebacks. It does not stop a skimmer from stealing card data on your page.
Hardening WordPress Against Card Skimming
Prevention is cheaper than cleanup. Focus on three areas.
Updates and Plugin Hygiene
- Keep WordPress core, WooCommerce, your theme and all plugins current. Prioritize security releases.
- Delete plugins and themes you don't use. Deactivated plugins can still be exploited if their files remain.
- Buy premium plugins only from the developer or an authorized marketplace. Never install nulled software.
- Review your payment gateway plugin especially closely. Use the official version from your gateway provider.
Admin Access
- Require multi-factor authentication for every admin and shop manager account.
- Give each person their own login, and remove accounts for former staff, agencies and developers.
- Use the lowest role that does the job. Most staff who handle orders don't need Administrator access.
- Limit login attempts, and consider restricting
wp-adminaccess by IP if your team works from fixed locations. - Disable the built-in theme and plugin file editor by setting
DISALLOW_FILE_EDITinwp-config.php. - Protect hosting, SFTP, database and DNS accounts with strong, unique passwords and multi-factor authentication. Attackers don't need WordPress access if they can reach your server.
File and Script Monitoring
- Turn on file integrity monitoring through a reputable security plugin or your host so you're alerted when files change.
- Keep a written inventory of every script that loads on your checkout page and why it's there.
- Consider a Content Security Policy to limit which domains can load scripts and receive data from your checkout.
- Use a web application firewall, either from your host or a dedicated service.
- Keep regular, off-site backups so you have a known-clean version to compare against and restore from.
What to Do If Your WooCommerce Store Was Hacked
If you suspect WooCommerce hacked credit cards on your site, act quickly but in the right order. Wiping everything immediately can destroy the evidence investigators need.
- Contain the checkout. Temporarily disable card payments, put the store in maintenance mode, or switch to a redirect-only payment method while you investigate.
- Preserve evidence. Take a full backup or server snapshot of files and the database as they are now. Download access logs and security plugin logs before they rotate.
- Contact your processor. Call your payment processor or merchant services provider promptly and tell them what you've found. They will tell you what they need and what happens next.
- Bring in qualified help. Use a reputable WordPress malware removal or incident response provider. If your processor requires a forensic investigation, coordinate with them before anyone starts cleaning.
- Remove the malware and the way in. Removing the visible skimmer isn't enough. Find and fix the entry point, whether that's a vulnerable plugin, a compromised admin account or a server credential. Check for backdoors, rogue admin users and mu-plugins.
- Rotate every credential. This includes WordPress users, hosting, SFTP/SSH, database, WordPress salts in
wp-config.php, gateway API keys and webhook secrets. - Rebuild from clean sources where possible. Reinstall core, plugins and themes from official downloads rather than trusting existing files.
- Verify before reopening. Test checkout logged out, review page source for unknown scripts, and keep monitoring closely in the weeks that follow.
Illustrative example: A store owner gets two customer emails in one week about fraudulent charges. Both customers say they only used their card on the owner's site. A logged-out test checkout shows a card form that appears before the normal gateway fields. The owner disables card payments, has the host snapshot the server, and calls the processor before deleting anything.
PCI Obligations and Processor Notification After a Breach
Every merchant that accepts cards agrees, through its merchant agreement, to protect cardholder data and maintain PCI DSS compliance. A suspected breach triggers obligations to your processor and potentially to the card brands.
What your processor may ask for varies by agreement and situation, but commonly includes:
- A description of what happened and when you discovered it
- Details of your WooCommerce setup, gateway integration and hosting
- A forensic investigation by an investigator approved by the card brands, depending on the circumstances
- Updated PCI DSS validation once the issue is fixed
- Changes to your account, such as monitoring or temporary processing restrictions
Costs tied to a breach, such as forensic fees or card-brand assessments, may be passed through to the merchant depending on the merchant agreement. Review your agreement and any cyber insurance policy you hold.
Separately, many states have data breach notification laws that may require you to notify affected customers or regulators. Requirements and timelines differ by state and by the type of data involved. This is general information, not legal advice. Talk to an attorney familiar with data breach law, and with your insurer, before you send customer notices.
Next Steps for Your Store
Skimming attacks succeed when nobody is watching the checkout page. Start this week:
- Run a logged-out test checkout and review the scripts that load.
- Audit admin users and turn on multi-factor authentication.
- Remove unused plugins and confirm your gateway plugin uses hosted fields or a redirect.
- Write down your processor's contact details so you know who to call if something goes wrong.
If you'd like to review how your WooCommerce store accepts cards, MannyPay offers online payment processing with gateway and integration options. Request a free quote and a MannyPay specialist will respond within one business day.
This article is for general educational purposes and is not legal, tax or financial advice. Card network rules and state laws change; confirm current requirements for your business.


