CentraPoint

Gateways

DPO Pay

DPO Pay by Network International: cards, mobile money (M-Pesa, MTN, Airtel) and PayPal across Africa.

On this page

DPO Pay by Network International: cards, mobile money (M-Pesa, MTN, Airtel) and PayPal across Africa.

At a glance#

DPO Pay summary
Typedpo
CountriesKenya, Tanzania, Uganda, Rwanda, South Africa, Zambia, Ghana, Nigeria, Malawi, Botswana, Namibia, Côte d'Ivoire, Zimbabwe, Mauritius, Ethiopia
CurrenciesUSD, EUR, GBP, KES, TZS, UGX, RWF, ZAR, ZMW, GHS, NGN, MWK, BWP, NAD, XOF, MUR, ETB
CapabilitiesHosted checkoutOn-demand status verification
Gateway docsdocs.dpopay.com

Checkout experience#

Redirect to the DPO Pay payment page (payv2.php?ID=<TransToken> from createToken).

Configuration fields#

Enter these in the dashboard under Settings → Payment providers → DPO Pay. Secret fields are encrypted at rest and masked after saving; leave a secret blank when editing to keep the stored value.

DPO Pay configuration fields
FieldTypeNotes
Company tokenrequired
companyToken
Secret

Issued by DPO. Use your test company token while Sandbox is on (DPO uses the same URL for test and live).

Service typerequired
serviceType
Text

Numeric service type ID provided by DPO for your account.

Payment time limit (hours)
paymentTimeLimit
Number

PTL: how long the payment page stays valid. DPO default is 96.

Default: 5

Every provider also has Enabled, Sandbox / test mode and Default checkout method switches.

Notification URL#

Notification URL
https://app.centrapoint.co.za/api/webhooks/dpo?provider={providerId}

Copy the exact URL, with your provider ID filled in, from Settings → Payment providers.

  • No per-request notify URL: DPO returns the payer to the return URL, and account-level push notifications are configured by DPO on request. Give DPO this provider's notification URL.

How notifications are verified#

  • DPO callbacks are not signed and the payload is never trusted. The final status always comes from DPO's verifyToken call (Result 000 = paid).
  • When a push includes CompanyRef, it must match the verified CompanyRef.
  • The amount and currency must match the transaction before it can be marked complete.

Going live#

  1. Test with sandbox credentials and Sandbox / test mode on, and confirm the notification appears as processed in the Webhook log.
  2. Replace the credentials with live ones and switch off Sandbox / test mode.
  3. Update any URL or secret configured in the gateway's portal for the live environment.
  4. Make a small live payment and confirm it with the Transactions API.