Transactions
Overview
Our user transaction services also include a wide range of payment options, such as credit and debit cards, e-wallets, and bank transfers, which allows you to choose the most convenient payment method for you. Our platform also supports multiple currencies, which allows you to make international transactions with ease.
We also provide added security features, such as multi-factor authentication, to ensure that your transactions are protected from fraud. Our user transaction services are also fully compliant with all local and international regulations, such as PCI DSS, which ensures that your transactions are processed in a secure and compliant manner.
Get Card Transactions
Status:
Production
Version:
V2
Category:
Transactions
Get Card Transactions
Overview
This API allows developers to retrieve transaction history for a specific card. It requires one of the supported card identifier as an input and returns all transaction details within a specified date range. The API connects to the card issuer's management system and retrieves the transaction history for the provided card number. The returned information includes details such as transaction amount, merchant name, and transaction date. API has capability to list posted transactions, authorized transactions or statement transactions.
Transaction history retrieval
The primary feature of this API is its ability to retrieve transaction history for a specific card. It allows developers to easily access a cardholder's transaction history within a specified date range, providing them with the information they need to display the transaction history to the customer or for internal purposes.
Date range filtering
The API allows developers to specify a date range when retrieving transaction history, providing them with a more targeted and relevant set of information. This feature is particularly useful for businesses that need to monitor transaction activity over a specific period of time.
Secure data transfer
The API uses standard HTTP protocols to receive the request and return the response and it also uses the necessary authentication credentials such as an API key, which provides an additional layer of security to protect the cardholder's information.
How It Works
A developer makes a request to the API endpoint, including the necessary details such as the card number and the date range in the request body. The API receives the request and processes it by connecting to the card issuer's management system using the provided card number as the identifier. The API then retrieves the transaction history for the provided card number and date range. The API generates a response containing the transaction details in a JSON format The developer receives the response and can then use the information to display the transaction history to the customer or for internal purposes.
Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
Get Card Transactions
Status:
Production
Version:
V2
Category:
Transactions
Node | Child Node | Type | Length | Description |
---|---|---|---|---|
Authorization | Bearer xxxx | string | Authorization Header (Bearer Token) | |
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvRequest | request_get_card_transactions | header | msg_id | string | 12 | Message ID, this field should be unique id for each Api call. This will be generated from client side. If the same message ID is used the system will decline the API call with Error Description “Duplicate Message ID” | ||||
msg_type | string | 12 | Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “TRANSACTION” | |||||||
msg_function | string | 50 | Message functions: Should be “REQ_GET_CARD_TRANSACTIONS” | |||||||
src_application | string | 10 | Source Application: This is a free Text and the client can populate the source system from where the API is Initiated Example: IVR, IB, MB No Validations of these are kept at Network Systems | |||||||
target_application | string | 10 | The target_application can hold any value from FI side, this can be used by FI to check the target system of the API call | |||||||
timestamp | string | 30 | Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00 | |||||||
bank_id | string | 4 | Bank Id is Unique Id 4 digit code for each client and the same will be provided once the client setup is completed in our core system. For sandbox testing – Please use “NIC” | |||||||
body | card_identifier_id | string | 32 | Card Identifier | ||||||
card_identifier_type | string | 20 | CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS | |||||||
transaction_type | string | 16 | authorized, time_based/posted, statemented | |||||||
date_from | string | 10 | Format DD/MM/YYYY. Maximum interval is 90days. Conditional for posted. | |||||||
date_to | string | 10 | Format DD/MM/YYYY. Maximum interval is 90days.Conditional for posted | |||||||
statement_period | string | 4 | Format YYMM (Maximum statement is 12 months from the current date). | |||||||
no_of_transactions_requested | string | 2 | Maximum number of transactions to be fetched in a request. Value should be between 1 and 99 default is 50 | |||||||
requested_page_no | string | 4 | Page number of the current request, could be from 1 to 99. | |||||||
return_mcc_group | string | 4 | To retrun MCC group | |||||||
condition_filter | string | 255 | Filter for Aggregate transactions |
{
"NISrvRequest": {
"request_get_card_transactions": {
"header": {
"msg_id": "58965",
"msg_type": "ENQUIRY",
"msg_function": "REQ_GET_CARD_TRANSACTIONS",
"src_application": "BNK",
"target_application": "WAY4",
"timestamp": "2024-03-19T14:52:37.534+04:00",
"bank_id": "NIC"
},
"body": {
"card_identifier_id": "99984100111514120378",
"card_identifier_type": "EXID",
"transaction_type": "authorized",
"date_from": "01\/01\/2024",
"date_to": "31\/12\/2026",
"statement_period": ""
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_get_card_transactions | header | msg_id | string | 12 | Message ID, this field should be unique id for each Api call. This will be generated from client side. If the same message ID is used the system will decline the API call with Error Description “Duplicate Message ID” | ||||
msg_type | string | 12 | Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY” | |||||||
msg_function | string | 50 | Message functions: Should be “REP_GET_CARD_TRANSACTIONS” | |||||||
src_application | string | 10 | Source Application: This is a free Text and the client can populate the source system from where the API is Initiated Example: IVR, IB, MB No Validations of these are kept at Network Systems | |||||||
target_application | string | 10 | The target_application can hold any value from FI side, this can be used by FI to check the target system of the API call | |||||||
timestamp | string | 30 | Timestamp of the response Date & time Format DD/MM/YYYY HH:MM:SS | |||||||
bank_id | string | 4 | Bank Id is Unique Id 4 digit code for each client and the same will be provided once the client setup is completed in our core system. For sandbox testing – Please use “NIC” | |||||||
exception_details | application_name | string | 20 | Application Name | ||||||
date_time | string | 30 | Timestamp of the response Format “YYYY-MM-DD HH:MM:SS” | |||||||
status | string | 1 | Status of the request (S/F) | |||||||
error_code | string | 4 | EAI Internal Error Code (Check error codes section for the complete list of error codes and error code descriptions) | |||||||
error_description | string | 100 | Error Description (Check error codes section for the complete list of error codes and error code descriptions) | |||||||
transaction_ref_id | string | 20 | The tracking_id sent in the request will be sent back in response in this field. | |||||||
body | card_identifier_id | string | 32 | card identifier | ||||||
card_identifier_type | string | 20 | CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS | |||||||
transaction_type | string | 16 | Type of the card transaction the expected values are - authorized, time_based/posted, statemented | |||||||
date_from | string | 10 | Format YYYY-MM-DD Conditional for posted | |||||||
date_to | string | 10 | Format YYYY-MM-DD Conditional for posted | |||||||
statement_period | string | 4 | Format YYMM Conditional Mandatory for statemented | |||||||
no_of_transactions_returned | string | 3 | Number of transactions | |||||||
no_of_transactions_requested | string | 2 | Maximum number of transactions to be fetched in a request. Value should be between 1 and 99 default is 50 | |||||||
requested_page_no | string | 4 | Page number of the current request, could be from 1 to 99. | |||||||
total_no_of_pages | string | 2 | Total number of requests | |||||||
condition_filter | string | 255 | Condition_filter sent in request | |||||||
transaction | card_identifier_type | string | 20 | CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS | ||||||
card_identifier_id | string | 32 | card_identifier_id | |||||||
masked_pan | string | 16 | Pan in Masked form | |||||||
trans_date | string | 10 | Transaction date & the format is DD/MM/YYYY | |||||||
post_date | string | 10 | Posting date & the format is DD/MM/YYYY | |||||||
debit_credit_flag | string | 1 | Type of direction | |||||||
response_code | string | 3 | Return code | |||||||
description | string | 255 | Transaction description | |||||||
transaction_ref_number | string | 12 | Transaction reference number | |||||||
currency | string | 3 | Currency code Ex: AED | |||||||
amount | string | 20 | Amount | |||||||
source_currency | string | 3 | Transaction Currency | |||||||
source_amount | string | 20 | Transaction amount | |||||||
auth_code | string | 32 | Authorization code | |||||||
merchant_id | string | 32 | Merchant ID number | |||||||
merchant_category_code | string | 4 | SIC | |||||||
merchant_name | string | 64 | Merchant Name | |||||||
merchant_city | string | 64 | Merchant City | |||||||
merchant_country | string | 64 | Merchant Country | |||||||
transaction_code | string | 32 | Transaction code | |||||||
merchant_category_group | string | 20 | Category Group | |||||||
trans_id | string | 20 | Transaction Id | |||||||
balance_type | string | 20 | RETAIL | |||||||
loyalty_code | string | 32 | Loyalty Code | |||||||
loyalty_amount | string | 32 | Loyalty amount | |||||||
loyalty_currency | string | 32 | Loyalty currency | |||||||
labels | string | 32 | Labels | |||||||
transaction_category | string | 32 | Transaction Category | |||||||
original_contract | string | 32 | Original Contract |
{
"NISrvResponse": {
"response_get_card_transactions": {
"header": {
"msg_id": "58965",
"msg_type": "ENQUIRY",
"msg_function": "REP_GET_CARD_TRANSACTIONS",
"src_application": "BNK",
"target_application": "WAY4",
"timestamp": "2024-03-19T14:58:30.054+04:00",
"bank_id": "NIC"
},
"exception_details": {
"application_name": "TCC-ADP",
"date_time": "2024-03-19T14:58:30.054+04:00",
"status": "S",
"error_code": "000",
"error_description": "Success"
},
"body": {
"card_identifier_id": "99984100111514120378",
"card_identifier_type": "EXID",
"transaction_type": "authorized",
"date_from": "01\/01\/2024",
"date_to": "31\/12\/2026",
"statement_period": "",
"no_of_transactions_returned": "1",
"no_of_transactions_requested": "50",
"requested_page_no": "1",
"transactions": [
{
"card_identifier_id": "99984100111514120378",
"card_identifier_type": "EXID",
"masked_pan": "999841XXXXXX5605",
"trans_date": "2024-03-19 14:56:05",
"post_date": "",
"debit_credit_flag": "C",
"response_code": "0",
"description": "Payment To Client Contract Demo Manual Payment Transaction",
"transaction_ref_number": "492855564032",
"currency": "AED",
"amount": "-66.0",
"source_currency": "AED",
"source_amount": "66.0",
"auth_code": "448584",
"merchant_name": "Demo Manual Payment Transaction",
"transaction_code": "",
"trans_id": "10812"
}
]
}
}
}
}
Code | Description |
---|---|
200 | Sample Description |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
502 | Bad gateway |
503 | Scheduled Maintenance |
504 | Gateway Timeout |
596 | Service Not Found |
How It Works
Follow the steps below. For more details, read the Quick Start Guide.
1- Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
2- Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
3- Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
4- Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.
5- Process 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Amet, sed at amet cras fringilla adipiscing nunc, in pulvinar. Sagittis pellentesque leo et proin convallis justo vitae in.