Documentation

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.