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
TextDaraja BusinessShortCode for STK push (e.g. 174379 sandbox).
STK Passkey
passkey
TextLipa Na M-Pesa Online passkey used to derive Password field.
B2C Initiator Name
initiator_name
TextAPI Initiator username (configured in Daraja portal).
B2C Initiator Password
initiator_password
TextPlain initiator password. Encrypted with Safaricom public cert to build SecurityCredential at runtime.
Daraja Public Cert (PEM)
public_cert_pem
Long textRSA public certificate used to encrypt initiator_password. Leave blank to use the baked sandbox cert; override per environment.
Callback Base URL
callback_url_base
TextFully-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/NoHas Message
Sequence
sequence
NumberSequence
Active
active
Yes/NoActive
Sandbox Mode
sandbox
Yes/NoSandbox Mode
Consumer Key
consumer_key
TextConsumer Key
Consumer Secret
consumer_secret
TextConsumer Secret
API Key
api_key
TextAPI Key
API Secret
api_secret
TextAPI Secret
Paybill / Short Code
paybill
TextPaybill / Short Code
Default B2C CommandID
b2c_command_id
Choice: Business Payment, Salary Payment, Promotion PaymentDefault B2C CommandID
Webhook URL
callback_url
TextWebhook URL
HMAC Secret
hmac_secret
TextHMAC Secret
Settlement Journal
journal_id
Link → account.journalSettlement Journal
Supports C2B (Customer→MFI)
supports_c2b
Yes/NoSupports C2B (Customer→MFI)
Supports B2C (MFI→Customer)
supports_b2c
Yes/NoSupports B2C (MFI→Customer)
Supports STK Push
supports_stk_push
Yes/NoSupports STK Push
Supports Balance Query
supports_balance
Yes/NoSupports Balance Query
Supports Reversal
supports_reverse
Yes/NoSupports Reversal
# Transactions
transaction_count
Number# Transactions
Success Rate (%)
success_rate
DecimalSuccess Rate (%)
Color
color
NumberColor
Company
company_id
Link → res.companyCompany

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?