Skip to main content

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)

ParameterTypeDescription
reference (required)StringUnique identifier for the transaction.
amount (required)NumberAmount involved in the transaction.
isExternalPayment (required)BooleanIndicates if the payment is external.
status (required)BooleanStatus of the transaction (true for successful, false for failed).
type (required)StringType of transaction (debit or credit).
channel (required)StringChannel through which the transaction was made (e.g., POS).
transactionDate (required)StringDate and time when the transaction occurred.
receiverAccount (optional)StringAccount number of the receiver.
senderAccount (optional)StringAccount number of the sender.
balanceBefore (optional)NumberAccount balance before the transaction.
narration (optional)StringDescription or remarks for the transaction.
vasReceiver (optional)StringThe phone number of the recipient of a VAS transaction. This should be provided when channel is "airtime" or "data purchase"
currency (optional)StringName of currency transaction. ISO 4217 Standard. See list here. Defaults to NGN if you dont provide it.
refund (optional)BooleanIndicates if the payment has been refunded.

Device (optional)

ParameterTypeDescription
deviceId (required)StringUnique identifier for the device used in the transaction.
manufacturer (optional)StringManufacturer of the device.
model (optional)StringModel of the device.
name (optional)StringName of the device.
osName (optional)StringOperating system name of the device.
osVersion (optional)StringVersion of the operating system of the device.

Anonymized User Data (required)

ParameterTypeDescription
uniqueId (required)StringUnique identifier for the user.
isBanned (required)BooleanIndicates if the user is banned.
isIdentityVerified (required)BooleanIndicates if the user's identity is verified.
isPhoneNumberVerified (optional)BooleanIndicates if the user's phone number is verified.
accountType (optional)StringType of the user's account. "individual" or "corporate"
businessCategory (optional)StringBusiness category of the account if the account type is "corporate".
dateJoined (optional)StringDate and time when the user joined.
age (optional)NumberAge of the user.
state (optional)StringState where the user is located.
city (optional)StringCity where the user is located.
country (optional)StringCountry of the merchant. Different from the actual country of transaction

Location (optional)

ParameterTypeDescription
longitude (required)NumberThe latitude position of where the location is coming from
latitude (required)NumberThe longitude position of where the location is coming from
country (optional)StringThe country where the transaction originated from

Third Party User Data (optional)

ParameterTypeDescription
uniqueId (required)StringThis is a unique identifier for a third party user making payment
cardPan (required)StringThis is the mased pan number of the credt/debit card used in making payment
email (optional)StringThis is the email of the third party individual making payment
Responses

See Response Section to view all expected responses