Title: AparimitLabs Payment Gateway for DPO Pay
Author: Aparimit Labs
Published: <strong>September 25, 2026</strong>
Last modified: September 25, 2026

---

Search plugins

![](https://ps.w.org/aparimitlabs-payment-gateway-dpo/assets/banner-772x250.jpg?
rev=3713464)

![](https://ps.w.org/aparimitlabs-payment-gateway-dpo/assets/icon-256x256.jpg?rev
=3713464)

# AparimitLabs Payment Gateway for DPO Pay

 By [Aparimit Labs](https://profiles.wordpress.org/aparimitlabs/)

[Download](https://downloads.wordpress.org/plugin/aparimitlabs-payment-gateway-dpo.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/aparimitlabs-payment-gateway-dpo/#description)
 * [Reviews](https://wordpress.org/plugins/aparimitlabs-payment-gateway-dpo/#reviews)
 *  [Installation](https://wordpress.org/plugins/aparimitlabs-payment-gateway-dpo/#installation)
 * [Development](https://wordpress.org/plugins/aparimitlabs-payment-gateway-dpo/#developers)

 [Support](https://wordpress.org/support/plugin/aparimitlabs-payment-gateway-dpo/)

## Description

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](https://dpopay.com/) – [API Documentation](https://docs.dpopay.com/dpo-pay-by-network/reference/quick-start-guide)–
[Merchant Portal](https://portal.dpopay.com/) – [Terms and Conditions](https://dpopay.com/terms-and-conditions/)–
[Privacy Policy](https://dpopay.com/privacy-policy/)

## Screenshots

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

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

[⌊DPO Pay gateway settings panel — environment selector, Company Token, and Service
Type configuration.⌉⌊DPO Pay gateway settings panel — environment selector, Company
Token, and Service Type configuration.⌉[

DPO Pay gateway settings panel — environment selector, Company Token, and Service
Type configuration.

[⌊WooCommerce checkout with DPO Pay as the selected payment method.⌉⌊WooCommerce
checkout with DPO Pay as the selected payment method.⌉[

WooCommerce checkout with DPO Pay as the selected payment method.

[⌊The DPO Pay secure hosted payment page.⌉⌊The DPO Pay secure hosted payment page
.⌉[

The DPO Pay secure hosted payment page.

[⌊WooCommerce "Order received" confirmation page after successful payment.⌉⌊WooCommerce"
Order received" confirmation page after successful payment.⌉[

WooCommerce “Order received” confirmation page after successful payment.

[⌊Order detail page showing DPO Pay transaction token and VerifyToken result note
after payment.⌉⌊Order detail page showing DPO Pay transaction token and VerifyToken
result note after payment.⌉[

Order detail page showing DPO Pay transaction token and VerifyToken result note 
after payment.

## Installation

 1. Upload the `aparimitlabs-payment-gateway-dpo` folder to `/wp-content/plugins/`,
    or install directly via **Plugins > Add New**.
 2. Activate the plugin.
 3. Navigate to **WooCommerce > Settings > Payments** and click **Manage** next to 
    _DPO Pay_.
 4. Select your environment (Sandbox or Live), enter your **Company Token** and **Service
    Type**, and save.

## FAQ

### Where do I get my DPO Pay Company Token?

Log in to your DPO Pay merchant portal at https://portal.dpopay.com, navigate to
your account settings, and copy your Company Token. It is a UUID in the format `
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`.

### What is the Service Type?

The Service Type is a numeric ID assigned by DPO Pay that identifies the category
of goods or services you sell. It is provided to you by DPO Pay when your account
is set up (e.g., 54841 for Test Product in the sandbox environment).

### How do I test the integration?

Set Environment to Sandbox and use one of the DPO Pay sandbox Company Tokens and
Service Types provided in your DPO support credentials. The plugin automatically
routes both live and sandbox transactions to the correct `secure.3gdirectpay.com`
endpoint based on your token.

### Is this compatible with WooCommerce HPOS?

Yes. The plugin explicitly declares HPOS compatibility and uses `wc_get_order()`,`
$order->update_meta_data()`, and `$order->payment_complete()` throughout.

### What happens if the customer closes the browser on the DPO payment page?

Don’t worry! The plugin implements DPO Pay’s Payment Token Notification (PTN) Webhook.
DPO Pay will secretly ping your WooCommerce store in the background the moment the
payment succeeds, and the plugin will automatically update the order status to Processing.

### Does this plugin store card numbers or payment credentials?

No. All card and wallet data is entered and stored on DPO Pay’s PCI-DSS certified
hosted environment. This plugin only stores the DPO transaction token, order amount,
currency, result code, and status in the local `wp_dpo_transactions` table.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AparimitLabs Payment Gateway for DPO Pay” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ Aparimit Labs ](https://profiles.wordpress.org/aparimitlabs/)

[Translate “AparimitLabs Payment Gateway for DPO Pay” into your language.](https://translate.wordpress.org/projects/wp-plugins/aparimitlabs-payment-gateway-dpo)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/aparimitlabs-payment-gateway-dpo/),
check out the [SVN repository](https://plugins.svn.wordpress.org/aparimitlabs-payment-gateway-dpo/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/aparimitlabs-payment-gateway-dpo/)
by [RSS](https://plugins.trac.wordpress.org/log/aparimitlabs-payment-gateway-dpo/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial public release. Fully compliance-checked with Aparimitlabs architectural
   standards.
 * PSR-4 autoloader, HPOS compatibility, dedicated transaction log table, CreateToken
   + VerifyToken flow.
 * Full WooCommerce Blocks checkout integration.
 * Payment Token Notification (PTN) Webhook support.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.2 or higher **
 * Tags
 * [africa](https://wordpress.org/plugins/tags/africa/)[direct pay online](https://wordpress.org/plugins/tags/direct-pay-online/)
   [dpo pay](https://wordpress.org/plugins/tags/dpo-pay/)[payment gateway](https://wordpress.org/plugins/tags/payment-gateway/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/aparimitlabs-payment-gateway-dpo/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/aparimitlabs-payment-gateway-dpo/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/aparimitlabs-payment-gateway-dpo/reviews/)

## Contributors

 *   [ Aparimit Labs ](https://profiles.wordpress.org/aparimitlabs/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/aparimitlabs-payment-gateway-dpo/)