Snap Pay is the payments brand of Snap Pay Solutions, Nairobi, which operates the Snap Pay platform at snapcashpay.com and publishes this plugin.
Snap Pay lets your customers pay by M-Pesa, Airtel Money or MTN Mobile Money. The money is not paid straight out to you. Snap Pay holds it, emails the buyer an 8-character delivery code, and releases the funds to your Snap Pay wallet once you enter that code on the order.
That is the point of it. The buyer knows they are not sending money into the dark, and you get paid for a delivery that actually landed.
How an order runs
Codes last 14 days. Five wrong entries locks a code for an hour. If a buyer loses their code, Snap Pay support can release the funds after checking with them — there is no way to release money on a timer, by filter, or by any setting in this plugin.
Selling across the border
A Ugandan buyer on a Kenyan store sees the exact shilling amount they will be charged, with the exchange rate locked for 15 minutes before they pay. You still settle in your own currency at the rate quoted at checkout. Snap Pay carries the currency movement, not you and not the buyer.
What this plugin is
A thin adapter. It renders checkout, mirrors order state, and talks to the Snap Pay platform. Escrow, the ledger, fees, reserves, exchange rates, provider connections and payouts all live on the platform. The plugin holds no provider credentials and never contacts Safaricom, Airtel or MTN.
This plugin does not work on its own. It requires an account with Snap Pay (Snap Pay Solutions, snapaysolutions.com) and sends data to the Snap Pay platform API, operated by the same business at snapcashpay.com, in order to take payments.
Service: Snap Pay platform API, https://api.snapcashpay.com (sandbox: https://sandbox-api.snapcashpay.com). Your site may be configured to use a different Snap Pay endpoint if support has given you one.
When data is sent:
What is sent: the order number and order key, the amount and currency, the customer’s name, email address and mobile money number, the customer’s billing country, the payment method chosen, and your store URL. Nothing else from the order is transmitted — no addresses, no cart contents, no IP addresses.
What is received: the transaction status, the fee and reserve amounts, the exchange rate, and the delivery code so it can be added to your order email.
Webhook endpoint: the plugin registers POST /wp-json/snappay/v1/webhook on your site so the Snap Pay platform can report payment events. The route is public by design (the platform has no WordPress login); every request is rejected unless its HMAC-SHA256 signature, timestamp and event id check out.
What is stored on your site: the Snap Pay transaction reference, the payment state, the fee/reserve/settlement figures, and whether a delivery code has been issued and when it expires. The delivery code itself is never stored on your site or written to any log.
Terms of service: https://snapcashpay.com/terms
Privacy policy: https://snapcashpay.com/privacy
By installing this plugin and connecting an account you agree to those terms.
M-Pesa, Airtel Money, MTN and MoMo are trademarks of their respective owners. Their use here refers to the payment methods supported and does not imply endorsement, partnership or official status. Snap Pay is not affiliated with Safaricom, Airtel or MTN.
WooCommerce is a trademark of Automattic Inc. This plugin is not affiliated with or endorsed by Automattic.