AparimitLabs Payment Gateway for DPO Pay
AparimitLabs Payment Gateway for DPO Pay

AparimitLabs Payment Gateway for DPO Pay

0/5 (0 ratings) — active installs Updated Sep 25, 2026
WooCommerce Payment Gateways settings page showing DPO Pay installed and active.

WooCommerce Payment Gateways settings page showing DPO Pay installed and active.

AparimitLabs Payment Gateway for DPO Pay is a production-grade payment gateway that integrates DPO Pay (Direct Pay Online) — the leading payment service provider across Africa and the Middle East — into your WooCommerce store.

GitHub Repository: https://github.com/aparimitlabs/aparimitlabs-payment-gateway-dpo

The integration follows DPO Pay’s recommended Option A flow: CreateToken Hosted Payment Page VerifyToken. All API communication is XML-over-HTTP using WordPress’s native wp_remote_post() function.

Built following strict Aparimitlabs architectural standards: PSR-4 autoloading, HPOS (High-Performance Order Storage) compatibility, a dedicated transaction log table, and zero raw cURL dependencies.

Payment Flow

  1. Customer selects DPO Pay at checkout (fully compatible with WooCommerce Blocks) and clicks Place Order.
  2. The plugin calls createToken on the DPO API to generate a secure transaction token.
  3. Customer is redirected to DPO Pay’s hosted payment page (payv3.php?ID={token}).
  4. Customer completes payment on DPO’s PCI-DSS secure hosted environment.
  5. Primary: DPO redirects the customer back to your store. The plugin calls verifyToken to confirm payment status before completing the order.
  6. Fallback (PTN): If the customer closes their browser, DPO sends a background XML Webhook ping to the plugin, which independently verifies the token and marks the order paid.

Key Features

  • WooCommerce Blocks Ready: Fully integrated with the modern WooCommerce Blocks checkout experience.
  • DPO Pay Hosted Payment Pages: Customer payment data is entered on DPO’s PCI-DSS certified hosted page — no card data passes through your server.
  • Background Webhook (PTN) Support: Orders are guaranteed to update to “Processing” in the background even if the customer closes their browser before returning to your site.
  • VerifyToken Reconciliation: Every returning customer session and webhook ping is independently verified against the DPO API before the WooCommerce order is marked complete, preventing spoofing.
  • Sandbox & Live Environments: Switch between the DPO sandbox and live environment from the WooCommerce gateway settings panel.
  • API Request Logging: Built-in WooCommerce status logger for API requests and XML responses to aid troubleshooting.
  • Transaction Log Table: Every createToken and verifyToken result is persisted to a dedicated wp_dpo_transactions database table for reporting and auditing.
  • HPOS Compatible: Explicitly declares High-Performance Order Storage compatibility.
  • WordPress HTTP API Only: All outbound HTTP communication uses wp_remote_post(). No raw cURL.

Third-Party Services

This plugin connects to the DPO Pay API to initiate and verify payments on behalf of the store owner and their customers. Use of this plugin constitutes acceptance of DPO Pay’s Terms and Conditions.

DPO Pay (Direct Pay Online)

What it is: DPO Pay is a payment service provider operating across Africa and the Middle East, supporting cards, mobile money, and other local payment methods.

When a connection is made: A connection to DPO Pay’s servers is established in two stages:
1. During checkout when a customer places an order (createToken API call — server-to-server).
2. When the customer returns from the DPO payment page (verifyToken API call — server-to-server).

No connection is made during page browsing or admin dashboard loads.

Data transmitted to DPO Pay:
– Your DPO Pay Company Token (in the XML request body for authentication).
– Your Service Type ID.
– The order total amount and currency.
– The WooCommerce order ID (as CompanyRef).
– The redirect and back URLs.
– A payment description string (e.g. “Order #123”).

No customer personal data (name, email, address, card numbers) is transmitted by this plugin. DPO Pay independently collects payment data on their hosted page under their own Privacy Policy.

API Endpoints used:
– API Base URL (Live & Sandbox): https://secure.3gdirectpay.com/API/v6/
– Payment Page URL (Live & Sandbox): https://secure.3gdirectpay.com/payv3.php?ID={token}

DPO Pay Service Links:
– Website
– API Documentation
– Merchant Portal
– Terms and Conditions
– Privacy Policy