Fetch Payment Options
Allows a merchant to query the various payment options available through which their consumers can make payments.
The payment options are in different categories i.e:
- Mobile Money - To facilitate payments from mobile money wallets.
- Mobile Banking - To facilitate payments from consumers bank accounts via mobile banking or internet banking.
- Card - To facilitate payments from consumers accounts via debit or credit cards.
1. Fetch Service Payment Options
This endpoint allows a merchant to query the various payment options available for their services.
GET https://developer.tingg.africa/checkout/v2/custom/requests/service-options?serviceCode=TESTSERVICE&countryCode=KE
Header Parameters
Header | Value | Required |
---|---|---|
Authorization | Bearer <Bearer_Token> generated during authenticate request in step 1. | YES |
Content-Type | application/json | YES |
Request Parameters
Parameter Name | Type | Description |
---|---|---|
serviceCode | string | A unique code identifier for the merchant's service in use as provided on the checkout platform. |
countryCode | string | Two letter code indicating the country in which you want the payment options provided |
Response Parameters
Parameter Name | Type | Description |
---|---|---|
statusCode | integer | Request status code. See full status codes details below. 200 - Payment options fetched successfully from the checkout platform. 500 - Generic failure occurred. Could be as a result of a system failure on the checkout platform. 1001 - No payment option available 1003 - Service not found. The serviceCode sent in the checkout request did not match any the checkout platform service.1007 - Missing countryCode 1013 - The checkout request posted was not valid JSON |
statusDescription | string | A description of the status provided above. |
paymentOptions | JSON array | An array of payment options available for the checkout request. More details will be provided below |
The paymentOptions array consists of the following parameters:
Parameter Name | Type | Description |
---|---|---|
payerClientName | string | The name of the payment option client. |
payerClientCode | string | A unique identifying code of the payment option E.g. 'MPESAKE' for Mpesa payment. |
paymentOptionCode | string | The mode of payment used. |
paymentModeID | integer | Number representing the mode available for use with the payment option. |
paymentMode | string | Name of the mode available for use with the payment option e.g. STK PUSH or INSTRUCTIONS |
payerModeID | integer | Number representing the mode available for use with the payment option |
countryCode | string | The country in which the payment option is from. |
clientLogo | string | A link to the image representation of the client |
minChargeAmount | double | A numerical value representing the minimum amount that the client can debit a customer’s wallet. |
maxChargeAmount | double | A numerical value representing the minimum amount that the client can debit a customer’s wallet |
currencyCode | string | A three characters currency code (ISO 4217) that the payment option can debit the customer’s wallet. |
paymentInstructions | string | A brief description of steps to follow in order to make payment. |
languageCode | string | A two letter code representing the language that the instructions are in. |
Example
Successful Response
{
"status": {
"statusCode": 200,
"statusDescription": "Successfully processed request"
},
"paymentOptions": [
{
"paymentModeID": 3,
"payerClientName": "Safaricom Limited",
"payerModeID": 1,
"paymentOptionCode": "Mobile Money",
"payerClientCode": "SAFKE",
"countryCode": "KE",
"clientLogo": "https://beep2.cellulant.com:9001/hub/admin/images/logos/med96/Safaricom_Limited_10-Oct-2017_1507650496.png",
"minChargeAmount": 1,
"maxChargeAmount": 70000,
"currencyCode": "KES",
"paymentInstructions": "<p>You will receive a prompt on mobile number <b>^CHARGE_MSISDN^</b>.<br/> Enter your M-Pesa PIN to authorize your payment of <b>KES ^CHARGE_AMOUNT^</b> to account number <b>^ACCOUNT_NUMBER^</b>. </p>",
"languageCode": "en",
"paymentMode": "USSD Push"
},
{
"paymentModeID": 1,
"payerClientName": "Bank of Africa - Kenya",
"payerModeID": 6,
"paymentOptionCode": "Banks",
"payerClientCode": "BOA-K",
"countryCode": "KE",
"clientLogo": "https://beep2.cellulant.com:9001/hub/admin/images/logos/med96/boa1.jpg",
"minChargeAmount": 1,
"maxChargeAmount": 100000000,
"currencyCode": "KES",
"paymentInstructions": "<p>To pay via Bank of Africa:</p> <ol> <li>Dial <b>*587#</b></li> <li>Enter your mobile banking PIN</li> <li>Select the <b>PesaLink</b> option</li> <li>Select <b>Send to Phone</b></li> <li>Enter <b>0766369369</b> as the mobile number</li> <li>Enter <b>^CHARGE_AMOUNT^</b> for the amount</li> <li>Enter <b>^ACCOUNT_NUMBER^</b> as the reason / narration</li> <li>Tap <b>SEND</b> or <b>REPLY</b> to confirm</li> </ol>",
"languageCode": "en",
"paymentMode": "Instructions"
}
]
}
Failure Response
{
"status": {
"statusCode": 1001,
"statusDescription": "No Payment Options available"
},
"paymentOptions": null
}
Authentication Failure Response
{
"message": "Unauthenticated.",
"status_code": 500
}
2. Fetch Request Payment Options
This endpoint allows a merchant to query the various payment options available from for a particular checkout request raised through which their consumers can make payments.
GET https://developer.tingg.africa/checkout/v2/custom/requests/options?checkoutRequestID=407073&merchantTransactionID=MTX437913
Header Parameters
Header | Value | Required |
---|---|---|
Authorization | Bearer <Bearer_Token> generated during authenticate request in step 1. | YES |
Content-Type | application/json | YES |
Query Parameters
Parameter Name | Type | Description |
---|---|---|
merchantTransactionID | string | Transaction ID as given by merchant uniquely identifying the transaction. |
checkoutRequestID | integer | Unique request identifier within the checkout platform |
Response Parameters
Parameter Name | Type | Description |
---|---|---|
statusCode | integer | Request status code. See full status codes details below. 200 - Payment options fetched successfully from the checkout platform. 500 - Generic failure occurred. Could be as a result of a system failure on the checkout platform. 1001 - No payment option available 1003 - Service not found. The serviceCode sent in the checkout request did not match any the checkout platform service.1007 - Missing countryCode 1013 - The checkout request posted was not valid JSON |
statusDescription | string | A description of the status provided above. |
paymentOptions | JSON array | An array of payment options available for the checkout request. More details will be provided below |
Example
Successful Response
{
"status": {
"statusCode": 200,
"statusDescription": "Successfully processed request"
},
"paymentOptions": [
{
"paymentModeID": 3,
"payerClientName": "Safaricom Limited",
"payerModeID": 1,
"paymentOptionCode": "Mobile Money",
"payerClientCode": "SAFKE",
"countryCode": "KE",
"clientLogo": "https://developer.tingg.africa/hub/admin/images/logos/med96/Safaricom_Limited_10-Oct-2017_1507650496.png",
"minChargeAmount": 1,
"maxChargeAmount": 150000,
"currencyCode": "KES",
"paymentMode": "USSD Push"
},
{
"paymentModeID": 1,
"payerClientName": "Bank of Africa - Kenya",
"payerModeID": 6,
"paymentOptionCode": "Banks",
"payerClientCode": "BOA-K",
"countryCode": "KE",
"clientLogo": "https://beep2.cellulant.com:9001/hub/admin/images/logos/med96/boa1.jpg",
"minChargeAmount": 1,
"maxChargeAmount": 100000000,
"currencyCode": "KES",
"paymentInstructions": "<p>To pay via Bank of Africa:</p> <ol> <li>Dial <b>*587#</b></li> <li>Enter your mobile banking PIN</li> <li>Select the <b>PesaLink</b> option</li> <li>Select <b>Send to Phone</b></li> <li>Enter <b>0766369369</b> as the mobile number</li> <li>Enter <b>^CHARGE_AMOUNT^</b> for the amount</li> <li>Enter <b>^ACCOUNT_NUMBER^</b> as the reason / narration</li> <li>Tap <b>SEND</b> or <b>REPLY</b> to confirm</li> </ol>",
"paymentMode": "Instructions"
}
]
}
Failure Response
{
"status": {
"statusCode": 1001,
"statusDescription": "No Payment options available"
},
"paymentOptions": null
}
Authentication Failure Response
{
"message": "Unauthenticated.",
"status_code": 500
}
Updated about 1 year ago