=== Authyo OTP for Contact Form 7 ===
Contributors: konceptwise
Tags: contact form 7, otp verification, phone verification, email verification, spam protection
Requires at least: 5.5
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.28
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add OTP verification (Email & Phone) to Contact Form 7. Reduce spam and allow only verified users via SMS, WhatsApp, Email, or Voice Call.

== Description ==

Tired of spam submissions and fake leads from your Contact Form 7 forms? **Authyo OTP for Contact Form 7** helps you solve this by adding secure OTP verification before form submission.

With support for **Email, SMS, WhatsApp, and Voice Call OTP**, you can ensure that only genuine users submit your forms — improving lead quality and reducing unwanted entries.

The plugin is designed to work seamlessly with Contact Form 7 and provides an easy setup experience without complex configurations.

This plugin is an **independent add-on for Contact Form 7**, developed and maintained by **Konceptwise Digital Media Pvt. Ltd.**, and integrates securely with the Authyo OTP service.

"This plugin is an add-on for Contact Form 7 and is not developed by or affiliated with the Contact Form 7 authors."

= Key Features =

**OTP Verification**

* Add OTP verification to Contact Form 7 forms
* Email OTP using `[authyo_email]` shortcode
* Phone OTP using `[authyo_phone]` shortcode
* Automatic verification on OTP entry
* Custom messages for OTP sent, verified, and failed states
* Enable or disable OTP per form

**OTP Delivery Channels**

* Email OTP
* SMS OTP (India & international)
* WhatsApp OTP
* Voice Call OTP (available in India)
* Automatic fallback between channels if configured

**Spam Protection & Security**

* Prevent fake submissions and spam entries
* Verify email addresses and phone numbers before submission
* Uses secure API communication with validation
* Follows WordPress coding standards (nonce & sanitization)

**Google Sheets Integration**

* Automatically send form entries to Google Sheets
* Multi-sheet support for different forms
* Custom column mapping for form fields
* Dynamic sheet/tab creation

**Form Control**

* Set custom redirect URL after successful submission
* Works with AJAX and popup forms

= Who Can Use This Plugin? =

* Website owners using Contact Form 7 for lead generation
* Businesses looking to reduce spam and fake inquiries
* Agencies managing multiple client websites
* Developers building secure and verified forms

= Live Demo =

https://wpplugins.authyo.io/authyo-otp-for-contact-form-7/

= Video Tutorial =

https://www.youtube.com/watch?v=hhBnj1WWDdI

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/authyo-otp-for-contact-form-7/` directory, or install through the WordPress Plugins screen.

2. Activate the plugin through the **Plugins** menu in WordPress.

3. You will need an Authyo API key from your Authyo account.

4. Enter the API key in **Authyo OTP for CF7** settings.

5. Enable OTP for your desired forms in the **Form Integration** tab.

6. Add shortcode to your Contact Form 7 form:

   * Email OTP: `[authyo_email]`
   * Phone OTP: `[tel your-phone]` + `[authyo_phone]`

7. Save and test your form.

= Example: Phone OTP Setup =

```
<label> Your Phone Number  
    [tel your-phone] [authyo_phone]  
</label>  

<label> Your Message  
    [textarea your-message]  
</label>  

[submit "Send"]  
```

= Example: Email OTP Setup =

```
<label> Your Email  
    [email your-email] [authyo_email]  
</label>  

[submit "Send"]  
```

== Frequently Asked Questions ==

= Does this plugin require Contact Form 7? =
Yes. This plugin is an extension for Contact Form 7 and requires it to be installed and activated.

= Which OTP methods are supported? =
Email, SMS, WhatsApp, and Voice Call.

= Is an Authyo account required? =
Yes. You need an Authyo account and API key to use OTP services.

= Does it work with popup forms? =
Yes. The plugin works with popup forms.

= Can I use it on multiple forms? =
Yes. OTP can be enabled or disabled for each form individually.

= Does it support Indian numbers? =
Yes. It supports Indian numbers with SMS, WhatsApp, and Voice Call OTP.

== Screenshots ==

1. OTP Integration settings
2. OTP channel configuration
3. Phone number country selector
4. Usage and shortcode guide

== Changelog ==

= 1.0.28 =

* Improvement: performance and security improvement

= 1.0.27 =

* Feature: Added optional Advanced Phone Validation using Google's libphonenumber library
* Provides real-time country-specific phone number validation with digit count feedback
* Detects landline numbers and warns users (non-blocking)
* Uses E.164 formatting for more reliable OTP delivery
* Disabled by default — enable in Verification Methods tab

= 1.0.26 =

* Compatibility: Added DONOTCACHEPAGE support to prevent stale nonce issues with all major caching plugins

= 1.0.25 =

* Improvement: performance improvement

= 1.0.24 =

* Improvement: performance improvement

= 1.0.23 =

* Improvement: performance improvement

= 1.0.22 =

* UI/UX: Improved country dropdown behavior

= 1.0.21 =

* Improvement: performance improvement

= 1.0.20 =

* UI/UX: Improved OTP method selection

== External Services ==

This plugin connects to the Authyo API to send and verify OTPs.

**Service used:** Authyo (https://app.authyo.io)
**Purpose:** OTP verification
**Data sent:** Email or phone number for verification
**When:** During OTP request and verification
**Provider:** Authyo Inc. / Konceptwise Digital Media Pvt. Ltd.
**Terms:** https://authyo.io/terms-service
**Privacy Policy:** https://authyo.io/privacy-policy

== Dependencies ==

This plugin requires the **Contact Form 7** plugin to be installed and activated.

Contact Form 7 is developed by Takayuki Miyoshi and is available on WordPress.org:
https://wordpress.org/plugins/contact-form-7/
