The Simiz Drupal Commerce module lets you accept mobile money payments directly in your online store. Customers pay via Orange Money, MTN MoMo, and other mobile wallets — with automatic order updates through webhooks.

Prerequisites

RequirementMinimum version
Drupal9.0
Commerce2.0
PHP8.1
Composer2.x
Simiz accountCreate one free
You need your Simiz API keys before configuring the module. Find them in Dashboard > Settings > API Keys.

Installation

1

Install via Composer

composer require simiz/drupal-payment
2

Enable the module

drush en simiz_payment -y
drush cr
Or enable it through the admin UI at Extend and check Simiz Payment.
3

Configure the payment gateway

  1. Go to Commerce > Configuration > Payment gateways
  2. Click Add payment gateway
  3. Select Simiz Payments as the plugin
  4. Enter your API key and webhook secret
  5. Select the mode (Test or Live)
  6. Save

Configuration

Payment gateway settings

SettingDescription
Display namePayment method name shown to customers (default: “Mobile Money”)
ModeTest (Sandbox) or Live (Production)
API KeyYour Simiz API key for the selected mode
Webhook SecretWebhook signing secret from the Simiz dashboard

Webhook URL

The module registers a webhook endpoint at:
https://your-store.com/simiz/webhook
Copy this URL into your Simiz dashboard under Settings > Webhooks.

Payment flow

1

Customer checks out

The customer selects Mobile Money at checkout and chooses their provider.
2

Payment is initiated

The module creates a transaction via the Simiz API. The customer is redirected to the Simiz checkout page.
3

Customer confirms payment

The customer confirms the payment by entering their mobile money PIN.
4

Webhook confirms the order

Simiz sends a transaction.completed webhook. The module verifies the signature and completes the order.

Supported payment methods

MethodTypeStatus
Orange MoneyMobile MoneyAvailable
MTN Mobile MoneyMobile MoneyAvailable
WaveMobile MoneyComing Soon
Moov MoneyMobile MoneyComing Soon
Airtel MoneyMobile MoneyComing Soon
M-PesaMobile MoneyComing Soon

Supported currencies

CurrencyCodeCountries
Central African CFA FrancXAFCameroon, Central African Republic, Chad, Congo, Equatorial Guinea, Gabon
West African CFA FrancXOFBenin, Burkina Faso, Ivory Coast, Guinea-Bissau, Mali, Niger, Senegal, Togo
Ghanaian CediGHSGhana
Nigerian NairaNGNNigeria
Kenyan ShillingKESKenya
Ugandan ShillingUGXUganda
Rwandan FrancRWFRwanda
Tanzanian ShillingTZSTanzania

Webhooks

EventOrder action
transaction.createdOrder created with Draft status
transaction.processingOrder status unchanged
transaction.completedOrder marked as Completed
transaction.failedOrder marked as Cancelled
transaction.cancelledOrder marked as Cancelled
transaction.expiredOrder marked as Cancelled
refund.createdRefund initiated
refund.completedRefund recorded on the order
refund.failedLog entry created

Test mode

  1. Go to Commerce > Configuration > Payment gateways
  2. Edit your Simiz gateway and set the mode to Test
  3. Enter your sandbox API key (smz_test_*)
  4. Save
The module connects to sandbox.api.simiz.io and no real money is charged.

Full sandbox documentation

See all test numbers and scenarios in the Sandbox Testing guide.

Troubleshooting

Solutions:
  • Verify your webhook URL in the Simiz dashboard
  • Check that your webhook secret matches
  • Ensure your server allows incoming POST requests
  • Check Drupal logs at Reports > Recent log messages

Next steps

Webhook Verification

Learn about webhook configuration and signature verification.

API Reference

Explore the full Simiz API.

Sandbox Testing

Test all payment scenarios before going live.

Support

Need help? Contact our support team.

Changelog

Version history

VersionDateChanges
1.0.02026-03-01Initial release — mobile money payments, webhooks, sandbox