Submitting Transactions
You can submit transactions in 2 ways:
1. Single Submission
Request
Method: POST
Endpoint: api/v1/transaction-monitoring
Headers :
{
"apiKey" : [YOUR APP API_KEY],
"apiSecret" : [YOUR APP API_SECRET],
"Content-Type": "application/json"
}
Example Body :
{
"transactionData" : {
"reference" : "2303pee2fc",
"amount" : 100.5,
"receiverAccount" : "93829392233",
"isExternalPayment" : false,
"status" : true,
"senderAccount" : "01929393923",
"balanceBefore" : 1000,
"type" : "debit",
"channel" : "pos",
"transactionDate" : "2022-04-28 10:30:00",
"vasReceiver": "08124668857",
"currency" : "ngn",
"narration" : "some payment"
},
"device" : {
"deviceId" : "J020D23020D03300303203D3232DDD",
"manufacturer" : "Apple",
"model" : "iPhone 14 Pro",
"name" : "iPhone 14 Pro",
"osName" : "iOS",
"osVersion" : "17.1.0"
},
"anonymizedUserData" : {
"uniqueId" : "e8baeb9c-e563-11ed-b5ea-0242ac120002",
"accountType" : "individual",
"businessCategory" : "retail",
"isPhoneNumberVerified" : true,
"isBanned" : false,
"dateJoined" : "2022-01-01 23:58:00",
"age" : 29,
"isIdentityVerified" : true,
"state" : "lagos",
"city" : "ikeja",
"country" : "Nigeria"
},
"location" : {
"latitude" : 1.039303034,
"longitude" : -1.423243444,
},
"thirdPartyUserData" : {
"uniqueId" : "e2300-e563-11ed-b5ea-0242ac120002",
"cardPan" : "33899******3329",
"email" : "example@gmail.com"
},
}
2. Multiple Submission
Request
Method: POST
Endpoint: api/v1/transaction-monitoring/multiple
Headers :
{
"apiKey" : [YOUR APP API_KEY],
"apiSecret" : [YOUR APP API_SECRET],
"Content-Type": "application/json"
}
Example Body :
{
"transactions": [
{
"transactionData" : {
"reference" : "2303pee2fc",
"amount" : 100.5,
"receiverAccount" : "93829392233",
"isExternalPayment" : false,
"status" : true,
"senderAccount" : "01929393923",
"balanceBefore" : 1000,
"type" : "debit",
"channel" : "pos",
"transactionDate" : "2022-04-28 10:30:00",
"narration" : "some payment"
"refund" : true
},
"device" : {
"deviceId" : "J020D23020D03300303203D3232DDD",
"manufacturer" : "Applee",
"model" : "iPhone 14 Pro",
"name" : "iPhone 14 Pro",
"osName" : "iOS",
"osVersion" : "17.1.0"
},
"anonymizedUserData" : {
"uniqueId" : "e8baeb9c-e563-11ed-b5ea-0242ac120002",
"accountType" : "individual",
"businessCategory" : "retail",
"isPhoneNumberVerified" : true,
"isBanned" : false,
"dateJoined" : "2022-01-01 23:58:00",
"age" : 29,
"isIdentityVerified" : true,
"state" : "lagos",
"city" : "ikeja",
"country" : "Nigeria"
},
"location" : {
"latitude" : 1.039303034,
"longitude" : -1.423243444,
"counry" : "Nigeria",
},
"thirdPartyUserData" : {
"uniqueId" : "e2300-e563-11ed-b5ea-0242ac120002",
"cardPan" : "33899******3329",
"email" : "example@gmail.com"
},
}
]
}
Payment Channels
card payment |
web transfer |
bank transfer |
mobile transfer |
cash payment |
cash withdrawal |
airtime |
cable |
sports betting |
electricity |
internet |
data purchase |
Fields
Transaction Data (required)
Parameter | Type | Description |
---|---|---|
reference (required) | String | Unique identifier for the transaction. |
amount (required) | Number | Amount involved in the transaction. |
isExternalPayment (required) | Boolean | Indicates if the payment is external. |
status (required) | Boolean | Status of the transaction (true for successful, false for failed). |
type (required) | String | Type of transaction (debit or credit). |
channel (required) | String | Channel through which the transaction was made (e.g., POS). |
transactionDate (required) | String | Date and time when the transaction occurred. |
receiverAccount (optional) | String | Account number of the receiver. |
senderAccount (optional) | String | Account number of the sender. |
balanceBefore (optional) | Number | Account balance before the transaction. |
narration (optional) | String | Description or remarks for the transaction. |
vasReceiver (optional) | String | The phone number of the recipient of a VAS transaction. This should be provided when channel is "airtime" or "data purchase" |
currency (optional) | String | Name of currency transaction. ISO 4217 Standard. See list here. Defaults to NGN if you dont provide it. |
refund (optional) | Boolean | Indicates if the payment has been refunded. |
Device (optional)
Parameter | Type | Description |
---|---|---|
deviceId (required) | String | Unique identifier for the device used in the transaction. |
manufacturer (optional) | String | Manufacturer of the device. |
model (optional) | String | Model of the device. |
name (optional) | String | Name of the device. |
osName (optional) | String | Operating system name of the device. |
osVersion (optional) | String | Version of the operating system of the device. |
Anonymized User Data (required)
Parameter | Type | Description |
---|---|---|
uniqueId (required) | String | Unique identifier for the user. |
isBanned (required) | Boolean | Indicates if the user is banned. |
isIdentityVerified (required) | Boolean | Indicates if the user's identity is verified. |
isPhoneNumberVerified (optional) | Boolean | Indicates if the user's phone number is verified. |
accountType (optional) | String | Type of the user's account. "individual" or "corporate" |
businessCategory (optional) | String | Business category of the account if the account type is "corporate". |
dateJoined (optional) | String | Date and time when the user joined. |
age (optional) | Number | Age of the user. |
state (optional) | String | State where the user is located. |
city (optional) | String | City where the user is located. |
country (optional) | String | Country of the merchant. Different from the actual country of transaction |
Location (optional)
Parameter | Type | Description |
---|---|---|
longitude (required) | Number | The latitude position of where the location is coming from |
latitude (required) | Number | The longitude position of where the location is coming from |
country (optional) | String | The country where the transaction originated from |
Third Party User Data (optional)
Parameter | Type | Description |
---|---|---|
uniqueId (required) | String | This is a unique identifier for a third party user making payment |
cardPan (required) | String | This is the mased pan number of the credt/debit card used in making payment |
email (optional) | String | This is the email of the third party individual making payment |
Responses
See Response Section to view all expected responses