Plugins

WordPress / WooCommerce

Install and configure the Snippe payment gateway for WooCommerce

The Snippe WooCommerce plugin adds Snippe as a payment method at checkout: mobile money (with USSD push), card, and dynamic QR — all hosted on Snippe's mobile-optimized checkout page.


Requirements

RequirementVersion
WordPress5.8+
WooCommerce6.0+
PHP7.4+
HTTPSRequired in production

The plugin is HPOS-compatible, multisite-compatible, and from v1.2.0+ supports WooCommerce block-based checkout.


Install

Download the plugin

Grab the latest release ZIP from the GitHub releases page.

Upload to WordPress

In WordPress Admin → Plugins → Add New → Upload Plugin, select the ZIP and click Install Now.

Activate

Click Activate once the upload completes.

Configure

Go to WooCommerce → Settings → Payments → Snippe.


Configuration

FieldDescription
TitleDisplay name shown at checkout (e.g. "Mobile Money")
DescriptionDescription shown to the customer
Live API KeyFrom Dashboard → Settings → API Keys
Webhook SecretFor HMAC verification (optional but recommended)
Default Payment TypeMobile Money / Card / QR / customer choice
Order Status after Paymentprocessing or completed
Order PrefixPrefixed to your order reference (default WC-)
Enable LoggingFor debugging — disable in production

The webhook URL is automatically included in every payment request, so you do not need to register a webhook endpoint manually in the Snippe dashboard.


How orders map to webhook events

Snippe eventWooCommerce status
payment.completedProcessing
payment.failedFailed
payment.expiredCancelled
payment.voidedCancelled

If you set Order Status after Payment to Completed, successful payments transition straight to Completed instead of Processing.


Phone number normalization

Customers can enter their phone in any of these formats — the plugin normalizes them before sending to Snippe:

  • 0782123456255782123456
  • 255782123456 → unchanged
  • +255782123456255782123456

Testing

There is no sandbox environment. Use a small live amount (minimum 500 TZS) to verify the end-to-end flow on a staging site, then enable on production.


Troubleshooting

  • No "Snippe" option at checkout — confirm WooCommerce currency is set to TZS; the gateway hides itself for unsupported currencies.
  • Order stuck in "Pending payment" — check WooCommerce → Status → Logs with logging enabled, and verify your site is reachable on HTTPS so webhooks can be delivered.
  • Block checkout doesn't show Snippe — upgrade to plugin v1.2.0+ or revert to the classic [woocommerce_checkout] shortcode.

On this page