ENG: Renew CANAL+ TV Subscription
FR: Renouveller l'Abonnement Télé CANAL+
KINY: Kuvugurura Ifatabuguzi rya Televiziyo kuri CANAL+
For the remaining sections of this requirement document you can leverage the appendix to reuse different components used before on other services: category, groups, section names, field names, field types, widgets, error messages, …
New service category:
ENG: Internet and Subscription Services
KIN: Serivisi za Murandasi no Kwiyandikisha
FRE: Services d'Internet et d'Abonnement
New service group? Group name_______________________
Log a new category/group name on this appendix and flag status as “New”


New Section? Section names: Decoder & Offer Details
New Block? Block names: Decoder Details , Offer Details
New Field Names? Field names: Decoder number, Renew current subscription? ,Previous TV subscription offer , Previous subscription duration , TV subscription offer, Subscription duration (Months) , Total Price
| Section | Block | Field name (Label) | Type | Tooltip | Placeholder (for inputs only)/List of values (for drop downs) | Widget requirements | Validation Rules | Error Messages | Display Rules |
|---|---|---|---|---|---|---|---|---|---|
| ENG: Decoder & Offer Details FR: Détails du décodeur et de l'offre KINY: Amakuru ya dekoderi n'ikiguzi |
ENG: Offer Details FR: Détails de l'offre KINY: Amakuru y'ikiguzi |
ENG: Renew previous subscription? FR: Renouveler l'abonnement précédent? KINY: Kuvugurura ifatabuguzi riheruka? |
Radio Button | List of values: ENG: 1. Yes 2. No FR: 1. Oui 2. Non KINY: 1. Yego 2. Oya |
If “Yes”, fetch: 1. Previous TV subscription offer 2. Previous subscription duration 3. Total Price If “Yes” type of operation = 1If “No”, fetch: 1. List of TV subscription offers 2. List of Offer price per month 3. List of Subscription duration 4. List of Offer Options If “No” type of operation = 3 |
- Required | - This field is required | Always on Display | |
| ENG: Decoder number FR: Numéro du décodeur KINY: Nomero ya dekoderi |
Decoder Fetch | Placeholder: ENG: Enter your decoder number FR: Entrez votre numéro de décodeur KINY: Injiza nomero yawe ya dekoderi |
- Save decoder number to the applicant’s account Fetch info via Check Account method:- idBase - numSubscriber - numContract - tokenId |
- Required - If decoder number already saved, auto-fill (field not disabled) |
ENG: Sorry, we cannot find your decoder information... FR: Désolé, nous ne trouvons pas les informations relatives à votre décodeur... KINY: Mwihangane, ntitubashije kubona amakuru ya dekoderi yanyu... ENG: This is a valid decoder you can now proceed... FR: Ce décodeur est valide, vous pouvez maintenant passer à la suite... KINY: Iyi dekoderi irakora, ubu ushobora gukomeza... |
Display if any value is selected on “Renew previous subscription” | |||
| idBase | Information List | - Required, Hidden | Not displayed on the form | ||||||
| numSubscriber | Information List | - Required, Hidden | Not displayed on the form | ||||||
| numContract | Information List | - Required, Hidden | Not displayed on the form | ||||||
| ENG: Previous TV subscription offer FR: Offre précédente d'abonnement TV KINY: Ikiguzi cy’ifatabuguzi riheruka |
Information List | Displayed if “Yes” is selected on “Renew current subscription?” | |||||||
| ENG: Previous subscription duration (Months) FR: Durée de l'abonnement précédent (mois) KINY: Igihe ifatabuguzi riheruka ryamaze (Amezi) |
Information List | Displayed if “Yes” is selected on “Renew current subscription?” | |||||||
| ENG: Total Price FR: Prix total KINY: Igiciro |
Information List | - The total price must be fetched from Canal+ System | Displayed if “Yes” is selected on “Renew current subscription?” | ||||||
| ENG: TV subscription offer FR: Offre d'abonnement KINY: Ikiguzi cy'ifatabuguzi rya televiziyo |
Fetched, Dropdown | List of values: Fetched dynamically from Canal+ System |
- Required | - This field is required | Displayed if “No” is selected on “Renew current subscription?” | ||||
| ENG: Offer Price per Month FR: Prix de l'offre par mois KINY: Ikiguzi ku kwezi |
Information List | Displayed when a TV subscription offer is selected | |||||||
| ENG: Subscription duration (Months) FR: Durée de l'abonnement (mois) KINY: Igihe ifatabuguzi rizamara (Amezi) |
Fetched, Dropdown | List of values: Fetched dynamically from Canal+ System |
- Required | - This field is required | Displayed if “No” is selected on “Renew current subscription?” | ||||
| ENG: Offer Option FR: Option d'offre KINY: Amahitamo y'ikiguzi |
Fetched, Multi-select Dropdown | List of values: Fetched dynamically from Canal+ System |
- Optional | Displayed if “No” is selected on “Renew current subscription?” AND the following offers are selected: - ZAMUKA - ZAMUKA NA SIPORO - UBUKI |
|||||
| ENG: Total Price FR: Prix total KINY: Igiciro |
Information List | - The total price must be fetched from Canal+ System | Displayed if “No” is selected on “Renew current subscription?” |
RWF
3hrs
Describe the pricing logic based on the values of the form fields. For each case, also indicate the service payment code payment account identifier that should be used.
Dynamic with fixed price
| Condition | Price |
|---|---|
| If “Yes” is selected on | |
| “Renew previous subscription?” field | Total price fetched from Canal + |
| If “No” is selected on | |
| “Renew previous subscription?” field | Total Price fetched from Canal + once the applicant selects TV subscription offer , option and duration |
| Merchant | Payment Account Identifier |
|---|---|
| CanalPlus | CanalPlus-RWF |
Describe the pricing logic based on the values of the form fields. For each case, also indicate the service payment code payment account identifier that should be used.
| Environment | Service payment code |
|---|---|
| UAT | PC-5ae50afcbc |
| Production | PC-5ae50afcbc |
The workflow determines which logical sequence of statuses the service will follow. (Exhibit 1 - Workflow Diagrams).
Specify the workflow: Apply-Pay-Integrate__________________ (Refer to: Workflows, type “Other” if none applies). Specify new workflow here ____________________________________
[Start with this template for new workflow design (draw.io)]
In case no standard workflow applies (new workflow identified)
These are labels that the end-user will see. Not applicable for standard workflows.
| Workflow Status | Label |
|---|---|
| Payment Pending | Payment Pending |
| Paid | Paid |
| Approved | ENG: Subscription Renewed |
FR: Abonnement renouvelé
KINY: Ifatabuguzi yavuguruwe |
| Step | Title | Description( English) | French | Kinyarwanda |
|---|---|---|---|---|
| 1 | ENG: Payment |
FR: Paiement
KINY: Kwishyura | Use your bill ID to pay for your service using any of the methods provided in the “Payment options” section. | Utilisez votre numéro de facture pour payer vos services en utilisant l'une des méthodes fournies dans la section "Options de paiement". | Koresha kode yo kwishyura maze wishyurire serivisi ukoresheje inzira wahawe mu gice cy' "Amahitamo yo kwishyura". |
| 2 | **ENG:**Renewal Confirmation
FR: Confirmation de renouvellement
KINY: Icyemezo cy’ivugururwa | After successful payment, you will receive a notification confirming the renewal of your TV subscription. | Une fois le paiement effectué, vous recevrez une notification confirmant le renouvellement de votre abonnement TV. | Nyuma yo kwishyura neza, uraza guhabwa ubutumwa bwemeza ivugururwa ry'ifatabuguzi rya televiziyo yawe. |
5 mins
What notifications should be expected at each transition?
SMS
| Status | SMS Notification (English) | Kinyarwanda | French |
|---|---|---|---|
| Pending Payment | Dear Applicant, Your application for (Service name) with billing number Amount RWF Pay before: DD-MM-YY HH:MM For support, call 9099 |
Kuri wowe Usaba, Dosiye yawe isaba: billing_number yoherejwe neza! Amafaranga yishyurwa: $Amount RWF Ishyura mbere ya: DD-MM-YY HH:MM Kugira ngo uhabwe ubufasha, hamagara 9099 |
Cher(e) client, Votre demande de: billing_number a été soumise avec succès! Frais à payer: $Amount RWF Payer avant: DD-MM-YY HH:MM Pour obtenir de l'aide, appelez le 9099 |
| Paid | Dear Applicant, Your application for: billing_number was successfully paid! Application number: Amount_paid For support, call 9099 |
Kuri wowe Usaba, Dosiye yawe isaba: billing_number yishyuwe neza! Nomero ya dosiye: Amount_paid Kugira ngo uhabwe ubufasha, hamagara 9099 |
Cher(e) client, Votre demande pour: billing_number a été payée avec succès! Numéro de la demande: Amount_paid Pour obtenir de l'aide, appelez le 9099 |
| Approved | Dear Applicant, Your CANAL+ TV subscription has been successfully renewed and is valid until DD-MM-YY. Amount paid: decoder_number For support, call 9099 |
Kuri wowe Usaba, Ifatabuguzi rya televiziyo yawe kuri CANAL+ ryavuguruwe neza kandi rizakora kugeza DD-MM-YY. Amafaranga yishyuwe: decoder_number Kugira ngo uhabwe ubufasha, hamagara 9099 |
Cher(e) client, Votre abonnement TV CANAL+ a été renouvelé avec succès et est valable jusqu'au DD-MM-YY. Montant payé: decoder_number Pour obtenir de l'aide, appelez le 9099 |
| Status | Email Subject | Email Body (English) | Kinyarwanda | French |
|---|---|---|---|---|
| Pending Payment | Application Submitted | Dear Applicant, Your application for: billing_number was successfully submitted! Status: Payment pending Fees to be paid: $amount RWF Pay Before: DD-MM-YY HH:MM Thank you for using IremboGov! Need help? Email us at support@irembo.com Visit our Support Center If you are receiving this e-mail by mistake, please ignore it. |
Kuri wowe Usaba, Dosiye yawe isaba: billing_number yoherejwe neza! Aho dosiye igeze: Itegereje kwishyurwa Amafaranga yishyurwa: $amount FRW Ishyura mbere ya: DD-MM-YY HH:MM Murakoze gukoresha IremboGov! Ukeneye ubufasha? Twohereze imeyili kuri support@irembo.com Gana Ishami ryacu ritanga ubufasha Niba iyi imeyili atari mwe yari igenewe, ntimuyihe agaciro. |
Cher(e) client, Votre demande de: billing_number a été soumise avec succès! Statut: En attente de paiement Frais à payer: $amount FRW Payer avant: DD-MM-YY HH:MM Merci d'avoir utilisé IremboGov! Besoin d'aide? Écrivez-nous à support@irembo.com Visitez notre Centre d'Assistance Si vous recevez cet e-mail par erreur, veuillez l'ignorer. |
| Paid | Successful payment | Dear Applicant, Your application for: billing_number was successfully paid! Application number: amount RWF Thank you for using IremboGov! Need help? Email us at support@irembo.com Visit our Support Center If you are receiving this e-mail by mistake, please ignore it. |
Kuri wowe Usaba, Dosiye yawe isaba: billing_number yishyuwe neza! Nomero ya dosiye: amount RWF Urakoze gukoresha IremboGov! Ukeneye ubufasha? Twandikire imeyili kuri support@irembo.com Sura Ahatangirwa ubufasha Niba wakiriye iyi imeyili habayeho kwibeshya, yirengagize. |
Cher(e) client, Votre demande pour: billing_number a été payée avec succès! Numéro de la demande: amount RWF Merci d'avoir utilisé IremboGov! Besoin d'aide? Envoyez-nous un email à support@irembo.com Visitez notre Centre d'assistance Si vous recevez cet e-mail par erreur, veuillez l'ignorer. |
| Approved | ENG: TV Subscription Renewed Successfully FR: Abonnement TV renouvelé avec succès KINY: Kuvugurura ifatabuguzi rya televiziyo byagenze neza |
Dear Applicant, Your CANAL+ TV subscription has been successfully renewed and is valid until DD-MM-YY. Amount paid: decoder_number Thank you for using IremboGov! Need help? Email us at support@irembo.com Visit our Support Center If you are receiving this e-mail by mistake, please ignore it. |
Kuri wowe Usaba, Ifatabuguzi rya televiziyo yawe kuri CANAL+ ryavuguruwe neza kandi rizakora kugeza DD-MM-YY. Amafaranga yishyuwe: decoder_number Urakoze gukoresha IremboGov! Ukeneye ubufasha? Twandikire imeyili kuri support@irembo.com Sura Ahatangirwa ubufasha Niba wakiriye iyi imeyili habayeho kwibeshya, yirengagize. |
Cher(e) client, Votre abonnement TV CANAL+ a été renouvelé avec succès et est valable jusqu'au DD-MM-YY. Montant payé: decoder_number Merci d'avoir utilisé IremboGov! Besoin d'aide? Envoyez-nous un email à support@irembo.com Visitez notre Centre d'assistance Si vous recevez cet e-mail par erreur, veuillez l'ignorer. |
API Documentation:
Description
Correction of Driving License
Endpoints reachable: ✅
The request and response payload match the API Documentation: ✅
Validation rules: ✅
Test Results
Check Account
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/checkAccount' \
--header 'Content-Type: application/json' \
--data '{
"numCard": "23900164751634",
"accountRef": null,
"currency": "RWF",
"operatorName": "IREMBO",
"country": "146",
"typeOperation":3,
"productId": null,
"etopupDistributorId": null
}'
Response
{
"returnCode": "0",
"errorCode": "",
"errorLabel": "",
"wsCallId": null,
"subscriberFound": "1",
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContrat": "1",
"accountRef": null,
"mainOffer": {
"code": "",
"label": "",
"amount": "",
"currency": ""
},
"duration": {
"code": "",
"label": ""
},
"optionsList": [],
"amount": "0",
"currency": "RWF",
"endDate": "",
"offersList": [
{
"code": "57NM1AC|RWACDD",
"label": "IKAZE",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
}
]
},
{
"code": "57NM2EV|RWEVDD",
"label": "ZAMUKA",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
}
]
},
{
"code": "57NM3DEC|RWDECDD",
"label": "ZAMUKA NA SIPORO",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
}
]
},
{
"code": "57NM4TCA|RWTCADD",
"label": "UBUKI",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
}
]
},
{
"code": "83NW1AC|RWACDD",
"label": "IKAZE",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
},
{
"code": "PVRDD",
"label": "PVR",
"amount": "",
"currency": ""
},
{
"code": "2ECDD",
"label": "2E ECRAN",
"amount": "",
"currency": ""
}
]
},
{
"code": "83NW2EV|RWEVDD",
"label": "ZAMUKA",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
},
{
"code": "PVRDD",
"label": "PVR",
"amount": "",
"currency": ""
},
{
"code": "2ECDD",
"label": "2E ECRAN",
"amount": "",
"currency": ""
}
]
},
{
"code": "83NW3DEC|RWDECDD",
"label": "ZAMUKA NA SIPORO",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
},
{
"code": "PVRDD",
"label": "PVR",
"amount": "",
"currency": ""
},
{
"code": "2ECDD",
"label": "2E ECRAN",
"amount": "",
"currency": ""
}
]
},
{
"code": "83NW4TCA|RWTCADD",
"label": "UBUKI",
"amount": "",
"currency": "",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": "",
"currency": ""
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS",
"amount": "",
"currency": ""
},
{
"code": "PVRDD",
"label": "PVR",
"amount": "",
"currency": ""
},
{
"code": "2ECDD",
"label": "2E ECRAN",
"amount": "",
"currency": ""
}
]
}
],
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42"
}
Get Renewal Offers
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/getRenewalOffers' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"operatorName": "IREMBO",
"country": "146",
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42"
}'
Response
{
"returnCode": "0",
"errorCode": "",
"errorLabel": "",
"wsCallId": null,
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"offersList": [
{
"code": "57NM1AC|RWACDD",
"label": "IKAZE",
"amount": "5000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "57NM2EV|RWEVDD",
"label": "ZAMUKA",
"amount": "10000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "57NM3DEC|RWDECDD",
"label": "ZAMUKA NA SIPORO",
"amount": "20000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "57NM4TCA|RWTCADD",
"label": "UBUKI",
"amount": "30000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "3",
"label": "3 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "83NW1AC|RWACDD",
"label": "IKAZE",
"amount": "5000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "83NW2EV|RWEVDD",
"label": "ZAMUKA",
"amount": "10000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "83NW3DEC|RWDECDD",
"label": "ZAMUKA NA SIPORO",
"amount": "20000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
},
{
"code": "83NW4TCA|RWTCADD",
"label": "UBUKI",
"amount": "30000.0",
"currency": "RWF",
"durationsList": [
{
"code": "1",
"label": "1 mois"
},
{
"code": "12",
"label": "12 mois"
},
{
"code": "3",
"label": "3 mois"
},
{
"code": "6",
"label": "6 mois"
}
],
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": "8000.0",
"currency": "RWF"
},
{
"code": "ENGLPLDD",
"label": "ENGLISH PLUS DD",
"amount": "20000.0",
"currency": "RWF"
}
]
}
],
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42"
}
Verify Renewal Offers With Option
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/verifyRenewalOffers' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"operatorName": "IREMBO",
"country": "146",
"currency": "RWF",
"mainOffer": "57NM2EV|RWEVDD",
"duration": "1",
"optionsList": [
"ENGLBADD"
],
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42"
}'
Response
{
"returnCode": "0",
"errorCode": "",
"errorLabel": "",
"wsCallId": null,
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"mainOffer": {
"code": "RWEVDD",
"label": "ZAMUKA",
"amount": null,
"currency": null
},
"duration": {
"code": "1",
"label": "1 mois"
},
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC DD",
"amount": null,
"currency": null
}
],
"amount": "18000.0",
"currency": "RWF",
"endDate": "03/10/2024",
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42"
}
Scenarios with errors
curl --location 'https://cgaweb-afrique-rec.canal-bis.com/Afrrec1Api/rest/mpayment/v1/verifyRenewalOffers' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"operatorName": "IREMBO",
"country": "146",
"currency": "RWF",
"mainOffer": "NM2EV|RWEVDD",
"duration": "1",
"optionsList": [
"ENGLBADD"
],
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42"
}'
Response
{
"returnCode": "1",
"errorCode": "0102",
"errorLabel": "Operation not allowed for this subscriber",
"wsCallId": null,
"idBase": "",
"numSubscriber": "",
"numContract": "",
"accountRef": "",
"mainOffer": {
"code": "",
"label": "",
"amount": "",
"currency": ""
},
"duration": {
"code": "",
"label": ""
},
"optionsList": [],
"amount": "",
"currency": "",
"endDate": "",
"tokenId": ""
}
Verify Renewal Offers Without Option
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/verifyRenewalOffers' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "21440252",
"numContract": "1",
"accountRef": null,
"operatorName": "IREMBO",
"country": "146",
"currency": "RWF",
"mainOffer": "10M2EV|EVDD",
"duration": "1",
"optionsList": [],
"tokenId": "b81ecdea453e75615fece0af1fc25cfcad8ee63a63"
}'
Response
{
"returnCode": "1",
"errorCode": "0102",
"errorLabel": "Operation not allowed for this subscriber",
"wsCallId": null,
"idBase": "",
"numSubscriber": "",
"numContract": "",
"accountRef": "",
"mainOffer": {
"code": "",
"label": "",
"amount": "",
"currency": ""
},
"duration": {
"code": "",
"label": ""
},
"optionsList": [],
"amount": "",
"currency": "",
"endDate": "",
"tokenId": ""
}
Register Standard Renewal With Option
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/registerStandardRenewal' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"amount": "18000.0",
"currency": "RWF",
"operatorName": "IREMBO",
"country": "146",
"mainOffer": "57NM2EV|RWEVDD",
"duration": "1",
"optionsList": [
"ENGLBADD"
],
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42",
"productId": null,
"etopupTransactionId": null,
"etopupDistributorId": null
}'
Response
{
"returnCode": "0",
"errorCode": "",
"errorLabel": "",
"wsCallId": null,
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"amount": "18000.0",
"currency": "RWF",
"transactionId": "2688600778",
"mainOffer": {
"code": "RWEVDD",
"label": "ZAMUKA",
"amount": null,
"currency": null
},
"duration": {
"code": "1",
"label": "1 mois"
},
"optionsList": [
{
"code": "ENGLBADD",
"label": "ENGLISH BASIC",
"amount": null,
"currency": null
}
],
"endDate": "03/10/2024",
"etopupTransactionId": null
}
Scenario with error
curl --location 'https://cgaweb-afrique-rec.canal-bis.com/Afrrec1Api/rest/mpayment/v1/registerStandardRenewal' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "22556936",
"numContract": "1",
"accountRef": null,
"amount": "18000.0",
"currency": "RWF",
"operatorName": "IREMBO",
"country": "146",
"mainOffer": "NM2EV|RWEVDD",
"duration": "1",
"optionsList": [
"ENGLBADD"
],
"tokenId": "c6e09f802250edfa8fdc9be093f1412151b524ce42",
"productId": null,
"etopupTransactionId": null,
"etopupDistributorId": null
}'
Response
{
"returnCode": "1",
"errorCode": "0141",
"errorLabel": "Transaction already done",
"wsCallId": null,
"idBase": "",
"numSubscriber": "",
"numContract": "",
"accountRef": "",
"amount": "",
"currency": "",
"transactionId": "",
"mainOffer": {
"code": "",
"label": "",
"amount": "",
"currency": ""
},
"duration": {
"code": "",
"label": ""
},
"optionsList": [],
"endDate": "",
"etopupTransactionId": ""
}
Register Standard Renewal Without Option
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/registerStandardRenewal' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "25518289",
"numContract": "1",
"accountRef": null,
"amount": "5000.0",
"currency": "RWF",
"operatorName": "IREMBO",
"country": "146",
"mainOffer": "10M2EV|EVDD",
"duration": "1",
"optionsList": [],
"tokenId": "7c4d700283f3cc1c197e3afbcebb93ef2f5372dc23",
"productId": null,
"etopupTransactionId": null,
"etopupDistributorId": null
}'
Response
{
"returnCode": "1",
"errorCode": "0107",
"errorLabel": "Id de transaction inconnu",
"wsCallId": null,
"idBase": "",
"numSubscriber": "",
"numContract": "",
"accountRef": "",
"amount": "",
"currency": "",
"transactionId": "",
"mainOffer": {
"code": "",
"label": "",
"amount": "",
"currency": ""
},
"duration": {
"code": "",
"label": ""
},
"optionsList": [],
"endDate": "",
"etopupTransactionId": ""
}
Register Automatic Renewal
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/registerAutomaticRenewal' \
--header 'Content-Type: application/json' \
--data '{
"idBase": "Wcgamobile",
"numSubscriber": "21440252",
"numContract": "1",
"accountRef": 880815142820,
"amount": "5000",
"currency": "RWF",
"operatorName": "IREMBO",
"country": "146",
"tokenId": "0da8a1fc3c5e57748df712fb04252702cfd0f29658",
"etopupTransactionId": null,
"etopupDistributorId": null
}'
Response
{
"returnCode": "0",
"errorCode": "",
"errorLabel": "",
"wsCallId": null,
"idBase": "Wcgamobile",
"numSubscriber": "21440252",
"numContrat": "1",
"accountRef": "880815142820",
"amount": "5000",
"currency": "RWF",
"transactionId": "2688574779",
"mainOffer": {
"code": "RWACDD",
"label": "IKAZE",
"amount": "",
"currency": ""
},
"duration": {
"code": "1",
"label": "1 mois"
},
"optionsList": [],
"endDate": "20/09/2024",
"etopupTransactionId": null
}
Health Check
curl --location 'http://192.168.10.176:8585/canalplus/Afrrec1Api/rest/mpayment/v1/healthCheck'
Response
OK
Comments:
| Type (Push, Fetch, Callback) | Transition Name | Integration Endpoint |
|---|---|---|
| Fetch | Getting previous subscription information | - |
| Fetch | Getting Offer, Option and duration information | - |
| Push | Payment pending - Paid - Push | - |
| API Parameters | Fields |
|---|---|
Define non-standard documents to be generated by your workflow? This excludes the receipt and the invoice, the are generated by default for all paid services.
| Transition Name | Document Generated | Document Type |
|---|---|---|
| Payment pending | Invoice | |
| Paid | Receipt |
Attach a document template for each case when submitting this service requirement to the Service Manager [Editable/Extractable format: eg. Figma]? Dynamic fields naming on the document should match the exact field name on the form preceded by a $ sign. (eg. $National ID for the Nation ID Field)
Workflow 01: Apply - Pay - Integrate
Workflow 1 follows the Apply-Pay-Integrate pattern. It comprises all services where IremboGov helps the applicant apply and pay, then routes the application to the institution’s system for application processing.

