{"id":200048,"date":"2025-09-13T18:51:27","date_gmt":"2025-09-13T18:51:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/autify-digital-ltd-lloyds-cardnet-gateway\/"},"modified":"2026-06-02T12:00:39","modified_gmt":"2026-06-02T12:00:39","slug":"autifydigital-lloyds-cardnet","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/autifydigital-lloyds-cardnet\/","author":23085217,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.13","stable_tag":"3.0.13","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Autify Digital Lloyds\u00ae Gateway","header_author":"Autify Digital Ltd","header_description":"Autify Digital Ltd Lloyds Cardnet Gateway","assets_banners_color":"","last_updated":"2026-06-02 12:00:39","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/autify.co.uk\/","header_plugin_uri":"https:\/\/www.autify.co.uk\/product\/lloyds-bank-cardnet-lbop-woocommerce-integration\/","header_author_uri":"https:\/\/autify.co.uk\/","rating":0,"author_block_rating":0,"active_installs":100,"downloads":1860,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.0.10":{"tag":"3.0.10","author":"supportautify","date":"2026-02-23 08:17:47"},"3.0.11":{"tag":"3.0.11","author":"supportautify","date":"2026-03-11 21:16:19"},"3.0.12":{"tag":"3.0.12","author":"supportautify","date":"2026-03-24 09:16:03"},"3.0.13":{"tag":"3.0.13","author":"supportautify","date":"2026-06-02 12:00:39"},"3.0.5":{"tag":"3.0.5","author":"supportautify","date":"2025-10-15 05:48:44"},"3.0.6":{"tag":"3.0.6","author":"supportautify","date":"2025-11-18 09:26:20"},"3.0.7":{"tag":"3.0.7","author":"supportautify","date":"2026-01-02 11:50:53"},"3.0.8":{"tag":"3.0.8","author":"supportautify","date":"2026-01-29 06:17:16"},"3.0.9":{"tag":"3.0.9","author":"supportautify","date":"2026-01-29 06:18:43"}},"upgrade_notice":{"":"<p>No upgrade notice for now<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3472430,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3472430,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.10","3.0.11","3.0.12","3.0.13","3.0.5","3.0.6","3.0.7","3.0.8","3.0.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3378596,"resolution":"1","location":"assets","locale":"","width":2560,"height":1474},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3378596,"resolution":"2","location":"assets","locale":"","width":2560,"height":1474},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3378596,"resolution":"3","location":"assets","locale":"","width":2560,"height":1564},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3378596,"resolution":"4","location":"assets","locale":"","width":2560,"height":1564},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3378596,"resolution":"5","location":"assets","locale":"","width":2560,"height":1474},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3378596,"resolution":"6","location":"assets","locale":"","width":2560,"height":1316},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3378596,"resolution":"7","location":"assets","locale":"","width":2270,"height":1630}},"screenshots":{"1":"Plugin Settings - Configure your Lloyds Bank Cardnet payment gateway with Store ID, API credentials, and payment mode selection.","2":"Payment Failed Page - Clear error messaging when a payment is declined, allowing customers to retry with alternative payment methods.","3":"Order Management - View and manage orders with complete transaction details including payment reference and customer information.","4":"Refund Processing - Process full or partial refunds directly from the WooCommerce order page with automatic gateway integration.","5":"Order Confirmation - Customer order received page showing successful transaction completion with order details.","6":"Transaction Reports - Comprehensive transaction reporting dashboard showing payment status, order IDs, and transaction history.","7":"Checkout Experience - Embedded payment form (Payment.JS) integrated directly into the WooCommerce checkout page with card details input and Google Pay option."}},"plugin_section":[],"plugin_tags":[1887,286],"plugin_category":[45],"plugin_contributors":[253164],"plugin_business_model":[],"class_list":["post-200048","plugin","type-plugin","status-publish","hentry","plugin_tags-payments","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-supportautify","plugin_committers-supportautify"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/icon-128x128.jpg?rev=3472430","icon_2x":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/icon-256x256.jpg?rev=3472430","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-1.png?rev=3378596","caption":"Plugin Settings - Configure your Lloyds Bank Cardnet payment gateway with Store ID, API credentials, and payment mode selection."},{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-2.png?rev=3378596","caption":"Payment Failed Page - Clear error messaging when a payment is declined, allowing customers to retry with alternative payment methods."},{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-3.png?rev=3378596","caption":"Order Management - View and manage orders with complete transaction details including payment reference and customer information."},{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-4.png?rev=3378596","caption":"Refund Processing - Process full or partial refunds directly from the WooCommerce order page with automatic gateway integration."},{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-5.png?rev=3378596","caption":"Order Confirmation - Customer order received page showing successful transaction completion with order details."},{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-6.png?rev=3378596","caption":"Transaction Reports - Comprehensive transaction reporting dashboard showing payment status, order IDs, and transaction history."},{"src":"https:\/\/ps.w.org\/autifydigital-lloyds-cardnet\/assets\/screenshot-7.png?rev=3378596","caption":"Checkout Experience - Embedded payment form (Payment.JS) integrated directly into the WooCommerce checkout page with card details input and Google Pay option."}],"raw_content":"<!--section=description-->\n<p>Connect your WooCommerce store to Lloyds Bank Cardnet with this secure payment gateway plugin. Offer your customers a reliable and seamless way to pay using Visa, Mastercard, American Express, and digital wallets directly from your online store, with real-time processing and flexible configuration options to suit your business needs.<\/p>\n\n<h4>What is Lloyds Bank Cardnet?<\/h4>\n\n<p>Lloyds Bank Cardnet is a secure payment solution that enables businesses to accept a variety of payment methods, including credit and debit cards, Apple Pay, and Google Pay, through their WooCommerce store. This integration seamlessly enhances transaction efficiency and improves customer experience by offering a smooth, uninterrupted payment journey.<\/p>\n\n<h4>How the Plugin Works<\/h4>\n\n<p>The Lloyds Cardnet Gateway plugin for WooCommerce enables your customers to pay securely using their preferred payment method at checkout. Choose between an embedded payment form (Payment.JS) directly on your checkout page or a redirect to the secure Lloyds hosted payment page. Once the transaction is authorised, the payment is confirmed in real time through webhook integration, and order statuses are updated automatically.<\/p>\n\n<p>From your WooCommerce admin panel, you have complete control over the payment experience. Configure payment methods, manage tokenised cards, process refunds, and monitor all transactions through the built-in reporting dashboard. The plugin supports recurring payments for subscription-based products, MOTO transactions for phone\/email orders, and express checkout with Apple Pay and Google Pay on product, cart, and checkout pages.<\/p>\n\n<h4>When to Use This Plugin<\/h4>\n\n<p>This plugin is ideal for any WooCommerce merchant who needs to accept card payments through Lloyds Bank Cardnet. Whether you run an online retail store, offer subscription services, or need to process phone orders, the Lloyds Cardnet Gateway provides a secure, PCI-compliant payment solution that integrates directly into your WooCommerce checkout flow.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Embedded Payment (Payment.JS)<\/strong> \u2014 Seamless checkout with a secure payment form directly on your site using iframes. Card data is handled entirely by Lloyds \u2014 never touches your server.<\/li>\n<li><strong>Hosted Payment Page (HPP)<\/strong> \u2014 Redirect customers to the secure Lloyds hosted payment page for PCI compliance with minimal integration effort.<\/li>\n<li><strong>Apple Pay Support<\/strong> \u2014 Allow customers to pay quickly using Apple Pay on compatible devices and browsers for a fast, native payment experience.<\/li>\n<li><strong>Google Pay Support<\/strong> \u2014 Accept payments via Google Pay for a frictionless checkout experience across Android and Chrome.<\/li>\n<li><strong>Express Checkout<\/strong> \u2014 Display Apple Pay and Google Pay buttons on product, cart, and checkout pages, allowing customers to skip the standard checkout process.<\/li>\n<li><strong>Card Tokenisation<\/strong> \u2014 Allow customers to securely save card details for faster future purchases. Card data is never stored on your server.<\/li>\n<li><strong>Subscription Support<\/strong> \u2014 Set up recurring payments for subscription-based services with automatic renewal processing via card payments.<\/li>\n<li><strong>MOTO Payments<\/strong> \u2014 Process Mail Order\/Telephone Order payments securely from the WooCommerce admin panel.<\/li>\n<li><strong>Refund Management<\/strong> \u2014 Process full or partial refunds directly from the WooCommerce order page with automatic gateway integration.<\/li>\n<li><strong>3D Secure 2 (3DS2)<\/strong> \u2014 Smart authentication with dynamic challenge requirements supporting Strong Customer Authentication (SCA) under PSD2 regulations.<\/li>\n<li><strong>Transaction Reporting<\/strong> \u2014 Comprehensive reporting dashboard with advanced filtering, CSV export, and traffic light verification status indicators.<\/li>\n<li><strong>Real-Time Processing<\/strong> \u2014 Instant payment confirmations and status updates via webhook integration.<\/li>\n<li><strong>Sandbox\/Test Mode<\/strong> \u2014 Test transactions without processing real payments using Lloyds sandbox credentials.<\/li>\n<li><strong>Multi-Currency Support<\/strong> \u2014 Configure multiple currencies and selling locations based on your merchant account capabilities.<\/li>\n<li><strong>WooCommerce Blocks<\/strong> \u2014 Support for both classic and block-based checkout.<\/li>\n<li><strong>HPOS Compatible<\/strong> \u2014 Full support for WooCommerce High-Performance Order Storage.<\/li>\n<li><strong>Dedicated Customer Support<\/strong> \u2014 Reliable installation and post-integration support from Autify Digital.<\/li>\n<\/ul>\n\n<h4>Security &amp; Compliance<\/h4>\n\n<p>The Lloyds Cardnet Gateway plugin uses embedded payment forms and hosted payment pages to ensure the highest level of security for your business and your customers. All sensitive payment information, including credit and debit card details, is handled directly by Lloyds Bank Cardnet's PCI DSS Level 1 certified infrastructure \u2014 never on your WordPress server.<\/p>\n\n<p>This approach means that no customer payment data is entered into, processed by, or stored on your server at any point during the transaction. Your server only receives non-sensitive transaction confirmation data via secure webhook notifications, such as the payment status and reference number. As a result, this integration supports <strong>PCI DSS SAQ A compliance<\/strong>, significantly reducing your compliance obligations and security risks.<\/p>\n\n<p>All API communications are encrypted via HTTPS\/TLS. The plugin supports 3D Secure 2 authentication for Strong Customer Authentication (SCA) compliance under PSD2 regulations.<\/p>\n\n<p>Businesses are responsible for ensuring they are compliant with any necessary financial regulations when using Lloyds Bank Cardnet.<\/p>\n\n<h4>Account &amp; Pricing<\/h4>\n\n<p>A separate Lloyds Bank Cardnet merchant account is required to use this plugin. The account must be set up directly with Lloyds before installing and configuring the plugin \u2014 it is not created during the plugin installation process.<\/p>\n\n<p>To apply for a Lloyds account, visit: <a href=\"https:\/\/www.lloydsbank.com\/business\/take-payments-with-cardnet.html\">Lloyds Bank Cardnet<\/a><\/p>\n\n<p>Additional fees apply for payment processing services provided by Lloyds. These fees are separate from the cost of this plugin and are determined by Lloyds based on your business requirements and transaction volumes. For detailed pricing information, please visit the Lloyds website or contact their sales team directly.<\/p>\n\n<h3>Support<\/h3>\n\n<p>For technical support, customization requests, or general inquiries:\nEmail: cardnet@autify.co.uk\nHelpdesk: https:\/\/support.autify.co.uk\/\nVisit: https:\/\/www.autify.co.uk<\/p>\n\n<p>If you find this plugin useful, please <a href=\"https:\/\/wordpress.org\/support\/plugin\/autifydigital-lloyds-cardnet\/reviews\/#new-post\">leave a review on WordPress.org<\/a> \u2014 it helps us a lot!<\/p>\n\n<p>Please note, Autify Digital cannot assist with the Lloyds account setup process or pricing enquiries. For account-related questions, please contact Lloyds directly through their website.<\/p>\n\n<p><strong>Additional requirements:<\/strong><\/p>\n\n<ul>\n<li>For embedded payments (Payment.JS): REST API Key and API Secret from the Developer Portal, linked to your Store ID by Lloyds Bank.<\/li>\n<li>For Apple Pay: An Apple Developer account with a configured Apple Pay merchant identifier and certificates.<\/li>\n<li>For Google Pay: A Google Pay merchant account (for production use).<\/li>\n<\/ul>\n\n<h4>Customise Your Integration<\/h4>\n\n<p>Looking for something more specific? Get in touch to discuss any custom features or tailored configurations that might enhance your Lloyds Cardnet Gateway integration for WooCommerce. Contact us via cardnet@autify.co.uk.<\/p>\n\n<h4>Trademark<\/h4>\n\n<p>Lloyds and Lloyds Bank are trading names of Lloyds Bank plc. Registered Office: 25 Gresham Street, London EC2V 7HN. Registered in England and Wales no. 2065. Lloyds Bank plc is authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority under registration number 119278. All trademarks, service marks, and trade names referenced in this material are the property of their respective owners.= Support =<\/p>\n\n<p>For technical support, customisation requests, or general inquiries:<\/p>\n\n<ul>\n<li>Email: cardnet@autify.co.uk<\/li>\n<li>Visit: <a href=\"https:\/\/www.autify.co.uk\">autify.co.uk<\/a><\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin relies on the following third-party\/external services to function. By using this plugin, data may be transmitted to these services as described below. Please review the respective terms and privacy policies.<\/p>\n\n<h4>1. Lloyds Cardnet Payment Gateway<\/h4>\n\n<p>Used for processing card payments through the Lloyds Bank Cardnet merchant account.\nData sent: Order details, payment amounts, currency, customer billing\/shipping address, and card transaction data. Sent when a customer initiates a payment.<\/p>\n\n<p>\u2013 Service Link: <a href=\"https:\/\/www.lloydsbank.com\/business\/take-payments-with-cardnet\/existing-customers\/getting-started.html\">Lloyds Cardnet<\/a>\n\u2013 Terms of Use: <a href=\"https:\/\/www.lloydsbank.com\/business\/product-terms-and-conditions.html\">Lloyds Cardnet Terms of Service<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/www.lloydsbank.com\/business\/privacy.html\">Lloyds Cardnet Privacy Policy<\/a><\/p>\n\n<h4>2. First Data \/ Fiserv Payment Processing (IPG Online)<\/h4>\n\n<p>Used for processing hosted payment page (redirect) transactions, Payment JS embedded payments, and refunds via the First Data API.\nData sent: Store ID, API credentials, payment amounts, currency, order reference, card tokens, and refund details. Sent when a customer makes a payment, when a session is initialized for embedded payments, or when a merchant processes a refund.<\/p>\n\n<p>\u2013 API Endpoints:\n  \u2013 Hosted Payment Page (Sandbox): https:\/\/test.ipg-online.com\/connect\/gateway\/processing\n  \u2013 Hosted Payment Page (Production): https:\/\/www.ipg-online.com\/connect\/gateway\/processing\n  \u2013 API (Sandbox): https:\/\/cert.api.firstdata.com\/\n  \u2013 API (Production): https:\/\/prod.api.firstdata.com\/\n\u2013 Terms of Use: <a href=\"https:\/\/www.fiserv.com\/en\/about-fiserv\/terms-of-use.html\">Fiserv Terms of Use<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/www.fiserv.com\/en\/about-fiserv\/privacy-notice.html\">Fiserv Privacy Notice<\/a><\/p>\n\n<h4>3. First Data Payment JS Client Library<\/h4>\n\n<p>A JavaScript library loaded from First Data servers to render the secure embedded payment form (card number, expiry, CVV fields) on the checkout page. The library handles card data directly \u2014 no card details pass through your server.\nData sent: Card details are entered directly into the Payment JS iframe and transmitted to First Data. The plugin receives a payment token in return. The library is loaded when the checkout page renders with the embedded payment method enabled.<\/p>\n\n<p>\u2013 JavaScript (Sandbox): https:\/\/lib.paymentjs.firstdata.com\/uat\/client-2.0.0.js\n\u2013 JavaScript (Production): https:\/\/lib.paymentjs.firstdata.com\/prod\/client-2.0.0.js\n\u2013 Documentation: <a href=\"https:\/\/docs.paymentjs.firstdata.com\/\">Payment JS Documentation<\/a>\n\u2013 Terms of Use: <a href=\"https:\/\/www.fiserv.com\/en\/about-fiserv\/terms-of-use.html\">Fiserv Terms of Use<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/www.fiserv.com\/en\/about-fiserv\/privacy-notice.html\">Fiserv Privacy Notice<\/a><\/p>\n\n<h4>4. Fiserv Checkout Solution<\/h4>\n\n<p>Used as an alternative checkout integration via the Fiserv eCommerce API for payment processing.\nData sent: Store ID, API credentials, order amounts, currency, and checkout configuration. Sent when a customer initiates a payment using the checkout solution method.<\/p>\n\n<p>\u2013 API (Production): https:\/\/prod.emea.api.fiservapps.com\/exp\/v1\/checkouts\n\u2013 API (Sandbox): https:\/\/prod.emea.api.fiservapps.com\/sandbox\/exp\/v1\/checkouts\n\u2013 Terms of Use: <a href=\"https:\/\/www.fiserv.com\/en\/about-fiserv\/terms-of-use.html\">Fiserv Terms of Use<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/www.fiserv.com\/en\/about-fiserv\/privacy-notice.html\">Fiserv Privacy Notice<\/a><\/p>\n\n<h4>5. Apple Pay<\/h4>\n\n<p>Used to enable Apple Pay as an express payment method on product, cart, and checkout pages.\nData sent: The merchant identifier, site domain, and display name are sent to Apple during merchant validation when a customer initiates an Apple Pay payment. Payment and shipping data is then processed through the First Data \/ Fiserv API.<\/p>\n\n<p>\u2013 Service: <a href=\"https:\/\/www.apple.com\/apple-pay\/\">Apple Pay<\/a>\n\u2013 Terms of Use: <a href=\"https:\/\/developer.apple.com\/apple-pay\/terms\/apple-pay-web\/\">Apple Pay Platform Web Merchant Terms<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/www.apple.com\/legal\/privacy\/\">Apple Privacy Policy<\/a><\/p>\n\n<h4>6. Google Pay<\/h4>\n\n<p>Used to enable Google Pay as an express payment method on product, cart, and checkout pages. A JavaScript library is loaded from Google servers to render the Google Pay button and handle the payment flow.\nData sent: Payment token data (encrypted by Google) and customer shipping\/billing details are sent from the Google Pay interface to the plugin, then processed through the First Data \/ Fiserv API. The Google Pay JS library is loaded when the Google Pay payment method is enabled.<\/p>\n\n<p>\u2013 JavaScript: https:\/\/pay.google.com\/gp\/p\/js\/pay.js\n\u2013 Service: <a href=\"https:\/\/pay.google.com\/\">Google Pay<\/a>\n\u2013 Terms of Use: <a href=\"https:\/\/payments.google.com\/payments\/apis-secure\/get_legal_document?ldo=0&amp;ldt=buyertos\">Google Pay Terms of Service<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a><\/p>\n\n<h4>7. Autify Digital License API<\/h4>\n\n<p>Used to validate and manage the plugin license. The plugin contacts Autify Digital's license server to verify that the license key is valid and active.\nData sent: License key, plugin version, site domain, admin email, contact name, and activation status. Data is sent when the license is activated, deactivated, or periodically synced.<\/p>\n\n<p>\u2013 Service: <a href=\"https:\/\/autify.co.uk\/\">Autify Digital<\/a>\n\u2013 API Endpoint: https:\/\/plugin-licenses.autify.co.uk\/wp-json\/autifydigital\/v1\/plugin\n\u2013 Terms of Use: <a href=\"https:\/\/www.autify.co.uk\/terms-conditions\/\">Autify Digital Terms and Conditions<\/a>\n\u2013 Privacy Policy: <a href=\"https:\/\/autify.co.uk\/privacy-policy\/\">Autify Digital Privacy Policy<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to the '\/wp-content\/plugins\/' directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Navigate to WooCommerce &gt; Settings &gt; Payments and enable the Lloyds Cardnet Gateway.<\/li>\n<li>Enter your Lloyds credentials (Store ID, Shared Secret).<\/li>\n<li>For embedded payments, add your REST API Key and API Secret from the Developer Portal.<\/li>\n<li>Configure your payment methods, tokenisation, and notification settings as needed.<\/li>\n<li>Test with sandbox credentials before going live.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20lloyds%20bank%20cardnet%20merchant%20account%3F\"><h3>Do I need a Lloyds Bank Cardnet merchant account?<\/h3><\/dt>\n<dd><p>Yes. A separate Lloyds Bank Cardnet merchant account is required. You must apply directly with Lloyds before installing and configuring the plugin. To apply, visit: <a href=\"https:\/\/www.lloydsbank.com\/business\/take-payments-with-cardnet.html\">Lloyds Bank Cardnet<\/a><\/p><\/dd>\n<dt id=\"is%20customer%20payment%20data%20stored%20on%20my%20server%3F\"><h3>Is customer payment data stored on my server?<\/h3><\/dt>\n<dd><p>No. The plugin uses embedded payment forms and hosted payment pages. All sensitive payment information is handled directly by Lloyds Bank Cardnet's PCI DSS compliant servers \u2014 never on your WordPress website. This supports PCI DSS SAQ A compliance.<\/p><\/dd>\n<dt id=\"what%20payment%20methods%20are%20supported%3F\"><h3>What payment methods are supported?<\/h3><\/dt>\n<dd><p>The plugin supports all major credit and debit cards (Visa, Mastercard, American Express, etc.) via embedded Payment.JS or hosted payment page, plus Apple Pay and Google Pay digital wallets.<\/p><\/dd>\n<dt id=\"can%20i%20offer%20both%20redirect%20and%20embedded%20payment%20options%3F\"><h3>Can I offer both redirect and embedded payment options?<\/h3><\/dt>\n<dd><p>No, you need to choose one payment method \u2014 either the redirect to hosted payment page OR the embedded Payment.JS solution on your checkout page.<\/p><\/dd>\n<dt id=\"can%20i%20process%20refunds%3F\"><h3>Can I process refunds?<\/h3><\/dt>\n<dd><p>Yes. Full or partial refunds can be processed directly from the WooCommerce order management interface.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20subscriptions%3F\"><h3>Does the plugin support subscriptions?<\/h3><\/dt>\n<dd><p>Yes, the plugin supports recurring payments for subscription services. This feature is only available with card payments (not digital wallets).<\/p><\/dd>\n<dt id=\"what%20is%20moto%20payment%20functionality%3F\"><h3>What is MOTO payment functionality?<\/h3><\/dt>\n<dd><p>MOTO (Mail Order\/Telephone Order) allows you to securely process payments taken over the phone or email directly from the WooCommerce admin area.<\/p><\/dd>\n<dt id=\"can%20customers%20save%20their%20card%20details%3F\"><h3>Can customers save their card details?<\/h3><\/dt>\n<dd><p>Yes, through tokenisation, customers can securely save their card details for faster checkout in future purchases. The actual card data is never stored on your server.<\/p><\/dd>\n<dt id=\"what%20credentials%20do%20i%20need%20from%20lloyds%20bank%3F\"><h3>What credentials do I need from Lloyds Bank?<\/h3><\/dt>\n<dd><p>You will need your Store ID and Shared Secret (provided when setting up your merchant account). For embedded payments, you will also need a REST API Key and API Secret from the Developer Portal, linked to your Store ID by Lloyds Bank.<\/p><\/dd>\n<dt id=\"is%20professional%20installation%20available%3F\"><h3>Is professional installation available?<\/h3><\/dt>\n<dd><p>Yes, Autify Digital offers a professional installation service where their technical team will configure the plugin to your requirements.<\/p><\/dd>\n<dt id=\"can%20i%20test%20the%20plugin%20before%20going%20live%3F\"><h3>Can I test the plugin before going live?<\/h3><\/dt>\n<dd><p>Yes, Lloyds Bank Cardnet provides test credentials and a sandbox environment. Configure these in the plugin settings to test transactions without processing real payments.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20support%3F\"><h3>How do I get support?<\/h3><\/dt>\n<dd><p>For technical support, customisation requests, or general inquiries, contact us at cardnet@autify.co.uk or visit <a href=\"https:\/\/www.autify.co.uk\">autify.co.uk<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.13<\/h4>\n\n<ul>\n<li>Fixed - Fatal error when WooPayments is active alongside the plugin, caused by wc_get_checkout_url() being called before WordPress rewrite rules are initialised<\/li>\n<li>Fixed - Failed card payments incorrectly displaying as \"PayPal\" in WooCommerce order details when a previous PayPal attempt was made on the same order<\/li>\n<li>Fixed - Fatal error in updateWcOrderStatus() when order lookup returns false due to reversed condition check<\/li>\n<li>Fixed - Fatal error in Checkout Solution when store ID validation fails due to referencing undefined paymentJsHelper property<\/li>\n<li>Fixed - Fatal error in PaymentJS gateway when an invalid or deleted saved card token is used for payment<\/li>\n<li>Fixed - Fatal error in PaymentJS 3DS status controller when order does not exist, added null check with redirect<\/li>\n<li>Fixed - Fatal error in redirect payment controller when order does not exist, added null check with redirect<\/li>\n<li>Fixed - Redirect payment gateway admin settings were never saved due to missing parent::process_admin_options() call<\/li>\n<li>Fixed - Sensitive data (orderId, purchaseOrderNumber) not being redacted in logs due to case-sensitive key comparison<\/li>\n<li>Fixed - DateTime::setTimestamp() receiving ISO 8601 string instead of integer in 3DS status response, causing TypeError on PHP 8<\/li>\n<li>Fixed - Checkout Solution API signature using incorrect timestamp multiplier (100000 instead of 1000 for milliseconds)<\/li>\n<li>Fixed - 3DS challenge always required for saved card tokens due to $requireChallenge being overwritten unconditionally<\/li>\n<li>Fixed - Missing die() after wp_safe_redirect() in PaymentJS 3DS status controller allowing continued execution<\/li>\n<li>Fixed - Undefined array key warning in 3DS response code lookup when response code is not in the lookup array<\/li>\n<li>Fixed - Session null access fatal error in clear_session_and_delete_client_token() when triggered via admin\/cron\/REST context<\/li>\n<li>Fixed - Null safety checks for WC()-&gt;cart in Apple Pay and Google Pay wallet enqueue scripts<\/li>\n<li>Fixed - Null safety checks for wc_get_product() in Apple Pay and Google Pay product page scripts<\/li>\n<li>Fixed - Missing isset() guards on Google Pay product page merchant_name and merchant_id config values<\/li>\n<li>Fixed - Undefined array key warnings from getAllConfig() and getAllPaymentjsConfig() when plugin settings are not yet configured<\/li>\n<li>Fixed - Missing is_wp_error() check on wp_remote_post() in Checkout Solution payment processing<\/li>\n<li>Fixed - Potential infinite recursion from current_user_can() inside user_has_cap filter callback<\/li>\n<li>Fixed - Product added to cart before validation in wallet express add-to-cart handler<\/li>\n<li>Fixed - License manager class not loaded before calling clear_license_sync_cron() during plugin deactivation<\/li>\n<li>Fixed - Replaced deprecated current_time('timestamp') with time() in unpaid orders cron<\/li>\n<li>Fixed - Inconsistent use of raw $order_number instead of prefixed $autify_lloyds_order_number in redirect form<\/li>\n<li>Fixed - Uncaught exception in PaymentJS authorize session AJAX handler causing 500 error, now returns clean JSON error response<\/li>\n<li>Fixed - Session null access in PaymentJS authorize session when WC()-&gt;session is not initialised<\/li>\n<li>Fixed - Missing isset() guard on live_api_secret in getAllPaymentjsConfig() live mode branch<\/li>\n<li>Fixed - Undefined property access on iframe_received in method notification URL when database has not been migrated<\/li>\n<li>Fixed - Added isset() guards on all getAllConfig() and getAllPaymentjsConfig() array key accesses across the plugin to prevent PHP 8 undefined array key warnings<\/li>\n<li>Fixed - Session null access in saveCard() and save card preference AJAX handler when WC()-&gt;session is not initialised<\/li>\n<\/ul>\n\n<h4>3.0.12<\/h4>\n\n<ul>\n<li>Compliance - Renamed all script, style, and AJAX action handles to use unique \"autify-lloyds-\" prefix to meet WordPress plugin directory naming standards<\/li>\n<li>Compliance - Updated nonce names, transient keys, and lock keys with plugin-specific prefixes to prevent namespace collisions<\/li>\n<li>Compliance - Renamed global JavaScript variables with \"autifyLloyds\" namespace to avoid global scope conflicts<\/li>\n<li>Security - Added nonce verification for Apple Pay and Google Pay payment processing AJAX requests (CSRF protection)<\/li>\n<li>Security - Added recursive sanitisation of webhook data using sanitize_text_field() across all webhook handlers<\/li>\n<li>Security - Added input sanitisation for $_GET parameters in admin pages using sanitize_text_field() and wp_unslash()<\/li>\n<li>Security - Added JSON validation and error checking in PaymentJS webhook handler<\/li>\n<li>Security - Added header value sanitisation in PaymentJS webhook processing<\/li>\n<li>Fixed - Added null-safety checks for wc_get_order() across all payment handlers to prevent fatal errors on missing orders<\/li>\n<li>Fixed - Added isset() guards for AVS\/CVV response fields, cart totals, and shipping address data to prevent undefined index notices<\/li>\n<li>Fixed - Improved JSON decode error handling in Google Pay payment data processing<\/li>\n<li>Fixed - Added proper validation for shipping methods array access and WP_Query availability checks<\/li>\n<li>Improved - Order not found errors now display user-friendly notices and redirect to checkout instead of failing silently<\/li>\n<li>Improved - Improved transaction notification URL validation for incomplete webhook data<\/li>\n<li>Removed - Legacy deleteOldLogFiles() method from Gateway Helper<\/li>\n<li>Updated - CSS file references to use prefixed filenames<\/li>\n<\/ul>\n\n<h4>3.0.11<\/h4>\n\n<ul>\n<li>Compliance - Removed hard-coded \"Powered by\" credit link from public-facing payment form to comply with WordPress plugin directory attribution guidelines<\/li>\n<li>Compliance - Updated External Services section with full disclosure of all third-party services including Terms of Use and Privacy Policy links<\/li>\n<li>Compliance - Added disclosure for Fiserv Checkout Solution, Apple Pay, Google Pay, and Autify Digital License API external services<\/li>\n<li>Compliance - Added Fiserv Terms of Use and Privacy Notice links for First Data \/ IPG Online and Payment JS services<\/li>\n<li>Fixed - Google Pay shipment issues<\/li>\n<\/ul>\n\n<h4>3.0.10<\/h4>\n\n<ul>\n<li>Performance - Removed flush_rewrite_rules from every page load, now only runs on plugin activation\/deactivation<\/li>\n<li>Fixed - WordPress PHPCS compliance improvements<\/li>\n<li>Improved - 3DS flow improvements<\/li>\n<\/ul>\n\n<h4>3.0.9<\/h4>\n\n<ul>\n<li>Added - Configuration to enable or disable subscription<\/li>\n<li>Fixed - Double Subscription Request<\/li>\n<li>Fixed - WordPress PHPCS compliance improvements<\/li>\n<\/ul>\n\n<h4>3.0.8<\/h4>\n\n<ul>\n<li>Fixed - WordPress PHPCS compliance improvements<\/li>\n<li>Fixed - GET method call curl issue for the decline transaction<\/li>\n<\/ul>\n\n<h4>3.0.7<\/h4>\n\n<ul>\n<li>Added - Transaction Reports table with advanced filtering (status, payment method, date range)<\/li>\n<li>Added - CSV export functionality for transaction reports with all filters applied<\/li>\n<li>Added - Full-text search across all transaction columns (Order ID, Amount, Status, Card Details, IPs, etc.)<\/li>\n<li>Added - Transaction summary statistics showing total transactions, amounts, and refunds<\/li>\n<li>Added - Traffic light verification status indicators (CVV, Street, Postcode checks) in reports<\/li>\n<li>Added - Transaction details meta box on WooCommerce order view page with payment and fraud details<\/li>\n<li>Added - Cardnet Status column in WooCommerce order grid with payment status, verification indicators, and card info<\/li>\n<li>Added - License sync cron job for automatic license validation<\/li>\n<li>Improved - Unified refund processing across all payment methods (Card, Apple Pay, Google Pay)<\/li>\n<li>Improved - Centralised table name management in gateway helper<\/li>\n<li>Improved - External CSS file for admin styles instead of inline styles<\/li>\n<li>Improved - Support for both legacy post-based orders and HPOS (High-Performance Order Storage)<\/li>\n<li>Fixed - WordPress PHPCS compliance improvements<\/li>\n<li>Fixed - Added translator comments for i18n strings with placeholders<\/li>\n<li>Fixed - Proper variable prefixing for WordPress coding standards<\/li>\n<\/ul>\n\n<h4>3.0.6<\/h4>\n\n<ul>\n<li>Security - Fixed security vulnerabilities with proper sanitisation of $_GET, $_POST, $_REQUEST data<\/li>\n<li>Security - Added proper validation and sanitisation using sanitize_text_field() and wp_unslash()<\/li>\n<li>Improved - Made debug logging conditional - error_log() now only runs when WP_DEBUG is enabled<\/li>\n<li>Improved - Complete WooCommerce address line 2 support across all payment methods (Payment JS, Apple Pay, Google Pay, HPP)<\/li>\n<li>Fixed - Enhanced security for payment token handling and form processing<\/li>\n<li>Fixed - Improved address data handling in redirect payment forms and wallet payments<\/li>\n<\/ul>\n\n<h4>3.0.5<\/h4>\n\n<ul>\n<li>Improved - Full tokenisation support for HPP\/Redirect payment gateway - customers can now save cards for future use<\/li>\n<li>Improved - Smart 3D Secure handling with dynamic challenge indicators based on transaction type<\/li>\n<li>Improved - Subscription support improvements with proper token handling for recurring payments<\/li>\n<li>Fixed - Duplicate token saving issue between webhook and order confirmation resolved<\/li>\n<li>Fixed - Session dependency removed from webhook - now uses order meta for reliable server-to-server communication<\/li>\n<li>Fixed - Improved shipping method calculation for wallet payments (Apple Pay and Google Pay)<\/li>\n<li>Fixed - Shipping options now properly update based on customer location<\/li>\n<li>Fixed - Shipping methods now respect WooCommerce zone restrictions and conditions<\/li>\n<li>Fixed - Total calculation now uses backend-calculated values for accuracy<\/li>\n<li>Improved - Dynamic shipping option updates when address changes in wallet payments<\/li>\n<li>Improved - Proper tax and shipping recalculation based on selected address<\/li>\n<li>Removed - Deprecated class-autify-lloyds-shop-page-handler.php file<\/li>\n<\/ul>\n\n<h4>3.0.4<\/h4>\n\n<ul>\n<li>Added - WooCommerce HPOS (High Performance Order Storage) compatibility<\/li>\n<\/ul>\n\n<h4>3.0.3<\/h4>\n\n<ul>\n<li>Fixed - Domain issue, as WooCommerce covers it already<\/li>\n<li>Fixed - Apple Pay removal of EMV, as this is not supported<\/li>\n<li>Improved - Code improvements<\/li>\n<\/ul>\n\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Added - Dynamic Order Data configuration and Clear Cookies for My account<\/li>\n<\/ul>\n\n<h4>3.0.1<\/h4>\n\n<ul>\n<li>Added - Fallback to Hosted Payment Method support<\/li>\n<li>Added - Configuration option in Payment JS to enable or disable logging<\/li>\n<li>Improved - Logger standardised to use the WooCommerce logging system<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Added - On-site Wallets for Google Pay and Apple Pay directly from the product, cart, and checkout pages<\/li>\n<li>Added - Tokenisation allowing customers to save their cards for future transactions<\/li>\n<li>Added - Subscription support for card payments<\/li>\n<li>Added - MOTO transaction support from the Administrator account<\/li>\n<\/ul>\n\n<h4>2.0.14<\/h4>\n\n<ul>\n<li>Fixed - Column addition issue and removed sleep() function<\/li>\n<\/ul>\n\n<h4>2.0.13<\/h4>\n\n<ul>\n<li>Fixed - Load Domain translation issue<\/li>\n<\/ul>\n\n<h4>2.0.12<\/h4>\n\n<ul>\n<li>Added - Configuration for the Order ID suffix as timestamp<\/li>\n<\/ul>\n\n<h4>2.0.11<\/h4>\n\n<ul>\n<li>Fixed - Country restriction for Embedded Payment and GooglePay Wallet issue<\/li>\n<\/ul>\n\n<h4>2.0.10<\/h4>\n\n<ul>\n<li>Added - Configuration to pass the order ID or not<\/li>\n<\/ul>","raw_excerpt":"Accept card, Apple Pay and Google Pay payments on WooCommerce via Lloyds Bank Cardnet, with tokenisation, subscriptions and reporting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/200048","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=200048"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/supportautify"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=200048"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=200048"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=200048"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=200048"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=200048"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=200048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}