Create a Transaction

POST {{baseurl}}/v2/api/evaluations

This endpoint is used to send or stream a single financial transaction associated with an existing client (individual or business client) for evaluation.

Name
Type
Description

token*

String

API token

Body

Field
Type
Description

transaction*

Object

Transaction information.

channel

String

The platform used to initiate the transaction.

Allowed values: "ATM, CARD_SWIPE_TERMINAL, IOS, ANDROID, ONLINE, POS, BRANCH, UNKOWN"

currency*

String

3 letter ISO 4217 currency code of the value.

transactionReference*

String

Primary identifier for the transaction.

amount*

Float

Value of the transaction.

localAmount*

Float

Amount converted to the local currency of the financial institution.

instrument*

String

Instrument of the transaction.

Allowed values: "CASH,CHECK,DIRECT_DEBIT,STANDING_ORDER,TRANSFER,CARD,VIRTUAL", ", PROMISSORY_NOTE,UNKNOWN"

purpose*

String

A more specific reason for the transaction beyond the general method (transaction.instrument).

Allowed values: "FEE,INTEREST,PAYMENT,REVERSAL,CORRECTION,BILL_PAY,INTRA_ACTOR,REFUND,CHARGE_BACK,UNKNOWN"

direction*

String

The direction of a transaction is OUTFLOW when funds are sent from the account holder, and INFLOW when funds are received by the account holder.

Allowed values: "OUTFLOW,INFLOW"

international

Boolean

Indicates if the transaction was international.

night

Boolean

Indicates whether the transaction occurred after a specific time designated by the financial institution (e.g., night time).

description

String

Description of the transaction.

status

String

Status of the transaction.

Allowed values: "COMPLETE,PENDING,VOID,FAILED"

countryCode*

String

Initiating country code, Two country code, ISO 3166-1. This should be set for transaction monitoring to work as intended.

transactionDate*

Integer

Date in seconds since 1 Jan 1970 00:00:00 UTC (i.e. in Unix time).

source*

Object

Initiator of the transaction.

accountHolderType*

String

Type of party involved in the transaction.

Allowed values: "LEGAL_ENTITY,INDIVIDUAL,EMPTY"

accountBalance

Float

The current, settled balance of the account in the currency of the account.

accountName

String

Name of the transaction source in order [FirstName, MiddleName, LastName] if not legal entity.

bankName

String

Name of the bank of the initiator.

accountNumber*

String

Account number of initiator.

externalAccountId

String

Primary identifier for the initiator.

bankCode

String

bankCode (Bank Identifier Code) Unique identifier of the bank. In some countries, this can be the same as the bank's SWIFT code.

beneficiary*

Object

Counterparty information.

accountNumber*

String

Bank account number the counterparty.

externalAccountId

String

Primary identifier for the counterparty.

bankName

String

Name of the bank of the counterparty.

accountName*

String

Account name of the counterparty in order [FirstName, MiddleName, LastName] if not legal entity.

accountHolderType*

String

Type of party involved in the transaction.

Allowed values: "LEGAL_ENTITY,INDIVIDUAL,EMPTY"

merchantCategoryCode

String

Merchant category code for counterparty if legal_entity.

countryCode*

String

Country code of the merchant.

routingNumber

String

Routing number.

bank

String

bankCode (Bank Identifier Code) Unique identifier of the bank. In some countries, this can be the same as the bank's SWIFT code.

iban

String

IBAN (International Bank Account Number).

swift

String

SWIFT (Society for Worldwide Interbank Financial Telecommunication) code.

cifNumber

String

CIF (Customer Information File) number.

avs

String

AVS (Address Verification System) code.

addressCity

String

City of the counterparty's residence address .

addressState

String

State of the counterparty's residence address.

addressPostalCode

String

Post code of the counterparty's residence address.

addressCountryCode

String

Counterparty's country of residence.

ipAddress

String

IP address for the device associated with the transaction.

deviceId

String

Device ID is a unique, anonymized string of numbers and letters that identifies the device.

{
    "transactionReference": "external_transaction_identifier",
    "transactionDate": 31532409,
    "direction": "OUTFLOW",
    "description": "Payment (details might be missing)",
    "channel": "IOS",
    "currency": "NGN",
    "amount": 10930,
    "localAmount": 0,
    "status": "PENDING",
    "purpose": "FEE",
    "international": false,
    "instrument": "UNKNOWN",
    "night": false,
    "countryCode": "AF",
    "device": {
        "deviceId": "unique_identifier_of_device_used_in_transaction",
        "ipAddress": "10.0.0.1"
    },
    "source": {
        "externalAccountId": "external_account_id",
        "accountBalance": 0,
        "accountNumber": "0989067890",
        "accountType": "INDIVIDUAL",
        "accountName": "r",
        "bankName": "r",
        "bankCode": "1234"
    },
    "beneficiary": {
        "accountType": "INDIVIDUAL",
        "externalAccountId": "external_account_id",
        "accountNumber": "0989067890",
        "accountName": "Johann McPherson",
        "bankName": "Societe",
        "merchantCategoryCode": "1234",
        "countryCode": "NG",
        "bic": "bank_identifier_code/SWIFT",
        "bankCode": "1234",
        "addressPostalCode": "10001",
        "addressCountryCode": "NG",
        "addressCity": "",
        "addressState": "",
        "iban": "",
        "avs": "",
        "cifNumber": "",
        "routingNumber": ""
    },
    "metadata": {}
}
{
       "success": true,
       "statusCode": 201,
       "message": "Transaction successfully created and sent for evaluation!",
       "data": {},
       "links": []
     }
{
  "success": false,
  "statusCode": 404,
  "message": "You have attempted to get a resource that does not exist.",
  "name": "ResourceNotFoundError",
  "data": {}
}

Last updated