WordPress
Sell on your site with WordPress integration. Add powerful e-commerce to your existing WordPress website.
Two integration approaches
This tutorial presents two different approaches to integrating WordPress with Easytools:
- Part 1: Automations approach - Uses Easytools Automations to create WordPress users and Simple Restrict plugin for basic access control.
- Part 2: Webhooks approach - Uses a custom WordPress plugin that receives webhooks from Easytools for more advanced subscription management.
Choose the approach that best fits your needs. Both videos demonstrate complete workflows from setup to testing.
Part 1: Automations approach with simple restrict plugin
In this first approach, we use Easytools Automations to automatically create WordPress user accounts when customers purchase your product. We then use the Simple Restrict plugin to control which pages require an active subscription.
[fs-toc-omit]Prerequisites
Before you begin, ensure your WordPress site meets these requirements:
- SSL Certificate: Your WordPress site must have an active SSL certificate (URL starts with https://).
- Permalinks: Go to Settings → Permalinks in WordPress. The structure cannot be set to "Plain". Use "Post name" or any custom structure.
- Administrator access: You need admin-level access to generate Application Passwords and install plugins.
[fs-toc-omit]Step 1: Generate WordPress application password
Application Passwords allow external services like Easytools to connect to your WordPress site securely without using your main login password.
- Log in to your WordPress admin dashboard
- Navigate to Users → Profile (or edit your Administrator account)
- Scroll down to the Application Passwords section
- In the "New Application Password Name" field, enter a name like Easytools
- Click Add New Application Password
- Important: Copy the generated password immediately. You won't be able to see it again.
[fs-toc-omit]Step 2: Connect WordPress app in Easytools
Now you'll establish the connection between Easytools and your WordPress site.
- Log in to your Easytools account
- From the left sidebar, click Store to expand it, then select Automations
- Click the Apps tab in the top navigation
- Click + New app button in the top right corner
- Fill in the connection form:
- Connection name: Enter a descriptive name
- Select app: Choose Wordpress from the dropdown
- Platform URL: Enter your WordPress site URL (must include https://)
- Username: Your WordPress admin username
- Application password: Paste the application password you copied in Step 1
- Click Check connection to verify, then Save
[fs-toc-omit]Step 3: Create automation scenario
Set up an automation that creates a WordPress user account whenever someone purchases your product.
- In Easytools Automations, go to the Scenarios tab
- Click + New scenario
- Configure the scenario:
- Scenario name: Give it a descriptive name
- Send email on failure: Toggle this ON to get notified if the automation fails
- Assign to products: Select the Easytools product that will trigger this automation
- Assign to variants: Choose "All variants" or select specific variants
- Connection: Select the WordPress connection you created in Step 2
- Action: Select Create user
- Click Save
[fs-toc-omit]Step 4: Test the purchase flow
Now test the complete flow to ensure users are created correctly in WordPress.
- Go to your Easytools product page
- Click the Checkout button to preview your checkout page
- Complete a test purchase by filling in all the necessary details
- After successful checkout, check your email inbox for a purchase confirmation email from Easytools
[fs-toc-omit]Step 5: Verify user creation in WordPress
Check that the automation successfully created the user account.
- In Easytools, go to Automations → Executions tab to see execution statistics
- Click on a recent execution to verify it completed successfully
- Log in to your WordPress admin panel
- Go to Users → All Users
- You should see a new user account with Subscriber role and the email address used during checkout
[fs-toc-omit]Step 6: Install simple restrict plugin
Now install a plugin to control which pages require user login. We suggest Simple Restrict as a lightweight option for basic access control. If you need more advanced features, there are many other membership and access control plugins available in the WordPress repository.
- In WordPress admin, go to Plugins → Add New Plugin
- Search for Simple Restrict (or your preferred access control plugin)
- Click Install Now, then Activate
[fs-toc-omit]Step 7: Grant user access permission
Grant the created user the permission to access restricted pages.
- In WordPress admin, go to Users → All Users
- Click on the user that was created by the automation
- Scroll down to the Permissions section
- Check the checkbox for only-logged - "Allow this user to see pages marked as only-logged"
- Click Update User to save
[fs-toc-omit]Step 8: Configure page permissions
Set up which pages should be restricted to logged-in users only.
- In WordPress admin, go to Pages → All Pages
- Select the page you want to protect and click Edit
- In the right sidebar, find the Permissions panel
- Check the only-logged checkbox to restrict this page to logged-in users
- Click Update to save
[fs-toc-omit]Step 9: Test Access Control
This is the crucial final step - verify that access control works correctly for both logged-in and logged-out users.
[fs-toc-omit]Scenario 1: Test as logged-out user (should be blocked)
- Open a new incognito/private browsing window
- Navigate to the protected page URL
- You should be:
- Redirected to a login page, OR
- See a message like "Access Denied" or "This content is restricted", OR
- See a blank page or 403 error (depending on plugin settings)
- This confirms the restriction is working
[fs-toc-omit]Scenario 2: Test as logged-in subscriber (should see content)
- In the same incognito window, go to https://yoursite.com/wp-login.php
- Log in using the credentials for the user created via automation:
- Username: The username created (e.g., test123 or email-based)
- Password: The user will need to use WordPress password reset if they don't have it
- After logging in, navigate to the protected page again
- You should now see the full page content without restrictions
- At the top of the page, you'll see the WordPress admin bar showing Howdy, [username]
[fs-toc-omit]Scenario 3: Test as administrator (full access)
- Log in as your WordPress administrator account
- Navigate to the protected page
- You should see the full content plus the admin toolbar
- This confirms that different user roles have appropriate access
Success! You've now completed Part 1. Users who purchase your product will automatically get WordPress accounts and can access protected content. When their subscription expires, you can configure the automation to delete their WordPress user account.
Part 2: Webhooks approach with custom plugin
This second approach uses webhooks for real-time communication between Easytools and WordPress. A custom plugin handles subscription events, manages user accounts, sends welcome emails, and provides a bouncer page for non-subscribers.
[fs-toc-omit]Step 1: Configure Webhooks in Easytools
First, you need to set up webhook notifications in your Easytools account.
- Log in to Easytools
- Click on your store name in the left sidebar, then select Store settings
- In the top tab menu, click API & Webhooks
- You'll see two main sections:
- Webhook section
- Webhook URL: A text field where you'll paste your WordPress webhook endpoint (you'll get this after installing the plugin)
- Example format: https://yoursite.com/wp-json/easytools/v1/webhook?api_token=IgCWvRX
- Webhook signing key: Shows when the key was created (e.g., "Created 16.11.2025, 11:37:04")
- Buttons: Delete and Change key (with refresh icon)
- If you don't have a signing key yet, you'll see a button to create one
- API keys section
- Description: "Create and manage API keys for your Store. You can find API docs here." (with link)
- + New API key button in the top right
- Section shows "Add a new API key" with instructions for creating API authentication tokens
- Webhook section
- Important: Don't fill in the Webhook URL yet - you'll need to install the plugin first
- If you don't have a webhook signing key, click the button to generate one and copy it immediately
[fs-toc-omit]Step 2: Install the Easytools subscription manager plugin
Install the Easytools subscription manager plugin that handles webhook events.
- Download the plugin file
- In WordPress admin, go to Plugins → Add New Plugin
- Click Upload Plugin and select the ZIP file
- Click Install Now
- Click Activate Plugin
- After activation, "Easytools" will appear in the left WordPress admin sidebar
[fs-toc-omit]Step 3: Configure plugin settings
Set up the plugin with your Easytools credentials and preferences.
- In WordPress admin sidebar, click Easytools
- Click Settings from the submenu
- Configure the following sections:Basic Settings:
- Easytools Checkout URL: Enter your Easytools product checkout URL
- Webhook Signing Key: Paste the signing key from Easytools
- API Token (Optional): Optional additional security token
- Webhook URL: This displays your WordPress webhook endpoint - you'll copy this to paste into Easytools later
- Enable Bouncer Page: Check this to enable
- Bouncer Page: Select which page to use as the bouncer page
- Product URL: Your Easytools checkout URL
- Icon Color: Customize button colors if desired
- Protect Entire Site: Optionally protect all pages except selected ones
- Exclude Pages: Choose which pages should remain public
- Click Save Settings
[fs-toc-omit]Step 4: Configure welcome email
Customize the email that new subscribers receive with their password setup link.
- In the Easytools plugin settings (scroll down), find the Email Configuration section
- You'll see a description: "Customize the content of welcome emails sent to new users. Available placeholders: {username}, {site_name}, {login_url}"
- Configure the following fields:
- Email Subject: Default is [{site_name}] Welcome! Set Your Password
- Email Heading: Default shows party emoji and Welcome to {site_name}!
- Email Message: Multi-line text area with preferred content
- Button Text: Default is Set Your Password
- Below the configuration, you'll see a Test Email section:
- Heading: "Test your email configuration"
- Description: "Send a test welcome email to verify your email settings, sender information, and template"
- Enter test email address in the field
- Click Send test email button
- Check your email inbox to verify the welcome email looks correct
[fs-toc-omit]Step 5: Complete webhook connection
Now connect Easytools to your WordPress webhook endpoint.
- In WordPress plugin settings, find the Webhook URL field in Basic Settings
- Click the green Show button to reveal the full URL
- Click the pink Copy URL button to copy it
- Go back to Easytools → Store settings → API & Webhooks
- Paste the copied URL into the Webhook URL field
- The URL will include the API token parameter (e.g., ?api_token=IgCWvRXUx1o45kJfbcem0SbodmQmmT1)
- Click Save
[fs-toc-omit]Step 6: Test Webhook integration
Use the built-in testing tool to verify webhooks are working correctly.
- In WordPress admin, go to Easytools → Webhook Testing
- You'll see the Easytools Webhook Testing page with description: "Test and debug webhook integrations with Easytools payment platform"
- The page shows three main sections:
- Webhook endpoint:
- Webhook URL (with API Token): Displays your endpoint with token masked
- Description: "Use this URL in Easytools → API & Webhooks. The API token provides additional security."
- Signing Key: Masked with dots (••••••••••••••••••)
- API Token: Masked with dots
- Each has green Show and pink Copy buttons
- Example payloads:
- Custom Test Email: Field to enter test email address
- Product Assigned: Section showing "Send test webhook" button
- Shows sample JSON payload preview
- Similar sections for other event types
- Webhook endpoint:
- Enter a test email address in the Custom test email field
- Under Product sssigned section, click Send test webhook
- Check for success message and verify the test worked
[fs-toc-omit]Step 7: Monitor webhook logs
View all webhook events received by your WordPress site.
- In WordPress admin, go to Easytools → Webhook logs
- You'll see a page titled "Monitor and debug webhook communications from Easytools"
- At the top, there's a Date range filter:
- Two date fields: dd.mm.rrrr format
- Text "to" between them
- Blue Filter button (with filter icon)
- Pink Clear button (with X icon)
- On the right, there's an Export: section:
- Green Export to CSV button (with download icon)
- Green Export to MD button (with document icon)
- The main table shows webhook events with green headers:
- Date: Timestamp (e.g., "2025-11-16 22:16:18")
- Event Type: Shows event names like:
- product_assigned
- subscription_created
- product_access_expired
- subscription_deleted
- Customer Email: Email address of the customer
- User ID: WordPress user ID number (e.g., "46", "45", "44")
- Status: All showing green success badges
- Click Details on any row to see the full webhook payload and response
[fs-toc-omit]Step 8: View subscriber management
Check active and inactive subscriptions in the subscriber dashboard.
- In WordPress admin, go to Easytools → Subscribers
- You'll see a description: "View and manage all users with active and inactive subscriptions"
- The page is divided into two sections with green headers:Active Subscriptions:
- Green checkmark icon with Active Subscriptions heading
- Table with columns:
- User: WordPress username
- Email: User email
- Subscription Type: Type of subscription
- Renewal Date: Next renewal date
- Status: Status badge
- If empty: "No active subscriptions found."
- Red X icon with Inactive Accounts heading
- Description: "Users who previously had a subscription that was cancelled, expired, or is no longer active."
- Table with columns:
- User: Username
- Email: Email address
- Last Subscription Type: Type (e.g., "monthly")
- Last Renewal Date: Date (e.g., "2025-11-28 16:14:03")
- Status: Red badge showing Inactive
[fs-toc-omit]Step 9: Test complete purchase flow
Run an end-to-end test to verify the entire integration.
- Visit your Easytools product checkout page
- Complete a test purchase with a real email address
- After purchase, check your email for the welcome email with subject like "Welcome! Set Your Password"
- The email should show:
- Purple/blue button with text "Set your password"
- Email heading showing the party emoji and welcome message
- Your username
- Click the button to set up your password
- Go to Easytools → Subscribers in WordPress
- Verify the user appears in Active Subscriptions
- Go to Webhook Logs and verify events were recorded:
- product_assigned event
- subscription_created event
[fs-toc-omit]Step 10: Test bouncer page and access control
Verify that non-subscribers are redirected to the bouncer page.
- Open an incognito/private browser window
- Navigate to a protected page on your WordPress site
- You should be redirected to the bouncer page
- The bouncer page should display:
- Your site branding/logo (based on template)
- Message explaining subscription is required
- Button to purchase/subscribe (linking to your Easytools checkout)
- Now log in as a subscriber user
- Navigate to the same protected page
- You should see the full page content - no bouncer page
- At the top, you'll see logged in as the subscriber user
Congratulations! You've successfully set up the webhooks-based WordPress integration with the custom plugin. This approach provides real-time subscription management, automatic user creation, welcome emails, access control, and comprehensive logging.