Description
Signifyd has no official WooCommerce integration. It ships supported plugins for
Magento 2, Salesforce Commerce Cloud, and BigCommerce, leaving WooCommerce stores
to build their own. This plugin is that integration, written directly against
Signifyd’s REST API using WordPress’s own HTTP client.
When an eligible order is paid, the plugin builds a case from the order and
submits it to Signifyd for screening. Signifyd returns its risk score and
guarantee decision over a signed webhook, which the plugin verifies and stores on
the order. Staff get a compact panel on the order screen showing the score and
disposition, with buttons to refresh the case, dismiss it, or purchase Signifyd’s
financial guarantee.
Features
- Creates a Signifyd case automatically when an eligible order is paid
- Verifies signed webhooks (HMAC-SHA256) and stores the resulting score and
guarantee disposition on the order - Order-screen panel for staff: view case, refresh, close case, purchase guarantee
- Filterable payment-gateway meta mapping, so the plugin is not tied to one gateway
- Compatible with High-Performance Order Storage (HPOS)
- No bundled SDK and no vendor dependencies; the API client is a few hundred lines
on top of the WordPress HTTP API - API key can live in
wp-config.phpinstead of the database
Choosing which orders get screened
Screening is limited to the payment gateways you select on the settings screen,
so only credit-card orders are sent. You choose whether the case is created on
payment completion or when the order reaches processing status. A filter
(wc_signifyd_order_is_eligible) lets you refine that per order.
What it deliberately does not do
- It never handles card numbers or CVV values. Only risk-signal fields your
gateway has already stored are read: AVS and CVV match results, card BIN, last
four digits, and expiry. - It never writes request or response bodies to logs. Logging goes through the
WooCommerce logger and records order IDs, case IDs, and status codes only. - It never changes order status on its own. A
DECLINEDguarantee stores the
disposition and fires thewc_signifyd_case_updatedaction so each store can
apply its own policy, rather than cancelling orders behind your back.
Which Signifyd API this uses
This plugin calls the Signifyd V2 Cases API. Signifyd’s current documentation
promotes the V3 Decisions API for new integrations, and V2 remains available to
existing teams. Confirm with your Signifyd account team which API version your
credentials are provisioned for before installing.
Extending it
Ten filters and actions are available, covering gateway meta mapping, AVS code
translation, order eligibility, the full case payload, request timeout, and a
post-update action for custom workflow. The full reference lives in
docs/ARCHITECTURE.md in the source repository.
Who maintains this
Choice OMG maintains this plugin. We are a digital marketing and web agency in
Edmonton, Alberta, and we wrote it because a client’s WooCommerce store needed
Signifyd screening that Signifyd does not ship for WooCommerce. It runs in
production on that store against the Moneris gateway.
Setup notes and gateway mapping guidance live at
Choice OMG.
External services
This plugin connects to Signifyd, a third-party fraud-screening service. It is
not usable without a Signifyd account, because screening happens on Signifyd’s
servers rather than in WordPress.
When the plugin contacts Signifyd
- When an eligible order is paid, to create a fraud case.
- When a staff member clicks Refresh, Close Case, or Purchase Guarantee on the
order screen.
Signifyd also sends data to your site, over a signed webhook, when a case is
created, rescored, reviewed, or a guarantee completes.
What is sent
Creating a case transmits the information Signifyd needs to assess risk:
- Order details: order ID, order key, total, currency, creation time, payment
gateway, and transaction ID - Line items: product IDs, names, URLs, images, quantities, and prices
- Customer details: name, email address, phone number, billing address, shipping
address, and the IP address recorded on the order - Account details, for registered customers: username, email, account ID, and
registration date - Payment risk signals: the gateway’s AVS and CVV match results, plus the card
BIN, last four digits, and expiry month and year
Full card numbers and CVV values are never transmitted; the plugin does not have
access to them.
Other calls (refresh, close, guarantee) transmit only the Signifyd case ID.
Service, terms, and privacy policy
- Service: Signifyd
- Terms of service: https://www.signifyd.com/terms/
- Privacy policy: https://www.signifyd.com/privacy/
Because customer personal data is transmitted to a third party, review your own
privacy policy and any applicable data-protection obligations (GDPR, CCPA, PIPEDA
and similar) before enabling this plugin on a live store.
Screenshots




