Skip to main content
POST
Register a Paybill or Till shortcode to route payments through a specific M-Pesa account.

What is a payment channel?

A payment channel maps an M-Pesa shortcode to your PalPluss account. When initiating an STK Push, specify a channelId to route the payment through that shortcode. Use channels when:
  • You operate multiple M-Pesa shortcodes (e.g. different products or business units)
  • You need to direct specific transaction types to dedicated shortcodes

Default channel

Set isDefault: true to use a channel automatically when no channelId is supplied on payment requests. Only one channel can be the default at a time — setting a new default removes the flag from the previous one.

Channel types

Authorizations

Authorization
string
header
required

Paste your PalPluss API key in the username field and leave the password field empty — it is ignored.

Get your key from console → Settings → API Keys (starts with pk_live_ or pk_test_).

In your own code, send the key directly: Authorization: Basic YOUR_API_KEY

Body

application/json
name
string
required

Human-readable label for the channel.

Example:

"Main Collections Paybill"

type
enum<string>
required
Available options:
PAYBILL,
TILL_NUMBER,
SEND_MONEY
shortcode
string
required

M-Pesa shortcode (Paybill number or Till number).

Example:

"123456"

accountNumber
string | null

Account number for Paybill channels (not used for Till).

Example:

"ACCOUNT001"

isDefault
boolean
default:false

Set this channel as the default for payment requests that do not specify a channelId.

Response

Channel created successfully.

success
boolean
required
Example:

true

data
object
required

Response payload. Shape varies by endpoint.

requestId
string<uuid>
required

Unique identifier for this API request. Include in support tickets.

Example:

"c1b2a3d4-e5f6-7890-abcd-ef1234567890"