Fetch Instructions
Response Fields
virtualAccountNumber/virtualAccountNamemobileMoneyCustomerFacingCopy— manual M-Pesa (My OneApp, USSD, SIM Toolkit)stkPushCustomerFacingCopy— STK Push only. Null when STK is offpesalinkCustomerFacingCopyrtgsCustomerFacingCopy/rtgsNarrationHintoptions[]— structured fields per channel
*CustomerFacingCopy strings as-is, or build your own UI from options.
Mobile Money (M-Pesa)
Manual Paybill
The payer enters three fields only: paybill, account number (the virtual account), amount.options for MOBILE_MONEY include paybillNumber (559900) and paybillNumberName (UBA Kenya).
There is no extra reference field on My OneApp/USSD/SIM Toolkit. Shop or invoice identity should use a Brand or Invoice virtual account so the number itself identifies the payment.
STK Push
The payer does not type paybill or account number. You send a prompt to their phone.status is PENDING_CUSTOMER, SUCCESS, FAILED, or CANCELLED. Settlement still appears as an inbound payment on the virtual account (see Payments).
PesaLink
Payers send to the virtual account number at UBA Kenya.options for PESALINK include bankName (UBA Kenya) and accountNumber (the virtual account).
RTGS
Payers send an RTGS credit to the collection account below. Field:70 must include the virtual account number (and your reference when you use one).
rtgsNarrationHint is the exact :70 string. options for RTGS include bank, branch, SWIFT, account name, and account number.