Card Services
Overview
Our card services support multiple card types, including Visa, MasterCard, American Express, and Discover, as well as other popular payment methods like Apple Pay and Google Pay. You can also set up recurring payments for your customers, making it easy for them to make regular payments without having to enter their card information every time.Our advanced fraud detection and prevention features use machine learning algorithms to help identify and prevent fraudulent transactions. We also provide detailed reporting and analytics, allowing you to track and analyze payment data and make data-driven decisions.
We also offer multi-currency support, which allows you to accept payments from customers in different parts of the world. And with our 24/7 customer support, you can always count on us to help you resolve any issues related to our card services.Our card services are also fully compliant with all local and international regulations, such as PCI DSS, so you can be confident that you're accepting payments in a secure and compliant manner.
Card Replacement (Post)
This webbook serves to promptly inform your system whenever a card replacement occurs. This helps ensure that important card management activities are communicated accurately and on time. Card replacements are crucial in banking because they affect customer accounts, security, and transaction abilities.
Pin Action (Post)
This webbook serves to promptly inform your system whenever there are PIN-related actions performed on a card. It's important for maintaining card security, overseeing operations, and meeting regulatory requirements in finance. PIN-related actions, as of now we support reset pin counter only.
Card Create
Status:
Production
Version:
V2
Category:
Card Services
Card Create
Overview
The Card Create API is used to cards for customers. It accepts various parameters such as customer information, account information, card type, and custom fields.
Efficient Card Creation
Quickly create a new card with just a few parameters.
Customizable Features
Customize various card features, including cardholder name, product code, and currency.
Virtual Card Option
Option to create a virtual card with the "card_virtual_indicator" parameter.
How It Works
The Card Create API is used to create new cards for customers. The API accepts parameters such as customer ID, account number, card type, institution ID, cardholder name, product code, card role, card date open, currency, and custom fields. Once the required parameters are set, the API executes the creation of the new credit card and returns a response indicating the success or failure of the transaction.
If the card is related to multi-currency product, you have 2 options, either to provide the base wallet number in account_number, or to provide the top account number in the same field but to send key “contract_idt_scheme” with value “CN:WALLET_BASE” under custom_fields.
Card Create
Status:
Production
Version:
V2
Category:
Card Services
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 | |||||||
---|---|---|---|---|---|---|---|---|---|---|
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_CARD_CREATE” | |||||||
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 | customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | ||||||
account_number | string | 64 | Account number | |||||||
card_type | string | 7 | Informative value to the request, does not have any functional impact, the value can be PREPAID/CREDIT/DEBIT | |||||||
card | customer_id | string | 20 | Customer ID: Customer Identification number This should be a unique number | ||||||
account_number | string | 64 | Account number | |||||||
institution_id | string | 5 | institution id is the code that is created for each bank or FI(it is the same value as bank code), 982 value is just used as an example in Sandbox | |||||||
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 | Clear card number generated by FI system. If it was not provided, CMS will generate it | |||||||
card_expiry_date | string | 4 | Format YYMM. If it was not provided, CMS will generate it | |||||||
cardholder_name | string | 21 | Cardholder name | |||||||
product_code | string | 32 | Product code, this code is generated by CMS after creating the product, this code is FI spesific code 982_AED_002_P is just used as an example in Sandbox" | |||||||
card_date_open | string | 10 | Date of card contract creation | |||||||
currency | string | 3 | Informative value to the request, does not have any functional impact, the currency will be taken from the product | |||||||
card_virtual_indicator | string | 1 | V - Virtual P - Physical | |||||||
limit | type | string | 32 | Credit limit, applicable only for credit cards, Type of limit: FIN_LIMIT, CR_LIMIT_PCNT (Supplementary card only) | ||||||
currency | string | 3 | Credit limit currency | |||||||
value | string | 20 | Credit limit value | |||||||
custom_fields | key | string | 20 | Custom Tag. Example: contract_idt_scheme | ||||||
value | string | 128 | Tag value. Example: CONTRACT_NUMBER |
{
"NISrvRequest": {
"request_card_create": {
"header": {
"msg_id": "1593093024",
"msg_type": "TRANSACTION",
"msg_function": "REQ_CARD_CREATE",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"bank_id": "NIC"
},
"body": {
"customer_id": "100000027",
"account_number": "0009821110000000008",
"card_type": "CREDIT",
"card": {
"customer_id": "100000027",
"account_number": "0009821110000000008",
"institution_id": "982",
"cardholder_name": "JOHN DOE",
"product_code": "982_AED_042_P",
"card_date_open": "2022-01-01",
"currency": "AED",
"card_virtual_indicator": "V",
"instant_issuance": {
"online_embossing": "Y",
"embossing_tags": [
{
"key": "EF.TAG1",
"value": "A1B2C3D4E5"
}
]
},
"limit": {},
"custom_fields": [
{
"key": "contract_idt_scheme",
"value": "CONTRACT_NUMBER"
}
]
}
}
}
}
}
Node | Child Node | Type | Length | Description | |||
---|---|---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_card_create | 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 “REP_CARD_CREATE” | |||||||
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 | 15 | Timestamp of the response - 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” | |||||||
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 | CardValue of card number, Token number, Ext_number | ||||||
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 | |||||||
masked_pan | string | 16 | Masked PAN | |||||||
card_virtual_indicator | string | 1 | P- Physical V- Virtual | |||||||
custom_fields | key | string | 32 | Custom Tag e.g. contract_idt_scheme | ||||||
value | string | 128 | Custom Tag value |
{
"NISrvResponse": {
"response_card_create": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REP_CARD_CREATE",
"src_application": "IVR",
"target_application": "WAY4",
"timestamp": "2020-07-20T06:49:02.366Z",
"bank_id": "NIC"
},
"exception_details": {
"application_name": "TCC-ADP",
"date_time": "2023-02-01T16:39:47.314+04:00",
"status": "S",
"error_code": "000",
"error_description": "Success",
"transaction_ref_id": "236001"
},
"body": {
"card_identifier_id": "99985101161390700708",
"card_identifier_type": "EXID",
"masked_pan": "999851XXXXXX8349",
"card_virtual_indicator": "V",
"custom_fields": [
{
"key": "contract_idt_scheme",
"value": "CONTRACT_NUMBER"
}
]
}
}
}
}
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.