Plugin
YourPropFirm Custom WooCommerce Plugin
A WordPress plugin that turns WooCommerce into a registration, payment, and order engine for trading programs.

- Year
- 2025
- Type
- Plugin
- Context
- Team project, QuantTechnology Group
- Industry
- Fintech / Prop Trading
- Role
- PHP developer, one of two developers on the plugin
A two-developer plugin. Contributed 53 commits to a ~10MB PHP codebase.
Problem
Selling prop-trading programs is not selling a normal product: each purchase provisions a trading account with its own parameters, and the stock WooCommerce product and order model has no concept of that.
Solution
A purpose-built plugin that synchronizes WooCommerce products with trading programs, extends order management with the fields the business actually operates on, and replaces the default checkout with one tailored to program registration. On top of that sits the payment layer: multiple international payment service providers normalized behind a single checkout, covering debit and credit card processing through to cryptocurrency, plus transactional email over SMTP and security hardening across the plugin surface.
What I built
- Product ↔ trading program synchronization
- Custom order management extending the WooCommerce order model
- Tailored checkout flow for program registration
- Integrated multiple international payment service providers, from debit and credit card processing to cryptocurrency payments
- Transactional email delivery over SMTP, so order and registration mail does not depend on shared server mail
- Security hardening across the plugin surface: input sanitization, capability checks, and verified payment callbacks
- Admin configuration UI built with Carbon Fields
- AJAX-driven interactions across admin and storefront
- Elementor widget integration for flexible page composition
- Composer dependencies, PHPCS-enforced WordPress coding standards, i18n-ready
Engineering challenges
01
Extending WooCommerce without forking it
Every behaviour change rides on WordPress hooks and filters rather than core modifications, so the store survives WooCommerce and WordPress updates. This is the difference between a plugin that lives for years and one that breaks at the next release.
02
Two sources of truth for one product
A trading program exists in the trading platform; a product exists in WooCommerce. Keeping the two in sync, and deciding which side wins on conflict, is the core problem the plugin solves.
03
One checkout, many payment providers
Every payment service provider brings its own API shape, redirect and callback model, supported currencies, and failure modes. Cryptocurrency adds two more: confirmation latency measured in minutes, and an amount that can arrive slightly off. Rather than branching the checkout per provider, each one is wrapped behind a common interface, so adding a provider is a new adapter instead of a rewrite of the purchase flow.
04
Payment callbacks are untrusted input
A callback that says "paid" arrives from the public internet, and provisioning a funded trading account on a forged one is not a recoverable mistake. Callbacks are verified before anything is provisioned, and the same discipline runs through the rest of the plugin: sanitized input, capability checks on every admin action, and no secrets exposed to the browser.
05
A checkout that cannot afford to be generic
Program registration needs fields, validation, and post-purchase actions the default checkout does not provide, while still remaining a WooCommerce checkout so payment gateways and order reporting keep working.
Stack
- PHP
- WordPress
- WooCommerce
- Payment gateway APIs
- Cryptocurrency payments
- SMTP
- Carbon Fields
- AJAX
- Tailwind CSS
- Composer
- PHPCS
- Elementor API
Screens
One screen shown: the storefront checkout of a live store running the plugin, with the client's branding masked. Admin, order management, and payment configuration screens withheld: proprietary internal product.
