ChatPilot
PayHero
PayHero STK Push collections and B2C disbursements.
PayHero credentials are platform-owned. Configure PAYHERO_API_USERNAME,
PAYHERO_API_PASSWORD, and PAYHERO_MASTER_CHANNEL_ID in the API runtime
environment.
Tenants only store payhero_channel_id, which is the PayHero-registered
payment channel ID set by platform admins during onboarding. It is not a till
or paybill number. The legacy tenant credential column is deprecated and must
not be used for active payment logic.
Collections use POST /payments/collect and receive callbacks at
POST /webhooks/payhero/collection. Successful callbacks credit
tenants.wallet_balance_cents.
Disbursements use POST /payments/disburse with an optional
X-Idempotency-Key. The tenant wallet is debited by the recipient amount plus
the tenant platform fee snapshot before the PayHero B2C request is queued via
Inngest.