{"id":310837,"date":"2026-05-17T10:37:15","date_gmt":"2026-05-17T10:37:15","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/payment-gateway-fees-and-discounts-for-woocommerce\/"},"modified":"2026-05-17T10:21:56","modified_gmt":"2026-05-17T10:21:56","slug":"lexiata-checkout-fees","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/lexiata-checkout-fees\/","author":23086176,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.0","stable_tag":"trunk","tested":"6.9.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Lexiata Checkout Fees","header_author":"Suresh L. Bamunusinghe","header_description":"Add custom fees or discounts to WooCommerce payment gateways with conditional logic \u2014 by gateway, country, category, or cart total.","assets_banners_color":"","last_updated":"2026-05-17 10:21:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/lexiata.lk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":24,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The General settings tab \u2014 master switch and global options.","2":"Per-gateway settings \u2014 main and additional fee slots with conditional rules.","3":"The fee shown to the customer on the cart and checkout pages."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3148,6744,66387,6593,286],"plugin_category":[45],"plugin_contributors":[250405],"plugin_business_model":[],"class_list":["post-310837","plugin","type-plugin","status-publish","hentry","plugin_tags-checkout","plugin_tags-discounts","plugin_tags-fees","plugin_tags-payment-gateway","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-mrsureshlk","plugin_committers-mrsureshlk"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/lexiata-checkout-fees.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Lexiata Checkout Fees<\/strong> lets you charge an extra fee or apply a discount on the checkout page based on which payment gateway your customer chooses.<\/p>\n\n<p>Common use cases:<\/p>\n\n<ul>\n<li>Charge a Cash on Delivery handling fee<\/li>\n<li>Pass on payment processor fees (e.g. 2.9% for Stripe)<\/li>\n<li>Offer a discount for customers who pay by direct bank transfer<\/li>\n<li>Add a flat surcharge for international payment methods<\/li>\n<li>Apply gateway fees only to specific product categories or countries<\/li>\n<\/ul>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li>Two fee slots per gateway \u2014 combine a flat handling fee with a percentage processing fee<\/li>\n<li>Fixed amount or percent of cart<\/li>\n<li>Min and max fee bounds<\/li>\n<li>Coupon-aware rules (apply only when no coupons \/ only when coupons present)<\/li>\n<li>Country and state include \/ exclude lists<\/li>\n<li>Product category include \/ exclude lists<\/li>\n<li>Min and max cart amount thresholds<\/li>\n<li>Per-product gateway fee overrides<\/li>\n<li>Global caps on total fees and total discounts per order<\/li>\n<li>Optional taxable fees with tax class selection<\/li>\n<li>Multiple rounding strategies<\/li>\n<li>HPOS (High-Performance Order Storage) compatible<\/li>\n<li>Cart Block and Checkout Block compatible<\/li>\n<li>Translation ready<\/li>\n<\/ul>\n\n<h4>Built for WooCommerce 2026<\/h4>\n\n<p>This plugin is built against the latest WordPress and WooCommerce architecture: HPOS, Cart Block, Checkout Block, and StoreAPI extension callbacks. No tracking, no upsells, no third-party calls \u2014 just clean code that does one job well.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>lexiata-checkout-fees<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install through the WordPress Plugins screen directly.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payment Gateway Fees<\/strong> to configure.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20the%20new%20cart%20block%20and%20checkout%20block%3F\"><h3>Does this work with the new Cart Block and Checkout Block?<\/h3><\/dt>\n<dd><p>Yes. The plugin registers as a Cart\/Checkout Block integration and triggers a server round-trip whenever the customer changes payment method, so the fee always reflects the chosen gateway.<\/p><\/dd>\n<dt id=\"is%20it%20hpos%20compatible%3F\"><h3>Is it HPOS compatible?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with custom order tables and uses CRUD (<code>wc_get_order<\/code>, <code>WC_Order_Item_Fee<\/code>) throughout \u2014 no direct post meta access for orders.<\/p><\/dd>\n<dt id=\"can%20i%20give%20a%20discount%20instead%20of%20a%20fee%3F\"><h3>Can I give a discount instead of a fee?<\/h3><\/dt>\n<dd><p>Yes. Enter a negative value in the Fee value field.<\/p><\/dd>\n<dt id=\"will%20the%20fee%20be%20taxable%3F\"><h3>Will the fee be taxable?<\/h3><\/dt>\n<dd><p>Each fee slot has its own taxable toggle and tax class, so you can mix taxable and non-taxable fees on the same gateway.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20any%20data%20anywhere%3F\"><h3>Does the plugin send any data anywhere?<\/h3><\/dt>\n<dd><p>No. The plugin does not contact any external server, send tracking data, or include any third-party scripts.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Add custom fees or discounts to WooCommerce payment gateways with conditional logic by gateway, country, category, or cart total.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/310837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=310837"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mrsureshlk"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=310837"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=310837"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=310837"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=310837"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=310837"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=310837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}