Create
Register as many distinct channel numbers as your merchant needs.
Payment routing
Register multiple tills, paybills, bank channels, or crypto destinations and select the intended channel for each payment.
Each channel receives a generated PAYL alias. Channel records remain isolated to the authenticated merchant, and API keys require the matching channels scope.
Register as many distinct channel numbers as your merchant needs.
Pass a channel's ID, PAYL alias, or number as channelId on STK Push.
Mark a channel inactive to stop new payments without deleting its history.
/api/v1/merchants/api/channelsReturns every channel owned by the merchant. Use the project-scoped route to return channels for one project.
Use the Authorization header and query string parameters shown in the endpoint path.
1{2 "channels": [3 {4 "id": "665f4c1b9a8d2e001f2a1111",5 "alias": "PAYL-XJ7K2P",6 "name": "Main paybill",7 "type": "PAYBILL",8 "number": "123456",9 "accountNumber": "STORE-01",10 "status": "ACTIVE"11 }12 ]13}Code examples
1curl -X GET https://api.paylorke.com/api/v1/merchants/api/channels \2 -H "Authorization: Bearer YOUR_API_KEY" \3 -H "Content-Type: application/json"/api/v1/merchants/api/channelsAdds another independently addressable channel. Required fields are name, type (TILL, PAYBILL, BANK, or CRYPTO), and number. TILL and PAYBILL numbers must be digits only; BANK channels also take bankName and accountNumber; CRYPTO channels take a TRON (TRC20) address as the number. The response includes the generated PAYL alias used when routing payments.
1{2 "name": "Westlands till",3 "type": "TILL",4 "number": "543210",5 "externalReference": "location-westlands",6 "metadata": { "location": "Westlands" }7}1{2 "message": "Channel created successfully",3 "channel": {4 "id": "665f4c1b9a8d2e001f2a2222",5 "alias": "PAYL-7N4KQP",6 "name": "Westlands till",7 "type": "TILL",8 "number": "543210",9 "status": "ACTIVE"10 }11}Code examples
1curl -X POST https://api.paylorke.com/api/v1/merchants/api/channels \2 -H "Authorization: Bearer YOUR_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "name": "Westlands till",6 "type": "TILL",7 "number": "543210",8 "externalReference": "location-westlands",9 "metadata": { "location": "Westlands" }10}'/api/v1/merchants/api/channels/:channelIdUpdates mutable channel details or changes whether the channel can receive new routed payments. Accepts name, status, bankName, accountNumber, externalUserId, externalReference, and metadata. A channel's type and number are immutable — delete and recreate the channel to change them.
1{2 "name": "Westlands flagship till",3 "status": "ACTIVE"4}1{2 "message": "Channel updated successfully",3 "channel": {4 "id": "665f4c1b9a8d2e001f2a2222",5 "alias": "PAYL-7N4KQP",6 "name": "Westlands flagship till",7 "status": "ACTIVE"8 }9}Code examples
1curl -X PATCH https://api.paylorke.com/api/v1/merchants/api/channels/:channelId \2 -H "Authorization: Bearer YOUR_API_KEY" \3 -H "Content-Type: application/json" \4 -d '{5 "name": "Westlands flagship till",6 "status": "ACTIVE"7}'/api/v1/merchants/api/channels/:channelIdPermanently removes a channel owned by the authenticated merchant.
Use the Authorization header and query string parameters shown in the endpoint path.
1{2 "message": "Channel deleted successfully"3}Code examples
1curl -X DELETE https://api.paylorke.com/api/v1/merchants/api/channels/:channelId \2 -H "Authorization: Bearer YOUR_API_KEY" \3 -H "Content-Type: application/json"Set channelId on POST /api/v1/merchants/payments/stk-push or /api/v1/merchants/payments/b2b-express. Despite the field name, it accepts the channel ID, generated PAYL alias, or configured channel number.
PAYL-XXXXXX alias in your integration. The API verifies that the selected channel is active and belongs to the authenticated merchant before initiating payment.CRYPTO channel is selected with cryptoId on the crypto endpoints, and that field accepts the channel ID only — not the alias or the TRON address. Omitting it picks one of your active crypto channels. See Crypto Payments.For project API keys, use /api/v1/merchants/api/projects/:projectId/channels. List, create, update, and delete operations are restricted to that project.