{"id":252128,"date":"2025-10-17T08:29:56","date_gmt":"2025-10-17T08:29:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/formpays-pro\/"},"modified":"2025-10-27T08:29:36","modified_gmt":"2025-10-27T08:29:36","slug":"formpays-pro","status":"publish","type":"plugin","link":"https:\/\/szl.wordpress.org\/plugins\/formpays-pro\/","author":23361296,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.3","stable_tag":"1.1.3","tested":"6.8.5","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"FormPays Pro","header_author":"versionnext, codexdemon","header_description":"Advanced payment form with multiple payment gateways support and conditional logic","assets_banners_color":"cce6ea","last_updated":"2025-10-27 08:29:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/version-next.com\/formpays-pro\/","header_author_uri":"https:\/\/version-next.com\/","rating":5,"author_block_rating":0,"active_installs":10,"downloads":249,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.2":{"tag":"1.1.2","author":"versionnext","date":"2025-10-17 08:51:27"},"1.1.3":{"tag":"1.1.3","author":"versionnext","date":"2025-10-27 08:29:36"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3379945,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3379945,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3379945,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3379945,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3379945,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.2","1.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3379945,"resolution":"1","location":"assets","locale":""},"screenshot-10.jpg":{"filename":"screenshot-10.jpg","revision":3379945,"resolution":"10","location":"assets","locale":""},"screenshot-11.jpg":{"filename":"screenshot-11.jpg","revision":3379945,"resolution":"11","location":"assets","locale":""},"screenshot-12.jpg":{"filename":"screenshot-12.jpg","revision":3379945,"resolution":"12","location":"assets","locale":""},"screenshot-13.jpg":{"filename":"screenshot-13.jpg","revision":3385037,"resolution":"13","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3379945,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3379945,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3379945,"resolution":"4","location":"assets","locale":""},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3379945,"resolution":"5","location":"assets","locale":""},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3379945,"resolution":"6","location":"assets","locale":""},"screenshot-7.jpg":{"filename":"screenshot-7.jpg","revision":3379945,"resolution":"7","location":"assets","locale":""},"screenshot-8.jpg":{"filename":"screenshot-8.jpg","revision":3379945,"resolution":"8","location":"assets","locale":""},"screenshot-9.jpg":{"filename":"screenshot-9.jpg","revision":3379945,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Dashboard Interface","2":"Payment Gateway Settings","3":"Page Handling Common Settings","4":"Get Started with FormPays Pro","5":"Create New Payment Form","6":"Edit Payment Form","7":"Formpays Pro Template Form","8":"Payment and Contact Form","9":"Payment Transaction and Data Collection","10":"Transaction Details","11":"Analytics Dashboard","12":"Drag and Drop Form Field","13":"Notification Email Template"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[76810,601,507,15620,65714],"plugin_category":[42,45],"plugin_contributors":[143580,249329],"plugin_business_model":[],"class_list":["post-252128","plugin","type-plugin","status-publish","hentry","plugin_tags-form-payment","plugin_tags-forms","plugin_tags-payment","plugin_tags-payu","plugin_tags-razorpay","plugin_category-contact-forms","plugin_category-ecommerce","plugin_contributors-codexdemon","plugin_contributors-versionnext","plugin_committers-versionnext"],"banners":{"banner":"https:\/\/ps.w.org\/formpays-pro\/assets\/banner-772x250.jpg?rev=3379945","banner_2x":"https:\/\/ps.w.org\/formpays-pro\/assets\/banner-1544x500.jpg?rev=3379945","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/formpays-pro\/assets\/icon.svg?rev=3379945","icon":"https:\/\/ps.w.org\/formpays-pro\/assets\/icon.svg?rev=3379945","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-1.jpg?rev=3379945","caption":"Dashboard Interface"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-2.jpg?rev=3379945","caption":"Payment Gateway Settings"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-3.jpg?rev=3379945","caption":"Page Handling Common Settings"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-4.jpg?rev=3379945","caption":"Get Started with FormPays Pro"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-5.jpg?rev=3379945","caption":"Create New Payment Form"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-6.jpg?rev=3379945","caption":"Edit Payment Form"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-7.jpg?rev=3379945","caption":"Formpays Pro Template Form"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-8.jpg?rev=3379945","caption":"Payment and Contact Form"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-9.jpg?rev=3379945","caption":"Payment Transaction and Data Collection"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-10.jpg?rev=3379945","caption":"Transaction Details"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-11.jpg?rev=3379945","caption":"Analytics Dashboard"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-12.jpg?rev=3379945","caption":"Drag and Drop Form Field"},{"src":"https:\/\/ps.w.org\/formpays-pro\/assets\/screenshot-13.jpg?rev=3385037","caption":"Notification Email Template"}],"raw_content":"<!--section=description-->\n<p>FormPays Pro is a comprehensive payment form plugin designed to make online payments simple and secure. Whether you're running a small business or a large site, this plugin provides everything you need to collect payments through custom forms. From flexible payment forms to enterprise-grade security, FormPays Pro is designed to simplify online payments for businesses, nonprofits, and educators.<\/p>\n\n<h4>Core Features<\/h4>\n\n<ul>\n<li><strong>Custom Payment Forms<\/strong>: Create unlimited payment forms with custom fields<\/li>\n<li><strong>Multiple Payment Gateways<\/strong>: Support for Razorpay and PayU (more coming soon)<\/li>\n<li><strong>Conditional Logic<\/strong>: Show\/hide fields based on user selections<\/li>\n<li><strong>Shortcode Support<\/strong>: Easy embedding with <code>[formpays_pro_payment_form id=\"123\"]<\/code><\/li>\n<li><strong>Transaction Management<\/strong>: Complete payment tracking and management<\/li>\n<li><strong>Email Notifications<\/strong>: Automatic notifications for payments and failures<\/li>\n<li><strong>Email Templates<\/strong>: Customize notification emails for customers and admins<\/li>\n<\/ul>\n\n<h4>Payment Gateways<\/h4>\n\n<ul>\n<li><strong>Razorpay<\/strong>: Cards, UPI, NetBanking, Wallets<\/li>\n<li><strong>PayU<\/strong>: Cards, UPI, NetBanking, Wallets<\/li>\n<li><strong>Test Mode<\/strong>: Development and testing support<\/li>\n<li><strong>Webhook Integration<\/strong>: Automatic payment status updates<\/li>\n<\/ul>\n\n<h4>Form Builder<\/h4>\n\n<ul>\n<li><strong>Field Types<\/strong>: Text, Email, Phone, Number, Select, Radio, Checkbox, Textarea<\/li>\n<li><strong>Custom Fields<\/strong>: Add unlimited custom fields<\/li>\n<li><strong>Required Fields<\/strong>: Mark fields as required<\/li>\n<li><strong>Field Validation<\/strong>: Built-in validation for all field types<\/li>\n<li><strong>Drag &amp; Drop<\/strong>: Easy field reordering<\/li>\n<\/ul>\n\n<h4>Admin Features<\/h4>\n\n<ul>\n<li><strong>Dashboard<\/strong>: Overview of forms, transactions, and revenue<\/li>\n<li><strong>Form Management<\/strong>: Create, edit, and delete payment forms<\/li>\n<li><strong>Transaction Tracking<\/strong>: View all payments with filters and export<\/li>\n<li><strong>Gateway Settings<\/strong>: Secure configuration for payment gateways<\/li>\n<li><strong>Email Templates<\/strong>: Customize notification emails<\/li>\n<\/ul>\n\n<h4>Security Features<\/h4>\n\n<ul>\n<li><strong>Nonce Verification<\/strong>: CSRF protection for all forms<\/li>\n<li><strong>Input Sanitization<\/strong>: All user inputs are sanitized<\/li>\n<li><strong>Encrypted Storage<\/strong>: Sensitive gateway credentials are encrypted<\/li>\n<li><strong>Webhook Verification<\/strong>: Secure webhook handling with signature verification<\/li>\n<li><strong>Permission Checks<\/strong>: Admin-only access to sensitive operations<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to third-party payment gateway services to process payments. Below is detailed information about each service:<\/p>\n\n<h4>Razorpay<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: Payment gateway service for processing online payments in India<\/li>\n<li><strong>When data is sent<\/strong>: When a user submits a payment form using Razorpay gateway<\/li>\n<li><strong>Data sent<\/strong>: Customer name, email, mobile number, payment amount, currency, order details<\/li>\n<li><strong>Purpose<\/strong>: To create payment orders and process payments securely<\/li>\n<li><strong>Service URL<\/strong>: https:\/\/razorpay.com\/<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/razorpay.com\/terms\/<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/razorpay.com\/privacy\/<\/li>\n<li><strong>Documentation<\/strong>: https:\/\/razorpay.com\/docs\/<\/li>\n<\/ul>\n\n<h4>PayU<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: Payment gateway service for processing online payments<\/li>\n<li><strong>When data is sent<\/strong>: When a user submits a payment form using PayU gateway<\/li>\n<li><strong>Data sent<\/strong>: Customer name, email, mobile number, payment amount, currency, order details<\/li>\n<li><strong>Purpose<\/strong>: To create payment orders and process payments securely<\/li>\n<li><strong>Service URL<\/strong>: https:\/\/payu.in\/<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/payu.in\/terms-of-use<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/payu.in\/privacy-policy<\/li>\n<li><strong>Documentation<\/strong>: https:\/\/docs.payu.com\/<\/li>\n<\/ul>\n\n<h4>PayPal<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: Global payment gateway service for processing online payments<\/li>\n<li><strong>When data is sent<\/strong>: When a user submits a payment form using PayPal gateway<\/li>\n<li><strong>Data sent<\/strong>: Customer name, email, payment amount, currency, order details<\/li>\n<li><strong>Purpose<\/strong>: To create payment orders and process payments securely<\/li>\n<li><strong>Service URL<\/strong>: https:\/\/paypal.com\/<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/www.paypal.com\/us\/legalhub\/useragreement-full<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/www.paypal.com\/us\/legalhub\/privacy-full<\/li>\n<li><strong>Documentation<\/strong>: https:\/\/developer.paypal.com\/<\/li>\n<\/ul>\n\n<h4>PhonePe<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: Digital payment platform for processing UPI and other payments in India<\/li>\n<li><strong>When data is sent<\/strong>: When a user submits a payment form using PhonePe gateway<\/li>\n<li><strong>Data sent<\/strong>: Customer name, email, mobile number, payment amount, currency, order details<\/li>\n<li><strong>Purpose<\/strong>: To create payment orders and process payments securely<\/li>\n<li><strong>Service URL<\/strong>: https:\/\/phonepe.com\/<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/www.phonepe.com\/terms-and-conditions\/<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/www.phonepe.com\/privacy-policy\/<\/li>\n<li><strong>Documentation<\/strong>: https:\/\/developer.phonepe.com\/<\/li>\n<\/ul>\n\n<h4>Instamojo<\/h4>\n\n<ul>\n<li><strong>What it is<\/strong>: Payment gateway service for processing online payments in India<\/li>\n<li><strong>When data is sent<\/strong>: When a user submits a payment form using Instamojo gateway<\/li>\n<li><strong>Data sent<\/strong>: Customer name, email, mobile number, payment amount, currency, order details<\/li>\n<li><strong>Purpose<\/strong>: To create payment orders and process payments securely<\/li>\n<li><strong>Service URL<\/strong>: https:\/\/instamojo.com\/<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/instamojo.com\/terms\/<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/instamojo.com\/privacy\/<\/li>\n<li><strong>Documentation<\/strong>: https:\/\/docs.instamojo.com\/<\/li>\n<\/ul>\n\n<p><strong>Data Security<\/strong>: All payment data is transmitted securely using HTTPS encryption. Customer payment details (card numbers, etc.) are handled directly by the payment gateways and never stored on your WordPress site.<\/p>\n\n<p><strong>User Consent<\/strong>: By using payment forms created with this plugin, users consent to their payment data being processed by the selected payment gateway according to that gateway's terms and privacy policy.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 5.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>MySQL 5.6 or higher<\/li>\n<li>SSL certificate (recommended for production)<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<h4>1. Gateway Setup<\/h4>\n\n<ol>\n<li>Go to <strong>FormPays Pro \u2192 Settings<\/strong><\/li>\n<li>Select your preferred payment gateway<\/li>\n<li>Enter your gateway credentials:\n\n<ul>\n<li><strong>Razorpay<\/strong>: Key ID, Key Secret, Webhook Secret<\/li>\n<li><strong>PayU<\/strong>: Merchant Key, Salt Key, Authorization Header<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h4>2. Create Your First Form<\/h4>\n\n<ol>\n<li>Go to <strong>FormPays Pro \u2192 Forms \u2192 Add New<\/strong><\/li>\n<li>Fill in form details (title, description, gateway)<\/li>\n<li>Add fields (Name, Email, Mobile, Amount, etc.)<\/li>\n<li>Set up conditional logic if needed<\/li>\n<li>Save the form<\/li>\n<\/ol>\n\n<h4>3. Embed the Form<\/h4>\n\n<p>Use the generated shortcode in any post or page:\n    [formpays_pro_payment_form id=\"1\"]<\/p>\n\n<h3>Usage<\/h3>\n\n<h4>Creating Payment Forms<\/h4>\n\n<p>Basic form structure:\n    <code>php\n$form_data = array(\n    'title' =&gt; 'Product Payment',\n    'description' =&gt; 'Complete your purchase',\n    'gateway' =&gt; 'razorpay',\n    'amount_type' =&gt; 'fixed',\n    'fixed_amount' =&gt; 999.00,\n    'currency' =&gt; 'INR',\n    'fields' =&gt; array(\n        array(\n            'id' =&gt; 'name',\n            'label' =&gt; 'Full Name',\n            'type' =&gt; 'text',\n            'required' =&gt; true\n        ),\n        array(\n            'id' =&gt; 'email',\n            'label' =&gt; 'Email Address',\n            'type' =&gt; 'email',\n            'required' =&gt; true\n        ),\n        array(\n            'id' =&gt; 'mobile',\n            'label' =&gt; 'Mobile Number',\n            'type' =&gt; 'tel',\n            'required' =&gt; true\n        )\n    )\n);<\/code><\/p>\n\n<h4>Conditional Logic<\/h4>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>$conditional_logic = array(\n    array(\n        'field' =&gt; 'payment_type',\n        'operator' =&gt; 'equals',\n        'value' =&gt; 'business',\n        'action' =&gt; 'show',\n        'target' =&gt; 'company_name'\n    )\n);\n    `<\/p>\n\n<h4>Payment Processing<\/h4>\n\n<p>Form submission:\n    `php\nadd_action('wp_ajax_formpays_pro_submit_form', 'handle_payment');\nadd_action('wp_ajax_nopriv_formpays_pro_submit_form', 'handle_payment');<\/p>\n\n<p>function handle_payment() {\n    \/\/ Form data is automatically processed\n    \/\/ Payment gateway is initialized\n    \/\/ User is redirected to payment page\n}\n    `<\/p>\n\n<p>Webhook handling:\n    <code>php\n\/\/ Webhook endpoints are automatically created\n\/\/ \/wp-json\/formpays-pro\/v1\/webhook\/razorpay\n\/\/ \/wp-json\/formpays-pro\/v1\/webhook\/payu<\/code><\/p>\n\n<h4>Transaction Management<\/h4>\n\n<p>Get transaction:\n    <code>php\nglobal $formpays_pro;\n$transaction = $formpays_pro-&gt;transactions-&gt;get_transaction('TXN_123');<\/code><\/p>\n\n<p>Update status:\n    <code>php\n$result = $formpays_pro-&gt;transactions-&gt;update_transaction_status(\n    'TXN_123', \n    'success'\n);<\/code><\/p>\n\n<h3>Customization<\/h3>\n\n<h4>Styling<\/h4>\n\n<p>The plugin includes CSS classes for easy customization:\n    <code>css\n.formpays-pro-form-wrapper { \/* Form container *\/ }\n.formpays-pro-field { \/* Individual field *\/ }\n.formpays-pro-field-label { \/* Field labels *\/ }\n.formpays-pro-field-input { \/* Field inputs *\/ }\n.formpays-pro-submit-btn { \/* Submit button *\/ }<\/code><\/p>\n\n<h4>JavaScript Events<\/h4>\n\n<pre><code>`javascript\n<\/code><\/pre>\n\n<p>\/\/ Form submission events\njQuery(document).on('formpays_pro_form_submit', function(e, formData) {\n    \/\/ Custom handling before submission\n});<\/p>\n\n<p>\/\/ Payment success events\njQuery(document).on('formpays_pro_payment_success', function(e, response) {\n    \/\/ Custom handling after successful payment\n});\n    `<\/p>\n\n<h4>Hooks and Filters<\/h4>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>\/\/ Modify form data before processing\nadd_filter('formpays_pro_form_data', 'modify_form_data', 10, 2);<\/p>\n\n<p>\/\/ Custom payment validation\nadd_filter('formpays_pro_validate_payment', 'custom_validation', 10, 2);<\/p>\n\n<p>\/\/ Modify email content\nadd_filter('formpays_pro_email_content', 'customize_email', 10, 3);\n    `<\/p>\n\n<h3>Testing<\/h3>\n\n<h4>Test Mode<\/h4>\n\n<p>Both Razorpay and PayU support test mode:\n1. Enable test mode in gateway settings\n2. Use test credentials from your gateway dashboard\n3. Test complete payment flow without real charges<\/p>\n\n<h4>Test Cards<\/h4>\n\n<p><strong>Razorpay:<\/strong>\n* Success: 4111 1111 1111 1111\n* Failure: 4000 0000 0000 0002<\/p>\n\n<p><strong>PayU:<\/strong>\n* Success: 4012 0000 0000 0000\n* Failure: 4000 0000 0000 0002<\/p>\n\n<h3>Email Notifications<\/h3>\n\n<h4>Available Notifications<\/h4>\n\n<ul>\n<li><strong>Payment Success - Customer<\/strong>: Confirmation email to customer with transaction details<\/li>\n<li><strong>Payment Success - Admin<\/strong>: Notification to admin about successful payment<\/li>\n<li><strong>Payment Failed - Customer<\/strong>: Failure notification with retry information<\/li>\n<li><strong>Payment Failed - Admin<\/strong>: Alert to admin about failed payment<\/li>\n<\/ul>\n\n<h4>Email Template Customization<\/h4>\n\n<ol>\n<li>Go to <strong>FormPays Pro \u2192 Email Notifications<\/strong><\/li>\n<li>Customize email templates with dynamic placeholders:\n\n<ul>\n<li><code>{transaction_id}<\/code> - Transaction ID<\/li>\n<li><code>{amount}<\/code> - Payment amount<\/li>\n<li><code>{customer_name}<\/code> - Customer name<\/li>\n<li><code>{customer_email}<\/code> - Customer email<\/li>\n<li><code>{payment_date}<\/code> - Payment date and time<\/li>\n<li><code>{payment_method}<\/code> - Selected payment method<\/li>\n<li><code>{form_title}<\/code> - Form title<\/li>\n<li><code>{site_name}<\/code> - Your site name<\/li>\n<\/ul><\/li>\n<li>Enable\/disable individual email notifications<\/li>\n<li>Test email functionality to verify settings<\/li>\n<\/ol>\n\n<h4>Customization<\/h4>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>\/\/ Modify email templates\nadd_filter('formpays_pro_email_template', 'custom_email_template', 10, 3);<\/p>\n\n<p>\/\/ Add custom notification recipients\nadd_filter('formpays_pro_admin_emails', 'add_custom_emails');\n    `<\/p>\n\n<h3>Troubleshooting<\/h3>\n\n<h4>Common Issues<\/h4>\n\n<p><strong>Payment Not Processing:<\/strong>\n1. Check gateway credentials\n2. Verify webhook URLs are set correctly\n3. Check server logs for errors\n4. Ensure SSL is enabled (for live mode)<\/p>\n\n<p><strong>Forms Not Displaying:<\/strong>\n1. Check if form is published\n2. Verify shortcode syntax\n3. Check for JavaScript conflicts\n4. Review browser console for errors<\/p>\n\n<p><strong>Webhook Issues:<\/strong>\n1. Verify webhook secret is correct\n2. Check webhook URL accessibility\n3. Review server logs for webhook failures\n4. Test webhook endpoint manually<\/p>\n\n<h4>Debug Mode<\/h4>\n\n<p>Enable WordPress debug mode for detailed error logging:\n    <code>php\n\/\/ wp-config.php\ndefine('WP_DEBUG', true);\ndefine('WP_DEBUG_LOG', true);<\/code><\/p>\n\n<h3>API Reference<\/h3>\n\n<h4>REST API Endpoints<\/h4>\n\n<pre><code>`\n<\/code><\/pre>\n\n<p>GET  \/wp-json\/formpays-pro\/v1\/forms\/{id}\nGET  \/wp-json\/formpays-pro\/v1\/transactions\/{id}\nPOST \/wp-json\/formpays-pro\/v1\/webhook\/{gateway}\n    `<\/p>\n\n<h4>AJAX Actions<\/h4>\n\n<pre><code>`php\n<\/code><\/pre>\n\n<p>\/\/ Form submission\nwp_ajax_formpays_pro_submit_form\nwp_ajax_nopriv_formpays_pro_submit_form<\/p>\n\n<p>\/\/ Admin actions\nwp_ajax_formpays_pro_save_form\nwp_ajax_formpays_pro_delete_form\nwp_ajax_formpays_pro_save_gateway_settings\n    `<\/p>\n\n<h3>Contributing<\/h3>\n\n<p>We welcome contributions! Please follow these steps:<\/p>\n\n<ol>\n<li>Fork the repository (https:\/\/github.com\/sanyogs\/formpays-pro)<\/li>\n<li>Create a feature branch<\/li>\n<li>Make your changes<\/li>\n<li>Add tests if applicable<\/li>\n<li>Submit a pull request<\/li>\n<\/ol>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPL v2 or later.<\/p>\n\n<h3>Acknowledgments<\/h3>\n\n<ul>\n<li>WordPress community for the amazing platform<\/li>\n<li>Razorpay and PayU for their excellent APIs<\/li>\n<li>All contributors and beta testers<\/li>\n<\/ul>\n\n\n\n<p><strong>FormPays Pro<\/strong> - Making payment forms simple and powerful!<\/p>\n\n<!--section=installation-->\n<h4>Method 1: WordPress Admin (Recommended)<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Go to WordPress Admin \u2192 Plugins \u2192 Add New<\/li>\n<li>Click \"Upload Plugin\" and select the ZIP file<\/li>\n<li>Click \"Install Now\" and then \"Activate Plugin\"<\/li>\n<\/ol>\n\n<h4>Method 2: Manual Installation<\/h4>\n\n<ol>\n<li>Extract the plugin files to <code>\/wp-content\/plugins\/formpays-pro\/<\/code><\/li>\n<li>Activate the plugin through the WordPress admin interface<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20create%20my%20first%20payment%20form%3F'><h3>How do I create my first payment form?<\/h3><\/dt>\n<dd><ol>\n<li>Go to <strong>FormPays Pro \u2192 Forms \u2192 Add New<\/strong><\/li>\n<li>Fill in form details (title, description, gateway)<\/li>\n<li>Add fields (Name, Email, Mobile, Amount, etc.)<\/li>\n<li>Set up conditional logic if needed<\/li>\n<li>Save the form<\/li>\n<li>Use the generated shortcode: <code>[formpays_pro_payment_form id=\"1\"]<\/code><\/li>\n<\/ol><\/dd>\n<dt id='which%20payment%20gateways%20are%20supported%3F'><h3>Which payment gateways are supported?<\/h3><\/dt>\n<dd><p>Currently supported:\n* Razorpay (Cards, UPI, NetBanking, Wallets)\n* PayU (Cards, UPI, NetBanking, Wallets)<\/p>\n\n<p>More gateways coming soon!<\/p><\/dd>\n<dt id='is%20this%20plugin%20secure%3F'><h3>Is this plugin secure?<\/h3><\/dt>\n<dd><p>Yes! The plugin follows WordPress security best practices:\n* CSRF protection with nonce verification\n* Input sanitization and validation\n* Encrypted storage of sensitive data\n* Secure webhook handling\n* Permission-based access control<\/p><\/dd>\n<dt id='can%20i%20customize%20the%20form%20appearance%3F'><h3>Can I customize the form appearance?<\/h3><\/dt>\n<dd><p>Yes! The plugin includes CSS classes for easy customization:\n* <code>.formpays-pro-form-wrapper<\/code> - Form container\n* <code>.formpays-pro-field<\/code> - Individual field\n* <code>.formpays-pro-field-label<\/code> - Field labels\n* <code>.formpays-pro-field-input<\/code> - Field inputs\n* <code>.formpays-pro-submit-btn<\/code> - Submit button<\/p><\/dd>\n<dt id='how%20do%20i%20test%20payments%3F'><h3>How do I test payments?<\/h3><\/dt>\n<dd><p>Both gateways support test mode:\n1. Enable test mode in gateway settings\n2. Use test credentials from your gateway dashboard\n3. Test complete payment flow without real charges<\/p>\n\n<p>Test Cards:\n* <strong>Razorpay Success<\/strong>: 4111 1111 1111 1111\n* <strong>Razorpay Failure<\/strong>: 4000 0000 0000 0002\n* <strong>PayU Success<\/strong>: 4012 0000 0000 0000\n* <strong>PayU Failure<\/strong>: 4000 0000 0000 0002<\/p><\/dd>\n<dt id='what%20if%20i%20need%20help%3F'><h3>What if I need help?<\/h3><\/dt>\n<dd><p>Check the troubleshooting section in the plugin documentation or contact support.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.3<\/h4>\n\n<ul>\n<li><strong>Features<\/strong>: Added Email Notifications &amp; Confirmations menu with customizable email templates<\/li>\n<li><strong>Features<\/strong>: Automatic email notifications for payment success and failure to customers and admins<\/li>\n<li><strong>Features<\/strong>: Test email functionality to verify email settings<\/li>\n<li><strong>Features<\/strong>: Smart phone number formatting with country code for Razorpay integration<\/li>\n<li><strong>Bug Fix<\/strong>: Fixed deprecated dynamic property warning for email_handler<\/li>\n<li><strong>Bug Fix<\/strong>: Resolved payment method selection not being passed to Razorpay gateway<\/li>\n<li><strong>Bug Fix<\/strong>: Fixed customer phone number not being prefilled in Razorpay checkout<\/li>\n<li><strong>Bug Fix<\/strong>: Corrected transaction time display on success page<\/li>\n<li><strong>Enhancement<\/strong>: Enhanced success page with more detailed transaction information<\/li>\n<li><strong>Code Quality<\/strong>: Fixed placeholder ordering in translatable strings<\/li>\n<li><strong>Code Quality<\/strong>: Added WordPress Coding Standards compliance for email notifications<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li><strong>Security<\/strong>: Fixed unsafe redirects - now uses wp_safe_redirect() for all admin redirects<\/li>\n<li><strong>Security<\/strong>: Resolved WordPress global variable conflicts (page, status, per_page)<\/li>\n<li><strong>Security<\/strong>: Enhanced nonce verification across admin functions<\/li>\n<li><strong>Compliance<\/strong>: Plugin now meets WordPress.org security requirements<\/li>\n<li><strong>Quality<\/strong>: 95% WordPress Coding Standards compliance<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li><strong>Code Quality<\/strong>: Applied 36,318+ WordPress Coding Standards fixes<\/li>\n<li><strong>JavaScript<\/strong>: Moved inline scripts to dedicated files for better performance<\/li>\n<li><strong>Standards<\/strong>: Enhanced code formatting and documentation<\/li>\n<li><strong>Compliance<\/strong>: Ready for WordPress Plugin Directory submission<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li><strong>Features<\/strong>: Added PhonePe gateway integration with SDK v2<\/li>\n<li><strong>Security<\/strong>: Enhanced webhook verification and nonce handling<\/li>\n<li><strong>Performance<\/strong>: Improved database queries and caching<\/li>\n<li><strong>UI\/UX<\/strong>: Enhanced admin interface and form builder<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Razorpay and PayU integration<\/li>\n<li>Form builder with conditional logic<\/li>\n<li>Complete transaction management<\/li>\n<li>Email notification system<\/li>\n<li>Admin dashboard and settings<\/li>\n<li>REST API and webhook support<\/li>\n<\/ul>","raw_excerpt":"Create powerful, customizable, and secure payment forms with multiple gateways, conditional logic, and advanced analytics \u2013 all inside WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/252128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=252128"}],"author":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/versionnext"}],"wp:attachment":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=252128"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=252128"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=252128"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=252128"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=252128"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=252128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}