Authorize Transaction
Authorize Transaction message is used to send a transaction authorization to a MMO.
Authorize Transaction Request
The following describes the important element required to be sent for Authorize Transaction request. The HTTP method is POST.
S/N | Data Element (DE) | Description | |
1 | subscriberId | Mandatory | Customer ID. E.g. 2348012233220 |
2 | transactionId | Mandatory | Unique ID for the transaction |
3 | transactionType | Mandatory | Transaction Type |
4 | providerToken | Mandatory | Mobile Money Transaction Authentication Token.
NB: Null is sent and should be used if providerToken is not sent generate token request. |
5 | Narration | Mandatory | Transaction narration |
6 | mercantId | Mandatory | Merchant Identifier |
7 | terminalId | Mandatory | Mobile Money Transaction Authentication Token |
8 | Amount | Mandatory | Transaction Amount in lower denomination |
9 | Acquirer | Mandatory | Acquirer |
10 | macdata | Mandatory | See the MAC computation in the appendix |
11 | paycode | Mandatory | PayWithMobile Token |
Request Headers
S/N | Data Element (DE) | Description | |
1 | Authorization | Mandatory | Basic Authentication will be used. E.g Basic dXNlcm5hbWU6cGFzc3dvcmQ=. The username and
Password for basic authentication is to be provided by MMO |
2 | Content-Type | Mandatory | The API should support “application/json” media type |
Sample Authorize Transaction Request (Sent from Interswitch)
POST {context}/transactions/authorize
Content-Type: application/json Authorization: dXNlcm5hbWU6cGFzc3dvcmQ= Signature: SUtJQTc2QzYzQjYwODIxNjI5RjRDQ0I5MDQ3RjRFNzI5NzUyMjJGMENENzc= {
“subscriberId”: “2348060774043”,
“transactionId”: “123456”,
“providerToken”: “null”,
“transactionType”: “withdrawal”,
“narration”: “ABC1234567”,
“amount”: “00000010000”,
“merchantId”: “ttt3244”,
“terminalId”: “234455555”,
“acquirer”: “12344453”,
“macdata”: “JgUGs+L/G2DsC8q0mn7CEKozmukVCIFnmKO5bGugZdQ
gIS7RmEMtY3Nv6xR9AJaurAiBqxttckUZXpWOC3g3/w==”,
“paycode”: “12601609197”
} |
Authorize Transaction Response
The following describes the important data element required for Authorize Transaction response.
S/N | Data Element (DE) | Description |
1 | responseCode | Response Code. See Response Code Table Below |
2 | responseDecription | Response Description. See Response Code Table Below |
Successful Response
HTTP Status Code: 200
Content-Type: application/json { “responseCode”: “00”, “responseDescription”: “Authorized” } |
Unsuccessful Response
HTTP Status Code: 401
Content-Type: application/json { “responseCode”: “63”, “responseDescription”: “Security Violation” } HTTP Status Code: 500 Content-Type: application/json { “responseCode”: “06”, “responseDescription”: “Unable to authorize due to some errors” } |