M-Pesathe money path · admin only · every change backed up and logged

automatic payouts
OFF
the switch above
sites ready for B2C
0 of 0
complete credentials
cap per payment
0
KES, one click cannot exceed it
cap per day
0
KES, counted 16:00 to 16:00
Withdrawals fail for want of float, not for want of a credential. Every live site pays from 3009768, whose identity answers Safaricom (ResultCode 0) and whose balance has been 0.00 since February. Nothing leaves until it is funded: bank RTGS to 3333009768, then Working → Utility in its portal, then connect.php --payout for the first KES 10. No callback address is set. dashboard-config.json could not be read — payouts are OFF by default.
site↕env↕deposits (STK)↕payouts (B2C)↕in / out↕initiator↕credential↕operator↕
No sitesThe register is empty.

Set a keyon one site, some, or all

Each site’s .env is copied to .env.pre-mpesa.<time>, the one line is rewritten, the file is read back to prove it took, and Laravel’s config cache is cleared so the running site uses the new value. Secrets are masked in the log.
Deposit money never passes through this page — it lands on each site’s paybill directly. This page holds only the keys that let a site talk to Safaricom, and the switch that lets money leave.