
I developed a suite of payment modules for leading eCommerce systems: Magento 2, WordPress/WooCommerce, OpenCart 4, PrestaShop, Joomla, Drupal. The solution enables payment acceptance via multiple methods, webhook handling, PEM-key request signing, and signature verification/validation in webhooks, as well as multilingual support, multi-currency, and flexible configuration from the admin panel. A comprehensive set of documentation is also prepared for integrators and merchants.
Business Objectives
- Onboard new merchants quickly without custom development for each CMS.
- Ensure stable payment processing (authorization/capture/refund/void).
- Unify the webhook pipeline: statuses, acknowledgements, retries, idempotency.
- Support multilingual storefronts and payments in multiple currencies with transparent conversion rules.
- Provide readable documentation and clear event logs for support.
Key Features
- Payment methods: cards, internet banking, local methods (depending on the provider), support for authorize/capture, refund, void.
- Webhooks: signature reception and validation (HMAC/RSA), time-window checks, redeliveries, safe responses (ack).
- PEM key signing: signing outbound requests to the payment service, secure key storage, rotation.
- Idempotency: unique keys for critical operations, protection against duplicate charges.
- Multilingual: localized method names, messages, errors, and email templates.
- Multi-currency: handling base and alternative currency, conversion/display rules on the frontend and in requests.
- Admin panel: enable/disable method, test/prod mode, key upload/rotation, currency/authorization logic settings, custom order statuses, logging.
- Cart/checkout compatibility: seamless integration into the standard flow of each CMS with minimal overrides.
Architecture and Integration
- SDK-like core (shared signing, validation, status-mapping services) plus thin adapters for each CMS.
- Unified payment state model (created → authorized → captured/refunded/voided) mapped to native order statuses in each CMS.
- Security: webhook origin verification, strict payload validation, secret storage in a config vault, detailed (PII-safe) logs.
- Reliability: network retry with backoff, checkout race-condition protection, transactional order updates.
- Performance: asynchronous notifications, minimal blocking calls during checkout, dictionary caching (where applicable).
CMS-Specific Highlights
Magento 2
- Implementation using the modern Gateway pattern (Command/Request/Response/Handler/Validator).
- Support for authorize/capture, partial/full refund, void, custom statuses.
- Admin settings: keys/certificates, contract currency and alternative currency, logging, sandbox mode.
WooCommerce (WordPress)
- Dedicated Payment Gateway with key settings, test/prod, behavior after place order (redirect/auto-submit form).
- Webhook endpoint with signature verification, order status updates, fallback logic.
- Lightweight frontend templates, translations via .po/.mo.
OpenCart 4
- Payment module with method/currency/mode settings; notification handling and status synchronization.
- Compatibility with the standard checkout, minimal theme changes.
PrestaShop
- Classic payment module with a settings page (keys, currency, statuses), success/failure pages, logging.
- Webhook controller with strict signature validation.
Joomla / Drupal
- Plugins with a dedicated configuration page, callback routes, UI string localization, mapping to order statuses.
Multi-Currency Rules
- Definition of the merchant’s contract currency plus an alternative currency (USD/EUR, etc.).
- If the order currency ≠ contract currency: build a request with alternative amount/currency fields; clear customer messaging on the frontend.
- Display “from/to” prices and correct rounding per ISO rules.
Documentation
- Integrator guide (Markdown/PDF): installation, configuration, keys, typical scenarios.
- Flow diagrams: checkout, redirect, webhook, error handling, retries.
- FAQ/troubleshooting: common signature issues, SSL/server time problems, currency mismatches.
- Request/response examples (curl/PHP), signing formats, field descriptions.
Testing and Quality
- Tests for the signing core, validation, and status mapping.
- E2E checks with the payment provider’s sandbox, webhook retry scenarios, idempotency.
- Verification of back-office flows: partial refund, re-capture, order cancellation.
- Logging with correlation IDs for support.
Business Results
- A unified module stack across different CMSs → faster onboarding of new online stores.
- Lower support costs thanks to unified logic, logs, and comprehensive documentation.
- Flexible configuration (keys/modes/currencies/statuses) from the admin panel without code changes.
- Stable payments with correct status reflection and transparent refund/void scenarios
Need a payment module for your CMS/market?
I will prepare the specification and implementation plan, develop the module and run tests, and provide documentation aligned with your contract and currency rules.