WP Manifestindependent plugin directory
manifest / forms / wp-lead-capture-pro

WP Lead Capture Pro

WordPress lead capture plugin with Stripe Payment Intent and Zapier webhook integration. PSR-4 architecture, zero external PHP dependencies, vanilla JS frontend, Gulp 4 build pipeline.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/anisur2805/wp-lead-capture-pro/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A WordPress lead capture plugin with Stripe Payment Intent and Zapier webhook integration. Built as a portfolio demo: PSR-4 architecture, WordPress APIs only, zero external PHP dependencies, vanilla JS frontend.

Note: portfolio demo plugin — not for production deployment without a security audit.

Features

  • [wplcp_form] shortcode — lead capture form (name, email, phone, message)
  • Client-side validation (vanilla JS) + server-side validation
  • AJAX submission with nonce verification
  • Optional Stripe Payment Intent (deposit) on submission — REST API, no SDK
  • Optional Zapier webhook (JSON POST with retry, max 3 attempts)
  • Admin leads table (WP_List_Table) with pagination, bulk delete, status badges
  • Settings page built on the WordPress Settings API
  • Custom DB table with versioned migration path

Requirements

  • PHP 8.0+
  • WordPress 6.0+
  • Node 20+ and npm (build only)
  • Composer (autoloading)

Installation

  1. Clone or copy this plugin into wp-content/plugins/wp-lead-capture-pro.

  2. Build it:

    composer install
    npm install
    npm run build
  3. Activate WP Lead Capture Pro in Plugins.

Usage

Add the shortcode to any page or post:

[wplcp_form]

Settings

Lead Capture → Settings in wp-admin:

Setting Notes
Form Title / Submit Button Text Displayed on the frontend form
Enable Stripe Payment Intent Toggles the card element on the form
Stripe Secret Key Use a test key (sk_test_...) from the Stripe dashboard
Stripe Publishable Key Test key (pk_test_...) — required for the card element
Deposit Amount In cents, e.g. 5000 = $50.00
Currency ISO code, e.g. usd
Enable Zapier Webhook Toggles the webhook on submission
Zapier Webhook URL A "Catch Hook" URL from a Zapier Webhooks trigger

Development

npm run watch   # rebuild on change
npm run dev     # build, then watch
composer dump-autoload   # after adding classes under src/

Source assets live in assets/src/; Gulp outputs minified files to assets/dist/.

Repository

GitHub: https://github.com/anisur2805/wp-lead-capture-pro

License

GPL-2.0-or-later