BMPF Payment Infrastructure (BMPF) is a modular WordPress payment foundation developed by Bold Mark Creative that integrates with PayFast for payment processing.
The Free Edition provides a reliable payment foundation for WordPress websites that need to accept invoice payments or donations through PayFast.
BMPF handles the payment infrastructure so website owners and developers do not need to implement PayFast transaction handling, signatures, ITN processing and transaction tracking themselves.
BMPF communicates with PayFast, a third-party payment service, to process payments and verify payment notifications.
When a payment is created, BMPF sends the payment request data required by PayFast, including the merchant identifier, payment amount, payment description, customer return URLs and the BMPF transaction reference. PayFast processes the payment on its own service.
PayFast sends an Instant Transaction Notification (ITN) to the BMPF endpoint configured for the site. BMPF validates the notification and performs a server-side confirmation request to PayFast before updating the transaction status.
For more information about PayFast’s services, terms and privacy practices, see:
BMPF can provide a standalone invoice payment experience using the [bmpf_payment] shortcode.
The customer enters an invoice or payment reference and the amount to be paid. BMPF validates the request, creates the PayFast transaction and redirects the customer to PayFast.
Example:
[bmpf_payment id="invoice-default"]
Invoice references support letters, numbers and common reference characters including periods, underscores, slashes and hyphens.
BMPF can provide a standalone donation payment experience using the same reusable payment shortcode system.
Suggested donation amounts can be configured alongside a custom donation amount.
Example:
[bmpf_payment id="donation-default"]<h3>Payment Flow</h3>
The standard BMPF payment lifecycle is:
BMPF maintains its own transaction record for each payment attempt.
Verified transactions are protected against being treated as new active payments for the same payment reference.
Pending transactions are handled separately from completed transactions so that payment state can be tracked safely.
Existing transaction records are retained for administration and audit purposes.
BMPF provides reusable payment configurations for standalone payment experiences.
Each configuration can define:
Configurations can be managed from the WordPress administration area.
BMPF includes a public integration API that allows other Bold Mark Creative systems and custom WordPress development to request payments through the central BMPF payment infrastructure.
This keeps PayFast handling, transaction creation, verification and payment state in one reusable payment layer.
The Free Edition currently provides the core payment foundation for invoice payments and donations.
The PayFast Sandbox payment lifecycle has been successfully tested, including payment creation, redirect, ITN receipt, notification validation, amount validation, server-side confirmation and transaction verification.
Standalone invoice payments and donations have also been implemented and tested, including decimal payment amounts and configurable donation amounts.
The plugin is intended to provide a stable foundation for future payment integrations while keeping the core payment engine reusable and independent.
BMPF is designed as a reusable payment infrastructure layer.
The core architecture consists of:
BMPF
|
+– Payment Engine
+– PayFast Signature Handling
+– ITN Verification
+– Transaction System
+– Admin Dashboard
+– Integration API
|
+– Standalone Payment Experiences
+– Future Integrations
The payment engine remains responsible for PayFast communication and payment state, while individual payment experiences provide the customer-facing payment context.
BMPF validates payment requests server-side and does not rely solely on browser-side payment information.
PayFast ITN notifications are validated before transactions are updated.
Payment amounts are checked against the original transaction before a payment can be marked as verified.
Administrative actions use WordPress capability checks and nonces.
Bold Mark Creative
https://boldmark.co.za/