{"id":329311,"date":"2026-06-29T09:09:50","date_gmt":"2026-06-29T09:09:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/beplus-contact-form-7-discounts\/"},"modified":"2026-06-29T09:09:27","modified_gmt":"2026-06-29T09:09:27","slug":"beplus-discounts-for-contact-form-7","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/beplus-discounts-for-contact-form-7\/","author":15226952,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BePlus Discounts for Contact Form 7","header_author":"BePlus","header_description":"Adds coupon and discount support to Contact Form 7 forms and updates a final amount field for payment addons.","assets_banners_color":"b6bbdd","last_updated":"2026-06-29 09:09:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/beplusthemes.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":22,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"bearsthemes","date":"2026-06-29 09:09:27"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3589757,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3589757,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1545x500.png":{"filename":"banner-1545x500.png","revision":3589724,"resolution":"1545x500","location":"assets","locale":"","width":2188,"height":718},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3589724,"resolution":"772x250","location":"assets","locale":"","width":772,"height":253}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[1152,591,6744,1887,4394],"plugin_category":[45],"plugin_contributors":[268481],"plugin_business_model":[],"class_list":["post-329311","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form-7","plugin_tags-coupons","plugin_tags-discounts","plugin_tags-payments","plugin_tags-pricing","plugin_category-ecommerce","plugin_contributors-lenguyendev","plugin_committers-bearsthemes"],"banners":{"banner":"https:\/\/ps.w.org\/beplus-discounts-for-contact-form-7\/assets\/banner-772x250.png?rev=3589724","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/beplus-discounts-for-contact-form-7\/assets\/icon-128x128.png?rev=3589757","icon_2x":"https:\/\/ps.w.org\/beplus-discounts-for-contact-form-7\/assets\/icon-256x256.png?rev=3589757","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>BePlus Discounts for Contact Form 7 helps you add coupon and discount support to Contact Form 7 forms without turning Contact Form 7 into a payment processor.<\/p>\n\n<p>It is designed for forms that already calculate or collect an original amount and need to apply a coupon before a payment addon reads the final amount.<\/p>\n\n<h4>What It Does<\/h4>\n\n<ul>\n<li>Validates coupon codes<\/li>\n<li>Applies fixed or percentage discounts<\/li>\n<li>Updates a final amount field inside the Contact Form 7 submission<\/li>\n<li>Tracks coupon usage after successful submissions<\/li>\n<li>Supports date windows, active\/inactive status, quantity rules, and usage limits<\/li>\n<li>Works with payment addons that can read a final amount field<\/li>\n<\/ul>\n\n<h4>Core Features<\/h4>\n\n<ul>\n<li>Fixed amount and percentage discounts<\/li>\n<li>Start date and expiry date support<\/li>\n<li>Active and inactive coupon states<\/li>\n<li>Usage limit tracking<\/li>\n<li>AJAX coupon validation<\/li>\n<li>Server-side recalculation before submission completes<\/li>\n<li>Custom <code>[cf7_discount_apply]<\/code> tag with tag generator support<\/li>\n<li>Final amount field updates for payment addon compatibility<\/li>\n<\/ul>\n\n<h4>Before You Install<\/h4>\n\n<p>This plugin requires:<\/p>\n\n<ul>\n<li>WordPress<\/li>\n<li>Contact Form 7<\/li>\n<li>A Contact Form 7 form that includes amount-related fields<\/li>\n<\/ul>\n\n<p>This plugin does not process payments by itself. It prepares a validated final amount so your payment addon can use it.<\/p>\n\n<h3>Usage<\/h3>\n\n<h4>1. Configure Field Names<\/h4>\n\n<p>Open <code>CF7 Discounts &gt; Settings<\/code> and confirm the field names you want to use.<\/p>\n\n<p>Default field names:<\/p>\n\n<ul>\n<li>Coupon field: <code>coupon_code<\/code><\/li>\n<li>Quantity field: <code>qty<\/code><\/li>\n<li>Original amount field: <code>amount<\/code><\/li>\n<li>Final amount field: <code>final_amount<\/code><\/li>\n<li>Discount amount field: <code>discount_amount<\/code><\/li>\n<li>Discount message field: <code>discount_message<\/code><\/li>\n<\/ul>\n\n<h4>2. Create A Coupon<\/h4>\n\n<p>Open <code>CF7 Discounts &gt; Coupons<\/code> and add a coupon with the settings you need, such as:<\/p>\n\n<ul>\n<li>Coupon code<\/li>\n<li>Fixed or percentage discount<\/li>\n<li>Active status<\/li>\n<li>Start date<\/li>\n<li>Expiry date<\/li>\n<li>Usage limit<\/li>\n<li>Minimum quantity<\/li>\n<li>Minimum total<\/li>\n<\/ul>\n\n<h4>3. Add The Fields To Your Contact Form 7 Form<\/h4>\n\n<p>Example form markup using the default field names:<\/p>\n\n<pre><code>[text coupon_code]\n\n[number qty min:1 \"1\"]\n\n[hidden amount \"100\"]\n\n[hidden final_amount \"100\"]\n\n[hidden discount_amount \"0\"]\n\n[hidden discount_message \"\"]\n\n[cf7_discount_apply \"Apply Discount\"]\n\n[submit \"Pay Now\"]\n<\/code><\/pre>\n\n<p>If your form does not use quantity-based coupon rules, you can omit the quantity field.<\/p>\n\n<h4>4. Connect Your Payment Addon<\/h4>\n\n<p>If you use a payment addon, point it to the final amount field, not the original amount field.<\/p>\n\n<p>The plugin recalculates the final amount on the server before Contact Form 7 completes submission, which helps prevent tampering.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/beplus-discounts-for-contact-form-7\/<\/code>.<\/li>\n<li>Activate Contact Form 7.<\/li>\n<li>Activate BePlus Discounts for Contact Form 7.<\/li>\n<li>Go to <code>CF7 Discounts &gt; Settings<\/code>.<\/li>\n<li>Review or change the field names used by the plugin.<\/li>\n<li>Go to <code>CF7 Discounts &gt; Coupons<\/code> and create your coupon codes.<\/li>\n<li>Edit your Contact Form 7 form and add the required fields and apply button.<\/li>\n<li>If you use a payment addon, configure it to read the final amount field instead of the original amount field.<\/li>\n<li>Test the form with a valid coupon and an invalid coupon before using it on a live site.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20process%20payments%3F\"><h3>Does this plugin process payments?<\/h3><\/dt>\n<dd><p>No. It only validates coupons and updates a final amount field for payment addons.<\/p><\/dd>\n<dt id=\"which%20payment%20addons%20are%20supported%3F\"><h3>Which payment addons are supported?<\/h3><\/dt>\n<dd><p>It is gateway-agnostic. Configure your payment addon to read the final amount field.<\/p><\/dd>\n<dt id=\"which%20field%20should%20my%20payment%20addon%20use%3F\"><h3>Which field should my payment addon use?<\/h3><\/dt>\n<dd><p>Use the final amount field, which is <code>final_amount<\/code> by default unless you changed it in Settings.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20add%20hidden%20fields%20to%20my%20form%3F\"><h3>Do I need to add hidden fields to my form?<\/h3><\/dt>\n<dd><p>Yes. At minimum, your form should include the original amount field, final amount field, discount amount field, discount message field, and the coupon field.<\/p><\/dd>\n<dt id=\"what%20does%20the%20%60%5Bcf7_discount_apply%5D%60%20tag%20do%3F\"><h3>What does the `[cf7_discount_apply]` tag do?<\/h3><\/dt>\n<dd><p>It adds the apply button and the frontend behavior used to validate a coupon and update the discount summary.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20field%20names%3F\"><h3>Can I change the field names?<\/h3><\/dt>\n<dd><p>Yes. Go to <code>CF7 Discounts &gt; Settings<\/code> and change the field names there. Your Contact Form 7 form and payment addon must use the same names.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20ajax%20validation%20is%20disabled%3F\"><h3>What happens if AJAX validation is disabled?<\/h3><\/dt>\n<dd><p>The frontend will not validate coupons through AJAX, but server-side validation still protects the final amount during submission.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20coupon%20is%20invalid%3F\"><h3>What happens if a coupon is invalid?<\/h3><\/dt>\n<dd><p>If invalid submission blocking is enabled, the form submission can be prevented and the coupon field will show the validation message.<\/p><\/dd>\n<dt id=\"when%20is%20coupon%20usage%20counted%3F\"><h3>When is coupon usage counted?<\/h3><\/dt>\n<dd><p>Usage is only counted after Contact Form 7 completes a successful submission.<\/p><\/dd>\n<dt id=\"can%20i%20use%20fixed%20discounts%20and%20percentage%20discounts%3F\"><h3>Can I use fixed discounts and percentage discounts?<\/h3><\/dt>\n<dd><p>Yes. Each coupon can be configured as either a fixed amount discount or a percentage discount.<\/p><\/dd>\n<dt id=\"can%20i%20limit%20coupons%20by%20date%20or%20usage%20count%3F\"><h3>Can I limit coupons by date or usage count?<\/h3><\/dt>\n<dd><p>Yes. Coupons can use start dates, expiry dates, and usage limits.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20without%20a%20payment%20addon%3F\"><h3>Can I use this without a payment addon?<\/h3><\/dt>\n<dd><p>Yes. You can still use it to calculate discounts in a Contact Form 7 workflow, but the plugin itself does not charge customers.<\/p><\/dd>\n<dt id=\"why%20is%20my%20discount%20not%20applied%3F\"><h3>Why is my discount not applied?<\/h3><\/dt>\n<dd><p>Common reasons include:<\/p>\n\n<ul>\n<li>the coupon code is inactive<\/li>\n<li>the coupon has expired<\/li>\n<li>the usage limit has been reached<\/li>\n<li>the amount or quantity fields do not match your Settings field names<\/li>\n<li>your form is using the original amount field instead of the final amount field<\/li>\n<\/ul><\/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":"Adds coupon and discount functionality to Contact Form 7 forms and updates a final amount field that payment addons can consume.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/329311","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=329311"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bearsthemes"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=329311"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=329311"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=329311"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=329311"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=329311"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=329311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}