Installation
- Upload the plugin to
wp-content/plugins/riskloom-fraud-screening-for-signifyd/, or install it from the Plugins screen. - Activate it through the Plugins screen. WooCommerce must be active.
- Go to WooCommerce > Settings > Signifyd and enter your Signifyd team API key.
- On the same screen, choose which payment gateways are screened and which order event creates the case.
- Copy the webhook URL shown on that screen into the Signifyd console under Settings > Webhooks, subscribed to at least Case Creation, Case Rescore, Case Review, and Guarantee Completion.
Keeping the API key out of the database
Define it in wp-config.php instead of using the settings field:
define( 'WC_SIGNIFYD_API_KEY', 'your-team-api-key' );
The constant overrides the stored option, and the settings field is shown disabled with a note explaining why.
FAQ
-
Do I need a Signifyd account?
-
Yes. Signifyd performs the screening, so the plugin cannot function without an
account and an API key. See the External services section for what is sent. -
Does this support the Signifyd V3 Decisions API?
-
Not currently. It targets the V2 Cases API, which remains available to existing
Signifyd teams. Porting to V3 would mainly affect the API client. -
Does this store or transmit credit card numbers?
-
No. It reads only the risk-signal fields your payment gateway has already stored
on the order: AVS and CVV match results, card BIN, last four digits, and expiry.
The full card number and the CVV value never pass through the plugin. -
Will it cancel orders that Signifyd declines?
-
No. The plugin stores the score and disposition and fires the
wc_signifyd_case_updated action. Acting on a declined guarantee is left to your
own code or workflow, so the plugin never cancels or holds an order on its own. -
My payment gateway is not Moneris. Will this work?
-
Yes, with a small amount of configuration. The order meta keys the plugin reads
card risk signals from are filterable throughwc_signifyd_gateway_meta_map, and
AVS code translation throughwc_signifyd_avs_map. The defaults target the
WooCommerce Moneris gateway because that is the gateway the plugin has run
against in production. -
Is it compatible with High-Performance Order Storage?
-
Yes. All order access goes through the WooCommerce CRUD API, and the plugin
declares HPOS compatibility. It works with both legacy post storage and HPOS. -
Does purchasing a guarantee cost money?
-
Purchasing a guarantee is billable on your Signifyd account, so the button asks
for confirmation before submitting.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Riskloom Fraud Screening for Signifyd” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Riskloom Fraud Screening for Signifyd” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.3
- Pointed the Plugin URI at the plugin’s page on choice.marketing instead of the GitHub repository.
- Added listing screenshots.
1.2.2
- Renamed the plugin to “Riskloom Fraud Screening for Signifyd” so the name leads with a distinctive term rather than a generic description.
- Removed the
load_plugin_textdomain()call, which WordPress has not needed since 4.6 and this plugin’s minimum of 6.0 can never reach. - Added the plugin owner to the contributor list.
1.2.1
- Renamed the plugin in both admin notices, which still used the pre-1.2.0 name.
- Corrected the Plugin URI capitalisation to match the canonical repository path.
- Regenerated the translation template against the corrected strings.
1.2.0
- Fixed the AVS mapping comment never being saved, which left that line blank in the order panel on every order.
- Fixed the duplicate-case guard being ineffective on sites with a persistent object cache, where it could allow two Signifyd cases to be created for one order.
- Stopped writing Signifyd error-response bodies into the WooCommerce log; only the HTTP status code is recorded now.
- Renamed the plugin for WordPress.org directory compliance. Internal hooks, options, and the webhook URL are unchanged.
- Added a translation template, documented every function and class, and added architecture and contributor documentation.
- Refreshed compatibility: tested against WordPress 7.0 and WooCommerce 11.0.
1.1.0
- Removed the bundled SDK in favor of the WordPress HTTP API
- HPOS compatibility
- Filterable gateway meta map and AVS map
- Added WooCommerce settings tab and Purchase Guarantee button
1.0.0
- Initial internal version
