API Reference
Cable TV: Multichoice
Cable TV: Multichoice(DSTV & GOTV)
This service allows you to pay for an active subscription on Multichoice cable TV accounts, including DSTV and GOTV. The process consists of three main steps:
- 🔍 Validate the SmartCard Number
- 📦 Retrieve Available Packages
- ⚡ Complete the Package Purchase
Validate SmartCard Number
POSTService Information
baseUrl/api/v1/cabletv/multichoice/validate
POST
| Parameter Name | Type | M/O | Description |
|---|---|---|---|
| loginId | Numeric | M | Merchant id provided during integration |
| key | String | M | Merchant’s (public) key |
| checksum | String | M | Checksum computed for the request. See "Security: Checksum" section for hash computation steps |
| customerNo | String | M | Smart card number or Customer Number. |
| serviceId | String | M | Multichoice service type – ‘dstv’ or ‘gotv’. |
{
"loginId": "{{loginId}}",
"key": "{{publicKey}}",
"serviceId": "gotv",
"customerNo": "8057605642",
"checksum": "{{checkSum}}"
}
| Parameter Name | Type | M/O | Description |
|---|---|---|---|
| statusCode | Numeric | M | Status of the transaction. 00 signifies success |
| statusDescription | json | M | Corresponding details retrieved after validating customer number or smartcard number. It holds information such as customer name, invoice period, next due date etc. |
{
"statusCode": "00",
"statusDescription": {
"customerNo": "8057605642",
"accountStatus": "ACTIVE",
"firstname": "",
"lastname": "SAMUEL OLU",
"customerType": "SUD",
"invoicePeriod": 1,
"dueDate": "2025-10-12T00:00:00",
"amount": 2500,
}
}
Fetch Multichoice Packages
POSTThis can be used to retrieve available multichoice products. Each product has a code, description and price.
Find Packages
Service Information
baseUrl/api/v1/cabletv/multichoice/fetchproducts
POST
| Parameter Name | Type | M/O | Description |
|---|---|---|---|
| loginId | Numeric | M | Merchant id provided during integration |
| key | String | M | Merchant’s (public) key |
| serviceId | String | M | Multichoice service type – ‘dstv’ or ‘gotv’. |
{
"loginId": "{{loginId}}",
"key": "{{publicKey}}",
"serviceId": "GOTV"
}
| Parameter Name | Type | M/O | Description |
|---|---|---|---|
| statusCode | Numeric | M | Status of the transaction. 00 signifies success |
| statusDescription | json | M | statusDescription is a json that has embedded in it an ‘items’ object, which contains available products. items an array of composite objects – code, invoicePeriods, price, name, description |
{
"statusCode": "00",
"statusDescription": {
"items": [
{
"code": "ng_gotv_gohan",
"name": "GOtv Smallie-monthly",
"description": "GOtv Smallie-monthly",
"availablePricingOptions": [
{
"price": 1900,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 3800,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 5700,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 7600,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 9500,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 11400,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 13300,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 15200,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 17100,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 19000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 22800,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 22800,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_golite",
"name": "GOtv Smallie - quarterly",
"description": "GOtv Smallie - quarterly",
"availablePricingOptions": [
{
"price": 5100,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 10200,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 15300,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 20400,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 25500,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 30600,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 35700,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 40800,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 45900,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 51000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 61200,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 61200,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_goltanl",
"name": "GOtv Smallie-yearly",
"description": "GOtv Smallie-yearly",
"availablePricingOptions": [
{
"price": 15000,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 30000,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 45000,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 60000,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 75000,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 90000,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 105000,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 120000,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 135000,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 150000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 180000,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 180000,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_gotvmax",
"name": "GOtv Max",
"description": "GOtv Max",
"availablePricingOptions": [
{
"price": 8500,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 17000,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 25500,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 34000,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 42500,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 51000,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 59500,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 68000,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 76500,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 85000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 102000,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 102000,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_gotvnj1",
"name": "GOtv Jinja",
"description": "GOtv Jinja",
"availablePricingOptions": [
{
"price": 3900,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 7800,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 11700,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 15600,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 19500,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 23400,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 27300,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 31200,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 35100,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 39000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 46800,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 46800,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_gotvnj2",
"name": "GOtv Jolli",
"description": "GOtv Jolli",
"availablePricingOptions": [
{
"price": 5800,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 11600,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 17400,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 23200,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 29000,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 34800,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 40600,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 46400,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 52200,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 58000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 69600,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 69600,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_gotvsupa",
"name": "GOtv Supa ",
"description": "GOtv Supa ",
"availablePricingOptions": [
{
"price": 11400,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 22800,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 34200,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 45600,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 57000,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 68400,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 79800,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 91200,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 102600,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 114000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 136800,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 136800,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
},
{
"code": "ng_gotv_gotvsupaplus",
"name": "GOtv Supa Plus Bouquet",
"description": "GOtv Supa Plus Bouquet",
"availablePricingOptions": [
{
"price": 16800,
"invoicePeriod": 1,
"monthsPaidFor": 1
},
{
"price": 33600,
"invoicePeriod": 2,
"monthsPaidFor": 2
},
{
"price": 50400,
"invoicePeriod": 3,
"monthsPaidFor": 3
},
{
"price": 67200,
"invoicePeriod": 4,
"monthsPaidFor": 4
},
{
"price": 84000,
"invoicePeriod": 5,
"monthsPaidFor": 5
},
{
"price": 100800,
"invoicePeriod": 6,
"monthsPaidFor": 6
},
{
"price": 117600,
"invoicePeriod": 7,
"monthsPaidFor": 7
},
{
"price": 134400,
"invoicePeriod": 8,
"monthsPaidFor": 8
},
{
"price": 151200,
"invoicePeriod": 9,
"monthsPaidFor": 9
},
{
"price": 168000,
"invoicePeriod": 10,
"monthsPaidFor": 10
},
{
"price": 201600,
"invoicePeriod": 12,
"monthsPaidFor": 12
},
{
"price": 201600,
"invoicePeriod": 12,
"monthsPaidFor": 12
}
]
}
]
}
}
Vend Multichoice Account
POSTYou can PURCHASE A PACKAGE or RENEW an existing subscription.
Service Information
baseUrl/api/v1/cabletv/multichoice/vend
POST
| Parameter Name | Type | M/O | Description |
|---|---|---|---|
| loginId | Numeric | M | Merchant id provided during integration |
| key | String | M | Merchants (public) key |
| checksum | String | M | Checksum computed for the request. See "Security: Checksum" section for hash computation steps |
| serviceId | String | M | Multichoice service type – ‘dstv’ or ‘gotv’ |
| transactionRef | String | M | Unique transaction Id for the request. Maxlength (36characters) |
| customerNo | String | M | Customer number retrieved at validation stage. |
| customerName | String | M | Customer name retrieved at validation stage. |
| productsCodes | Array of strings | M | (For renew option leave as empty array [] ) An array of product/addon codes selected. Codes can be fetched from the related method calls (find standalone products and find product addons) |
| amount | Numeric | M | (For renew option amount is gotten from the validate customer API end point) Total transaction amount – in case of a 12 month invoice period, the product prices need to be multiplied by 11 |
| invoicePeriod | Numeric | M | Invoice period for which the payment is made. Retrieved when validating customer number. Can be either 1 or 12 (months) |
{
"loginId": "{{loginId}}",
"key": "{{publicKey}}",
"serviceId": "gotv",
"customerNo": "8057605642",
"customerName": "Samuel Olu",
"productsCodes": "ng_gotv_gohan",
"amount": "1900",
"invoicePeriod": "1",
"checksum": "{{checkSum}}",
"transactionRef": "test{{random12digit}}"
}
| Parameter Name | Type | M/O | Description |
|---|---|---|---|
| statusCode | Numeric | M | Status of the transaction. 00 signifies success |
| statusDescription | json | M | statusDescription is a json string that has embedded in it details of the transaction. If successful, it contains object such as amount, transactionNo (Creditswitch’s unique reference generated for the transaction) |
{
"statusCode": "00",
"statusDescription": {
"message": "successful",
"amount": "1900",
"transactionRef": "850abce6adskl3",
"transactionNo": "767481625579885",
"type": "gotv",
"package": "Renewal",
}
}