Descripción
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.
Core Features
- Custom Payment Forms: Create unlimited payment forms with custom fields
- Multiple Payment Gateways: Support for Razorpay and PayU (more coming soon)
- Conditional Logic: Show/hide fields based on user selections
- Shortcode Support: Easy embedding with
[formpays_pro_payment_form id="123"] - Transaction Management: Complete payment tracking and management
- Email Notifications: Automatic notifications for payments and failures
- Email Templates: Customize notification emails for customers and admins
Payment Gateways
- Razorpay: Cards, UPI, NetBanking, Wallets
- PayU: Cards, UPI, NetBanking, Wallets
- Test Mode: Development and testing support
- Webhook Integration: Automatic payment status updates
Form Builder
- Field Types: Text, Email, Phone, Number, Select, Radio, Checkbox, Textarea
- Custom Fields: Add unlimited custom fields
- Required Fields: Mark fields as required
- Field Validation: Built-in validation for all field types
- Drag & Drop: Easy field reordering
Admin Features
- Dashboard: Overview of forms, transactions, and revenue
- Form Management: Create, edit, and delete payment forms
- Transaction Tracking: View all payments with filters and export
- Gateway Settings: Secure configuration for payment gateways
- Email Templates: Customize notification emails
Security Features
- Nonce Verification: CSRF protection for all forms
- Input Sanitization: All user inputs are sanitized
- Encrypted Storage: Sensitive gateway credentials are encrypted
- Webhook Verification: Secure webhook handling with signature verification
- Permission Checks: Admin-only access to sensitive operations
External Services
This plugin connects to third-party payment gateway services to process payments. Below is detailed information about each service:
Razorpay
- What it is: Payment gateway service for processing online payments in India
- When data is sent: When a user submits a payment form using Razorpay gateway
- Data sent: Customer name, email, mobile number, payment amount, currency, order details
- Purpose: To create payment orders and process payments securely
- Service URL: https://razorpay.com/
- Terms of Service: https://razorpay.com/terms/
- Privacy Policy: https://razorpay.com/privacy/
- Documentation: https://razorpay.com/docs/
PayU
- What it is: Payment gateway service for processing online payments
- When data is sent: When a user submits a payment form using PayU gateway
- Data sent: Customer name, email, mobile number, payment amount, currency, order details
- Purpose: To create payment orders and process payments securely
- Service URL: https://payu.in/
- Terms of Service: https://payu.in/terms-of-use
- Privacy Policy: https://payu.in/privacy-policy
- Documentation: https://docs.payu.com/
PayPal
- What it is: Global payment gateway service for processing online payments
- When data is sent: When a user submits a payment form using PayPal gateway
- Data sent: Customer name, email, payment amount, currency, order details
- Purpose: To create payment orders and process payments securely
- Service URL: https://paypal.com/
- Terms of Service: https://www.paypal.com/us/legalhub/useragreement-full
- Privacy Policy: https://www.paypal.com/us/legalhub/privacy-full
- Documentation: https://developer.paypal.com/
PhonePe
- What it is: Digital payment platform for processing UPI and other payments in India
- When data is sent: When a user submits a payment form using PhonePe gateway
- Data sent: Customer name, email, mobile number, payment amount, currency, order details
- Purpose: To create payment orders and process payments securely
- Service URL: https://phonepe.com/
- Terms of Service: https://www.phonepe.com/terms-and-conditions/
- Privacy Policy: https://www.phonepe.com/privacy-policy/
- Documentation: https://developer.phonepe.com/
Instamojo
- What it is: Payment gateway service for processing online payments in India
- When data is sent: When a user submits a payment form using Instamojo gateway
- Data sent: Customer name, email, mobile number, payment amount, currency, order details
- Purpose: To create payment orders and process payments securely
- Service URL: https://instamojo.com/
- Terms of Service: https://instamojo.com/terms/
- Privacy Policy: https://instamojo.com/privacy/
- Documentation: https://docs.instamojo.com/
Data Security: 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.
User Consent: 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.
Requirements
- WordPress 5.0 or higher
- PHP 7.4 or higher
- MySQL 5.6 or higher
- SSL certificate (recommended for production)
Configuration
1. Gateway Setup
- Go to FormPays Pro Settings
- Select your preferred payment gateway
- Enter your gateway credentials:
- Razorpay: Key ID, Key Secret, Webhook Secret
- PayU: Merchant Key, Salt Key, Authorization Header
2. Create Your First Form
- Go to FormPays Pro Forms Add New
- Fill in form details (title, description, gateway)
- Add fields (Name, Email, Mobile, Amount, etc.)
- Set up conditional logic if needed
- Save the form
3. Embed the Form
Use the generated shortcode in any post or page:
[formpays_pro_payment_form id=»1″]
Usage
Creating Payment Forms
Basic form structure:
php
$form_data = array(
'title' => 'Product Payment',
'description' => 'Complete your purchase',
'gateway' => 'razorpay',
'amount_type' => 'fixed',
'fixed_amount' => 999.00,
'currency' => 'INR',
'fields' => array(
array(
'id' => 'name',
'label' => 'Full Name',
'type' => 'text',
'required' => true
),
array(
'id' => 'email',
'label' => 'Email Address',
'type' => 'email',
'required' => true
),
array(
'id' => 'mobile',
'label' => 'Mobile Number',
'type' => 'tel',
'required' => true
)
)
);
Conditional Logic
`php
$conditional_logic = array(
array(
‘field’ => ‘payment_type’,
‘operator’ => ‘equals’,
‘value’ => ‘business’,
‘action’ => ‘show’,
‘target’ => ‘company_name’
)
);
`
Payment Processing
Form submission:
`php
add_action(‘wp_ajax_formpays_pro_submit_form’, ‘handle_payment’);
add_action(‘wp_ajax_nopriv_formpays_pro_submit_form’, ‘handle_payment’);
function handle_payment() {
// Form data is automatically processed
// Payment gateway is initialized
// User is redirected to payment page
}
`
Webhook handling:
php
// Webhook endpoints are automatically created
// /wp-json/formpays-pro/v1/webhook/razorpay
// /wp-json/formpays-pro/v1/webhook/payu
Transaction Management
Get transaction:
php
global $formpays_pro;
$transaction = $formpays_pro->transactions->get_transaction('TXN_123');
Update status:
php
$result = $formpays_pro->transactions->update_transaction_status(
'TXN_123',
'success'
);
Customization
Styling
The plugin includes CSS classes for easy customization:
css
.formpays-pro-form-wrapper { /* Form container */ }
.formpays-pro-field { /* Individual field */ }
.formpays-pro-field-label { /* Field labels */ }
.formpays-pro-field-input { /* Field inputs */ }
.formpays-pro-submit-btn { /* Submit button */ }
JavaScript Events
`javascript
// Form submission events
jQuery(document).on(‘formpays_pro_form_submit’, function(e, formData) {
// Custom handling before submission
});
// Payment success events
jQuery(document).on(‘formpays_pro_payment_success’, function(e, response) {
// Custom handling after successful payment
});
`
Hooks and Filters
`php
// Modify form data before processing
add_filter(‘formpays_pro_form_data’, ‘modify_form_data’, 10, 2);
// Custom payment validation
add_filter(‘formpays_pro_validate_payment’, ‘custom_validation’, 10, 2);
// Modify email content
add_filter(‘formpays_pro_email_content’, ‘customize_email’, 10, 3);
`
Testing
Test Mode
Both Razorpay and PayU support test mode:
1. Enable test mode in gateway settings
2. Use test credentials from your gateway dashboard
3. Test complete payment flow without real charges
Test Cards
Razorpay:
* Success: 4111 1111 1111 1111
* Failure: 4000 0000 0000 0002
PayU:
* Success: 4012 0000 0000 0000
* Failure: 4000 0000 0000 0002
Email Notifications
Available Notifications
- Payment Success – Customer: Confirmation email to customer with transaction details
- Payment Success – Admin: Notification to admin about successful payment
- Payment Failed – Customer: Failure notification with retry information
- Payment Failed – Admin: Alert to admin about failed payment
Email Template Customization
- Go to FormPays Pro Email Notifications
- Customize email templates with dynamic placeholders:
{transaction_id}– Transaction ID{amount}– Payment amount{customer_name}– Customer name{customer_email}– Customer email{payment_date}– Payment date and time{payment_method}– Selected payment method{form_title}– Form title{site_name}– Your site name
- Enable/disable individual email notifications
- Test email functionality to verify settings
Customization
`php
// Modify email templates
add_filter(‘formpays_pro_email_template’, ‘custom_email_template’, 10, 3);
// Add custom notification recipients
add_filter(‘formpays_pro_admin_emails’, ‘add_custom_emails’);
`
Troubleshooting
Common Issues
Payment Not Processing:
1. Check gateway credentials
2. Verify webhook URLs are set correctly
3. Check server logs for errors
4. Ensure SSL is enabled (for live mode)
Forms Not Displaying:
1. Check if form is published
2. Verify shortcode syntax
3. Check for JavaScript conflicts
4. Review browser console for errors
Webhook Issues:
1. Verify webhook secret is correct
2. Check webhook URL accessibility
3. Review server logs for webhook failures
4. Test webhook endpoint manually
Debug Mode
Enable WordPress debug mode for detailed error logging:
php
// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
API Reference
REST API Endpoints
`
GET /wp-json/formpays-pro/v1/forms/{id}
GET /wp-json/formpays-pro/v1/transactions/{id}
POST /wp-json/formpays-pro/v1/webhook/{gateway}
`
AJAX Actions
`php
// Form submission
wp_ajax_formpays_pro_submit_form
wp_ajax_nopriv_formpays_pro_submit_form
// Admin actions
wp_ajax_formpays_pro_save_form
wp_ajax_formpays_pro_delete_form
wp_ajax_formpays_pro_save_gateway_settings
`
Contributing
We welcome contributions! Please follow these steps:
- Fork the repository (https://github.com/sanyogs/formpays-pro)
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This plugin is licensed under the GPL v2 or later.
Acknowledgments
- WordPress community for the amazing platform
- Razorpay and PayU for their excellent APIs
- All contributors and beta testers
FormPays Pro – Making payment forms simple and powerful!
Capturas

Dashboard Interface 
Payment Gateway Settings 
Page Handling Common Settings 
Get Started with FormPays Pro 
Create New Payment Form 
Edit Payment Form 
Formpays Pro Template Form 
Payment and Contact Form 
Payment Transaction and Data Collection 
Transaction Details 
Analytics Dashboard 
Drag and Drop Form Field 
Notification Email Template
Instalación
Method 1: WordPress Admin (Recommended)
- Download the plugin ZIP file
- Go to WordPress Admin Plugins Add New
- Click «Upload Plugin» and select the ZIP file
- Click «Install Now» and then «Activate Plugin»
Method 2: Manual Installation
- Extract the plugin files to
/wp-content/plugins/formpays-pro/ - Activate the plugin through the WordPress admin interface
FAQ
-
How do I create my first payment form?
-
- Go to FormPays Pro Forms Add New
- Fill in form details (title, description, gateway)
- Add fields (Name, Email, Mobile, Amount, etc.)
- Set up conditional logic if needed
- Save the form
- Use the generated shortcode:
[formpays_pro_payment_form id="1"]
-
Which payment gateways are supported?
-
Currently supported:
* Razorpay (Cards, UPI, NetBanking, Wallets)
* PayU (Cards, UPI, NetBanking, Wallets)More gateways coming soon!
-
Is this plugin secure?
-
Yes! The plugin follows WordPress security best practices:
* CSRF protection with nonce verification
* Input sanitization and validation
* Encrypted storage of sensitive data
* Secure webhook handling
* Permission-based access control -
Can I customize the form appearance?
-
Yes! The plugin includes CSS classes for easy customization:
*.formpays-pro-form-wrapper– Form container
*.formpays-pro-field– Individual field
*.formpays-pro-field-label– Field labels
*.formpays-pro-field-input– Field inputs
*.formpays-pro-submit-btn– Submit button -
How do I test payments?
-
Both gateways support test mode:
1. Enable test mode in gateway settings
2. Use test credentials from your gateway dashboard
3. Test complete payment flow without real chargesTest Cards:
* Razorpay Success: 4111 1111 1111 1111
* Razorpay Failure: 4000 0000 0000 0002
* PayU Success: 4012 0000 0000 0000
* PayU Failure: 4000 0000 0000 0002 -
What if I need help?
-
Check the troubleshooting section in the plugin documentation or contact support.
Reseñas
Colaboradores y desarrolladores
«FormPays Pro» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce «FormPays Pro» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
1.1.3
- Features: Added Email Notifications & Confirmations menu with customizable email templates
- Features: Automatic email notifications for payment success and failure to customers and admins
- Features: Test email functionality to verify email settings
- Features: Smart phone number formatting with country code for Razorpay integration
- Bug Fix: Fixed deprecated dynamic property warning for email_handler
- Bug Fix: Resolved payment method selection not being passed to Razorpay gateway
- Bug Fix: Fixed customer phone number not being prefilled in Razorpay checkout
- Bug Fix: Corrected transaction time display on success page
- Enhancement: Enhanced success page with more detailed transaction information
- Code Quality: Fixed placeholder ordering in translatable strings
- Code Quality: Added WordPress Coding Standards compliance for email notifications
1.1.2
- Security: Fixed unsafe redirects – now uses wp_safe_redirect() for all admin redirects
- Security: Resolved WordPress global variable conflicts (page, status, per_page)
- Security: Enhanced nonce verification across admin functions
- Compliance: Plugin now meets WordPress.org security requirements
- Quality: 95% WordPress Coding Standards compliance
1.1.1
- Code Quality: Applied 36,318+ WordPress Coding Standards fixes
- JavaScript: Moved inline scripts to dedicated files for better performance
- Standards: Enhanced code formatting and documentation
- Compliance: Ready for WordPress Plugin Directory submission
1.1.0
- Features: Added PhonePe gateway integration with SDK v2
- Security: Enhanced webhook verification and nonce handling
- Performance: Improved database queries and caching
- UI/UX: Enhanced admin interface and form builder
1.0.0
- Initial release
- Razorpay and PayU integration
- Form builder with conditional logic
- Complete transaction management
- Email notification system
- Admin dashboard and settings
- REST API and webhook support
