[WordPress] 外掛分享: Shashura Mobile Money for CampTix

首頁 › 外掛目錄 › Shashura Mobile Money for CampTix
全新外掛
安裝啟用
—
尚無評分
剛更新
最後更新
—
問題解決
WordPress 5.8+ PHP 7.4+ v1.0.2 上架:2026-10-28

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.2) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Shashura Mobile Money for CampTix」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Shashura Mobile Money for CampTix adds MTN and Airtel Mobile Money as a payment option for CampTix, the WordPress event ticketing plugin used by WordCamp and community events. It is built for organisers selling tickets in Uganda who need a payment method their attendees already use day to day. This plugin is developed and maintained by Cipherwave Software Limited (Shashura) and is not affiliated with, or endorsed by, the CampTix project.
A Shashura merchant account is required to use this plugin. Sign up or log in at https://shashura.com.
The plugin connects CampTix to the Shashura Mobile Money API and handles the full collection lifecycle: number verification, the PIN push to the buyer’s phone, settlement confirmation, and reconciliation. It runs against either Shashura’s Sandbox or Production environment, and the API endpoint is configurable, so it can be pointed at a specific Shashura deployment rather than the public default.
How a payment works

The buyer selects Mobile Money at checkout and enters their MTN or Airtel number.
The number is verified against the network before anything is charged, and the registered account name is shown to the buyer for confirmation.
A PIN prompt is pushed to the buyer’s phone for the exact order total.
The plugin confirms the payment with Shashura directly rather than trusting the browser or an incoming webhook on their own. Both only trigger a check; only a status enquiry whose reference and amount match the order can mark it paid.
Once confirmed, the buyer is taken to their CampTix ticket page and receives CampTix’s standard confirmation email.

Reliability and safety

Every payment prompt on an order is tracked and reconciled, including ones approved after a buyer tried more than once.
A duplicate payment on the same order is detected and flagged to the site administrator for a manual refund, rather than accepted or dropped silently.
Incoming webhooks are verified against an HMAC-SHA256 signature. Unsigned, forged, oversized or mismatched-environment events are rejected.
A per-order lock stops the webhook, the buyer’s browser, an order cancellation and CampTix’s own timeout sweep from recording conflicting outcomes for the same order at the same time.
A payment approved after an order was cancelled or timed out is still recognised and completes the order.
Works with both current CampTix (2.x) and CampTix 1.4.x, using the reconciliation strategy appropriate to each.

Requirements

CampTix, with the ticket currency set to UGX.
A Shashura merchant account with an app configured for Mobile Money collections, and its Client ID, Client Secret and Webhook Secret.
A publicly reachable site, with the server’s outbound IP whitelisted on the Shashura app, so callbacks and settlement can reach the plugin.

Getting Your Shashura API Credentials
This plugin needs three values from your Shashura merchant account: a Client ID, a Client Secret, and a Webhook Secret. All three are issued from the Apps page of your Shashura merchant dashboard.

Log in to your Shashura merchant dashboard at https://shashura.com and open the Apps page. If you don’t have an account yet, sign up there first.
Click Create App and give it a name, such as your event site’s name. Shashura generates a Sandbox credential pair and a Production credential pair for the app at the same time, along with a Webhook Signing Secret, so there is no separate step to request production access later.
The Apps page lists each Client ID against its environment:

Client ID: SANDBOX begins with TID_. Use this, with its matching Client Secret, while Environment is set to Sandbox in this plugin.
Client ID: PRODUCTION begins with PID_. Use this, with its matching Client Secret, once Environment is switched to Production.
Client Secret is hidden by default. Use the reveal icon to display it on screen, or the regenerate icon to issue a new one. Regenerating immediately invalidates the previous secret, so update this plugin’s settings straight after.

Copy the Client ID and Client Secret for the environment you are configuring into this plugin’s Payment settings.
Reveal the Webhook Signing Secret (begins with whsec_) on the same Apps page and copy it into this plugin’s Webhook Secret field.
Copy the webhook URL this plugin displays under its Webhook Secret field and paste it into the Callback URL field for the same app on the Apps page.
Ask Shashura to whitelist your server’s outbound IP address for this app, so callbacks and settlement checks are accepted.

Because each app holds both a Sandbox and a Production credential pair, going live does not require creating a new app; only switching this plugin’s Environment setting to Production and swapping in the Production Client ID and Secret from the same Apps page.
External services
This plugin connects to the Shashura Mobile Money API to collect ticket payments. This is required functionality: without it, the plugin cannot verify mobile numbers, push PIN prompts, or confirm payment, since Mobile Money collection can only happen through a licensed Mobile Money aggregator.
What is sent, and when:

Number verification: when a buyer enters a mobile number at checkout, that number is sent to Shashura to look up the registered account name on the MTN/Airtel network, shown to the buyer for confirmation before anything is charged.
Payment request: once the buyer confirms, the mobile number, the order total, and an order reference are sent to Shashura to push a PIN prompt to the buyer’s phone.
Status confirmation: after a prompt is sent, this plugin asks Shashura directly whether the referenced payment succeeded (and Shashura also notifies this plugin via a signed webhook). No card numbers, mobile money PINs, or other site data are sent.
These calls happen only when a buyer actually attempts a Mobile Money payment at checkout, never on a page load with no checkout activity.

This service is provided by Shashura (operated by Cipherwave Software Limited): Terms of Service, Privacy Policy.
A Shashura merchant account, with an app’s Client ID and Client Secret, is required to use this plugin. See “Getting Your Shashura API Credentials” above.
Additional Information
About Shashura
Shashura is a Mobile Money payment gateway for Uganda, settling payments through MTN and Airtel Mobile Money. A Shashura merchant account is required to use this plugin. Sign up or log in at https://shashura.com.
Privacy
Against each paid order, this plugin stores the payer’s registered name, a masked mobile number, the mobile network, and the Shashura transaction reference, for reconciliation and support. Full, unmasked phone numbers and names are included in WordPress’s own Tools → Export Personal Data and Erase Personal Data tools, so data-subject requests are handled through core WordPress, not a separate process. This plugin never handles or stores card numbers, mobile money PINs, or Shashura account credentials.
Support
For help with a Shashura account, API credentials, or a specific payment, contact Shashura support through the merchant dashboard at https://shashura.com. For issues with this plugin itself, use this plugin’s support forum on WordPress.org.
Testing
An automated end-to-end suite (92 checks) has been run against WordPress with both current CampTix (2.x) and CampTix 1.4.x, covering the full payment lifecycle: KYC errors, underpayment, wrong reference, forged or replayed webhooks, double approval, telco rejection, token expiry, cancel races, concurrent webhook and browser settlement, the timeout sweep, rate limits, and privacy export/erase. An independent security review of the code and a live test deployment was also carried out, with every finding fixed and covered by the test suite.
Credits
Developed and maintained by Cipherwave Software Limited.
Developer Filters
The following filters are available to adjust plugin behaviour from a theme or another plugin:

shasmomo_lookups_per_ip (default 20): number verification checks allowed per visitor IP per hour.
shasmomo_lookups_alert (default 300): site-wide number verification checks per hour that trigger an admin email.
shasmomo_client_ip: overrides the IP address used for rate limiting.
shasmomo_accent_color (default #1d4ed8): accent colour used on the payment pages.
shasmomo_http_timeout (default 25): timeout, in seconds, for calls to the Shashura API.
shasmomo_base_url (default https://shashura.com/api/v1): overrides the API base URL on top of the settings field. HTTPS is enforced except for local or loopback addresses.

延伸相關外掛

文章
Filter
Mastodon