Workflow 02 : Apply - Pay - Validate(L1) - Escalate - Certificate
In this workflow, officers process applications using the IremboGov administration tool and have the right to escalate an application. It follows the Apply-Pay-Validate-Certificate pattern

Workflow 03 : Apply - Pay - Validate(L1) - Escalate - Integrate - Certificate
This workflow comprises all services where IremboGov helps the applicant to apply, pay, assign the application to an office to be processed, and then routes the application to the institution’s system for further application processing. Apply-Pay-Validate-integrate

Workflow 04 : Apply - Pay - Validate(L2) - Certificate
This workflow comprises services with only 2 levels of application processing and for which institutions use IremboGov BAT (Back-end administration tool), It follows the Apply-Pay-Validate (L2) pattern. The outcome of the service is an IremboGov generated certificate.

Workflow 05 : Apply - Pay - Validate(L3) - Certificate
This workflow comprises services with 3 levels of application processing and for which institutions use IremboGov BAT (Back-end administration tool), It follows the Apply-Pay-Validate (L3) pattern. The outcome of the service is an IremboGov generated certificate.

Workflow 06 : Apply - Pay - Validate(L4)
This workflow comprises services with 4 levels of application processing and for which institutions use IremboGov BAT (Back-end administration tool), It follows the Apply-Pay-Validate (L4) pattern.

Workflow 07 : Apply - Validate(L1) - Pay - Integrate
This workflow comprises all services where IremboGov helps the applicant to apply, assign the application to an office to be processed, pay, and then routes the application to the institution’s system for further application processing.
It follows the Apply-Validate-Pay-integrate pattern.

Workflow 08 : Apply - Validate(L3) - Pay - Validate(L1) - Integrate
This workflow comprises all services where IremboGov helps the applicant to apply, pay, assign the application to an office to be processed, and then routes the application to the institutions’ systems for further application processing. This workflow is specific where there’s 2 partners systems integration.
It follows the Apply-Validate-Pay-integrate pattern.

Workflow 09: Apply - Pay
This workflow comprises all services where IremboGov helps the applicant to apply, and pay. IremboGov generates a receipt as a proof of payment

→ List each change request separately and articulate what the change is about.
SRD V2 : Service Name - Institution Name (1)
Things to fix on the SRD:
1.Idbase
1.numsubscriber
2.numContract
3.accountref
4.tokenId
5.