Getting Started
API
- Transaction Monitoring
- Anti Monitoring Laundering
Submit Transaction (Instant)
POST api/v1/transaction-monitoring/instant
curl --request POST \
--url https://sigmaprod.sabipay.com/api/v1/transaction-monitoring/instant \
--header 'Content-Type: application/json' \
--header 'apiKey: <api-key>' \
--header 'apiSecret: <api-key>' \
--data '{
"transactionData": {
"reference": "<string>",
"amount": 123,
"receiverAccount": "<string>",
"senderAccount": "<string>",
"isExternalPayment": true,
"balanceBefore": 123,
"type": "debit",
"channel": "card payment",
"transactionDate": "2023-11-07T05:31:56Z",
"vasReceiver": "<string>",
"currency": "<string>",
"isInternalAccount": true,
"isStaffAccount": true,
"sessionId": "<string>",
"isDormantAccount": true
},
"device": {
"deviceId": "<string>",
"manufacturer": "<string>",
"model": "<string>",
"osName": "<string>",
"osVersion": "<string>"
},
"anonymizedUserData": {
"uniqueId": "<string>",
"accountType": "individual",
"businessCategory": "<string>",
"isPhoneNumberVerified": true,
"isBanned": true,
"dateJoined": "2023-11-07T05:31:56Z",
"age": 123,
"isIdentityVerified": true,
"state": "<string>",
"city": "<string>",
"country": "<string>"
},
"location": {
"latitude": 123,
"longitude": 123,
"country": "<string>"
},
"thirdPartyUserData": {
"uniqueId": "<string>",
"cardPan": "<string>",
"email": "jsmith@example.com"
},
"limits": {
"dailyLimit": 123,
"overdraftLimit": 123
},
"screeningData": {
"senderName": "<string>",
"receiverName": "<string>"
},
"beneficiary": {
"isRegisteredBeneficiary": true,
"isNewBeneficiary": true
}
}'
{
"transactionId": "<string>",
"riskScore": "<string>",
"action": {
"result": "approved",
"code": 0
},
"ruleResult": "<string>",
"reason": {
"code": "<string>",
"message": "<string>",
"severity": "high",
"rule": {
"id": "<string>",
"name": "<string>"
}
},
"screening": {
"sender": {
"pep": "<string>",
"sanction": "<string>"
},
"receiver": {
"pep": "<string>",
"sanction": "<string>"
}
}
}
Body
Unique identifier for the transaction
Amount involved in the transaction
True if payment is made to an external institution or bank
Type of transaction
debit
, credit
Payment channel used for transaction
card payment
, web transfer
, bank transfer
, mobile transfer
, cash payment
, cash withdrawal
, airtime
, cable
, sports betting
, electricity
, internet
, data purchase
, atm
, pos
ISO 8601 formatted timestamp of the transaction
Currency code (ISO 4217 standard)
Receiver's account number
Sender's account number
Account balance before the transaction
Phone number of VAS recipient (for airtime/data)
True if account belongs to the institution
True if user is a staff member
Unique session identifier
True if account is inactive
user ID or reference from your database
User account type
individual
, corporate
Type of business, if applicable
Whether the user's phone number is verified
Indicates if user is banned
Date user joined the platform
User's age
Whether user's identity is verified
State where the user created their account
City where the user created their account
Country where the user created their account
Response
The ID of the transaction that was checked for fraud
A score indicating the level of risk associated with the transaction
Object providing info about the final decision taken on the transaction. Only returned when a final decision is taken
Result after the rules set have been executed (e.g., 'looks safe', 'needs review')
Provides more detailed information about why the transaction is considered fraudulent
Unique code that identifies the reason for the transaction being considered fraudulent
Human-readable description of the reason for the transaction being considered fraudulent
Severity of the reason for the transaction being considered fraudulent
high
, medium
, low
Results of screening checks performed on transaction parties (Only returned when transaction screening module is enabled)
curl --request POST \
--url https://sigmaprod.sabipay.com/api/v1/transaction-monitoring/instant \
--header 'Content-Type: application/json' \
--header 'apiKey: <api-key>' \
--header 'apiSecret: <api-key>' \
--data '{
"transactionData": {
"reference": "<string>",
"amount": 123,
"receiverAccount": "<string>",
"senderAccount": "<string>",
"isExternalPayment": true,
"balanceBefore": 123,
"type": "debit",
"channel": "card payment",
"transactionDate": "2023-11-07T05:31:56Z",
"vasReceiver": "<string>",
"currency": "<string>",
"isInternalAccount": true,
"isStaffAccount": true,
"sessionId": "<string>",
"isDormantAccount": true
},
"device": {
"deviceId": "<string>",
"manufacturer": "<string>",
"model": "<string>",
"osName": "<string>",
"osVersion": "<string>"
},
"anonymizedUserData": {
"uniqueId": "<string>",
"accountType": "individual",
"businessCategory": "<string>",
"isPhoneNumberVerified": true,
"isBanned": true,
"dateJoined": "2023-11-07T05:31:56Z",
"age": 123,
"isIdentityVerified": true,
"state": "<string>",
"city": "<string>",
"country": "<string>"
},
"location": {
"latitude": 123,
"longitude": 123,
"country": "<string>"
},
"thirdPartyUserData": {
"uniqueId": "<string>",
"cardPan": "<string>",
"email": "jsmith@example.com"
},
"limits": {
"dailyLimit": 123,
"overdraftLimit": 123
},
"screeningData": {
"senderName": "<string>",
"receiverName": "<string>"
},
"beneficiary": {
"isRegisteredBeneficiary": true,
"isNewBeneficiary": true
}
}'
{
"transactionId": "<string>",
"riskScore": "<string>",
"action": {
"result": "approved",
"code": 0
},
"ruleResult": "<string>",
"reason": {
"code": "<string>",
"message": "<string>",
"severity": "high",
"rule": {
"id": "<string>",
"name": "<string>"
}
},
"screening": {
"sender": {
"pep": "<string>",
"sanction": "<string>"
},
"receiver": {
"pep": "<string>",
"sanction": "<string>"
}
}
}