---
title: "Create payment channel"
method: POST
path: "/payment-wallet/channels"
tags: ["Payment Channels"]
---

# Create payment channel

`POST /payment-wallet/channels`

Registers an M-Pesa shortcode (Paybill or Till Number) as a payment channel.
You can pass a `channelId` when initiating STK Push to route the payment through
a specific shortcode.

Mark a channel as `isDefault: true` to use it automatically when no `channelId`
is specified in payment requests.

## Request body

- CreateChannelRequest
  - `name` string, required — Human-readable label for the channel.
  - `type` 'PAYBILL' | 'TILL_NUMBER' | 'SEND_MONEY', required
  - `shortcode` string, required — M-Pesa shortcode (Paybill number or Till number).
  - `accountNumber` string, nullable — Account number for Paybill channels (not used for Till).
  - `isDefault` boolean — Set this channel as the default for payment requests that do not specify a `channelId`.

## Response `200`

Channel created successfully.

- object
  - `success` boolean, required
  - `data` object, required — Response payload. Shape varies by endpoint.
    - `id` string, uuid
    - `tenantId` string, uuid
    - `category` string
    - `type` 'PAYBILL' | 'TILL_NUMBER' | 'SEND_MONEY'
    - `shortcode` string
    - `name` string
    - `accountNumber` string, nullable
    - `isDefault` boolean
    - `createdAt` string, date-time
  - `requestId` string, uuid, required — Unique identifier for this API request. Include in support tickets.

## Other responses

- `400` — Validation error — check the request body or parameters.
- `401` — Missing, invalid, or revoked API key.

---

[API](https://skmtc.net/palpluss/apis/palpluss-api.md) · [All operations](https://skmtc.net/palpluss/apis/palpluss-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/palpluss/palpluss-api/versions/33fd40a3b314/schema)
