Register Payment Channel

POST https://upesipay.com/api/v2/payment_channels

Register a new payment channel (paybill, till, or bank)

Headers

Parameter Type Description
Authorization* String Basic auth token
Content-Type* String application/json

Request Body

Parameter Type Description
channel_type* string Can be: paybill, till or bank
account_id* number Your UpesiPay account ID, you can check your profile details to get it
short_code* number Your MPESA paybill, till or bank paybill number
account_number* string Your bank account number or paybill account number (if any)
description* string Your bank name or beneficiary name for till or paybill

Responses

200 OK

{
  "id": 2429,
  "transaction_type": "CustomerPayBillOnline",
  "channel_type": "bank",
  "account_id": 5000,
  "short_code": "522522",
  "account_number": "1280006242",
  "description": "KCB Bank",
  "is_active": true,
  "balance_plain": null,
  "created_at": "2026-01-02T14:56:01.513658753Z",
  "updated_at": "2026-01-02T14:56:01.513658753Z"
}

400 Bad Request

{
  "error_message": "Invalid request"
}

Try It Out

Please set your authentication token in the sidebar to test this API.

Code Samples

curl -X POST \
  'https://upesipay.com/api/v2/payment_channels' \
  -H 'Content-Type: application/json' \
  -d '{"channel_type":"bank","account_id":5000,"short_code":"522522","account_number":"1280006242","description":"KCB Bank"}'

Was this page helpful?

Previous

Learn how to retrieve all payment channels associated with your account.

Get Payment Channels

Next

Learn how to get available bank paybills for registration.

Get Bank Paybills