Rails / Providers

The master register of mobile-money rails and aggregators (mmm.provider) - M-Pesa Daraja, Airtel Money, MTN MoMo, Pesapal and Flutterwave. Each record holds the API credentials, callback URL, HMAC secret and per-rail fee schedule that drive STK pushes and disbursements. Getting these right is the prerequisite for every collection and payout in the suite.

Rails / Providers
Rails / Providers — live screen from the BridgeERP MFI Suite.

Workflow

  1. Open Rails / Providers under Configuration.
  2. Create or edit a provider for the rail (M-Pesa, Airtel, MTN, Pesapal, Flutterwave).
  3. Enter API keys, the callback URL and the HMAC signing secret.
  4. Define the per-rail fee schedule applied to transactions.
  5. Toggle sandbox/production and run a test STK push to confirm setup.

Fields reference

Every field on this screen, drawn from the live data model.

FieldTypeRequiredDescription
Business Short Code
short_code
Text—Daraja BusinessShortCode for STK push (e.g. 174379 sandbox).
STK Passkey
passkey
Text—Lipa Na M-Pesa Online passkey used to derive Password field.
B2C Initiator Name
initiator_name
Text—API Initiator username (configured in Daraja portal).
B2C Initiator Password
initiator_password
Text—Plain initiator password. Encrypted with Safaricom public cert to build SecurityCredential at runtime.
Daraja Public Cert (PEM)
public_cert_pem
Long text—RSA public certificate used to encrypt initiator_password. Leave blank to use the baked sandbox cert; override per environment.
Callback Base URL
callback_url_base
Text—Fully-qualified base URL Safaricom calls back. e.g. https://microfinance.example.com/mfi/momo/webhook/mpesa_daraja (use the auto-computed callback_url above unless your edge proxy rewrites the path).
Display Name
name
TextYesDisplay Name
Rail Code
code
Choice: M-Pesa Daraja (Safaricom), Airtel Money, MTN Mobile Money, Tigo Pesa / Yas Pesa, Orange Money, EcoCash, HaloCash, WaveYesRail Code
Base URL
base_url
TextYesBase URL
Has Message
has_message
Yes/No—Has Message
Sequence
sequence
Number—Sequence
Active
active
Yes/No—Active
Sandbox Mode
sandbox
Yes/No—Sandbox Mode
Consumer Key
consumer_key
Text—Consumer Key
Consumer Secret
consumer_secret
Text—Consumer Secret
API Key
api_key
Text—API Key
API Secret
api_secret
Text—API Secret
Paybill / Short Code
paybill
Text—Paybill / Short Code
Default B2C CommandID
b2c_command_id
Choice: Business Payment, Salary Payment, Promotion Payment—Default B2C CommandID
Webhook URL
callback_url
Text—Webhook URL
HMAC Secret
hmac_secret
Text—HMAC Secret
Settlement Journal
journal_id
Link → account.journal—Settlement Journal
Supports C2B (Customer→MFI)
supports_c2b
Yes/No—Supports C2B (Customer→MFI)
Supports B2C (MFI→Customer)
supports_b2c
Yes/No—Supports B2C (MFI→Customer)
Supports STK Push
supports_stk_push
Yes/No—Supports STK Push
Supports Balance Query
supports_balance
Yes/No—Supports Balance Query
Supports Reversal
supports_reverse
Yes/No—Supports Reversal
# Transactions
transaction_count
Number—# Transactions
Success Rate (%)
success_rate
Decimal—Success Rate (%)
Color
color
Number—Color
Company
company_id
Link → res.company—Company

Actions & buttons

Buttons available on this screen and what they do:

  • Test Connection
  • View Transactions

Notes & rules

  • M-Pesa STK push prompts the customer to enter their PIN on their own phone - the PIN is never collected by the institution.
  • The HMAC secret is what validates inbound callbacks as authentic.
  • Per-rail fees feed automatically into transaction cost calculations.
  • Sandbox mode lets staff test against Daraja test numbers before going live.

Technical model: mmm.provider · Record: Mobile Money Provider (Rail)

Was this page helpful?