Credit Solutions

Overview

Prepaid card services in NI allow users to access and use prepaid cards in the payment processing system. Prepaid cards are a type of payment card that are loaded with a specific amount of funds, which can be used to make purchases or withdraw cash at locations that accept the card.Users of prepaid card services in a payment processing company can typically:

Version

Lookup Card Identifier

Status:

Production

Version:

V2

Product:

Debit Solutions

Lookup Card Identifier

Overview

Our API provides a solution for obtaining alternative identifiers for a given card identifier. It is one of the key APIs that enables our customers to avoid maintaining card numbers in their own system, thus reducing their PCI-DSS scope. By using this API, customers can dynamically retrieve clear or encrypted PAN by using our tokenized card identifier. This allows them to avoid the strict guidelines of PCI-DSS while still being able to perform transactions securely. To utilize this feature, the card identifier must be provided as an input to the API. The API then uses this input to query the card records and returns a response containing the requested identifier in a structured format.

How It Works

This API is designed to securely exchange card PANs (personal account number) by using a randomly generated token called EXID (external ID) instead. The EXID is a non-sensitive identifier that is 20 characters long and made up of various elements such as the BIN (8 digits) of the card, a system identifier (1 digit), 10 random numbers and a Luhn digit check.

This API allows for both retrieving the Card PAN using the EXID, or the EXID using the Card PAN. Additionally, this API also supports end-to-end encryption for the Card PAN if desired. To enable this, the request must include a Public Key in the form of a Base64 encoded X509 certificate, which is used to encrypt the PAN before it is sent.

This ensures that the PAN can only be decrypted by the private key owned by the requester. This API allows for secured transport of sensitive data and can help customers stay out of PCI-DSS scope as they don't need to store any card numbers on their own system.

https://api-sandbox.network.global

Lookup Card Identifier

Status:

Production

Version:

V2

Product:

Debit Solutions
/V2/cardservices/LookupCardIdentifier
curl --location --request POST '#{PARAM_URL}' --header 'Authorization: Bearer {{ access_token }}' {custom_headers} --data-raw '#{JSON_PAYLOAD}'
curl --location --request GET 'https://api-sandbox.network.global/v1/tokenkc/generate' \--data-raw '#{JSON_PAYLOAD}'
curl --location --request POST 'https://api-sandbox.network.global/v1/tokenkc/generate' \--data-raw '#{JSON_PAYLOAD}'

Node Child Node Type Length Description
Authorization* requiredBearer xxxx* requiredstringAuthorization Header (Bearer Token)
Content-Type* requiredapplication/json* requiredstringContent Type

Node TypeTypeLengthDescription
NISrvRequestrequest_lookup_card_identifierheadermsg_id* requiredstring12Message 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* requiredstring12Request Type
msg_function* requiredstring50Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY”
src_application* requiredstring10Source 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* requiredstring10Target application name Ex CMS
timestamp* requiredstring30Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
tracking_idstring15Transaction Tracking Id
bank_id* requiredstring4Bank 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”
bodycard_identifier_id* requiredstring32Card Identifier
card_identifier_type* requiredstring20CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS
public_keystring500X.509 Certificate encapsulating a Public Key to be used to encrypt the clear card number

{
    "NISrvRequest": {
        "request_lookup_card_identifier": {
            "header": {
                "msg_id": "236001",
                "msg_type": "ENQUIRY",
                "msg_function": "REQ_LOOKUP_CARD_IDENTIFIER",
                "src_application": "IVR",
                "target_application": "WAY4",
                "timestamp": "2020-07-20T10:49:02.366+04:00",
                "tracking_id": "236001",
                "bank_id": "NIC"
            },
            "body": {
                "card_identifier_id": "99984100111514120000",
                "card_identifier_type": "EXID",
                "public_key": "947DFE575D5DAFD68A57414C46CDF039AFA"
            }
        }
    }
}

Node Child Node Type Length Description
Content-Typeapplication/jsonstringContent Type

Node TypeTypeLengthDescription
NISrvResponseresponse_lookup_card_identifierheadermsg_id* requiredstring12Unique Source Message ID eg ada123456fdsf
msg_type* requiredstring12Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY”
msg_function* requiredstring50Message functions: Should be “REP_LOOKUP_CARD_IDENTIFIER”
src_application* requiredstring10Source 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* requiredstring10The 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* requiredstring15Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
tracking_idstring15Transaction Tracking Id
bank_id* requiredstring4Bank 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_detailsapplication_name* requiredstring20Application Name
date_time* requiredstring30Timestamp of the response Format “YYYY-MM-DD HH:MM:SS”
status* requiredstring1Status of the request (S/F)
error_code* requiredstring4EAI Internal Error Code (Check error codes section for the complete list of error codes and error code descriptions)
error_description* requiredstring100Error Description (Check error codes section for the complete list of error codes and error code descriptions)
transaction_ref_idstring20The tracking_id sent in the request will be sent back in response in this field.
bodycard_identifier_type* requiredstring20CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS
card_identifier_id* requiredstring32EXID

{
    "NISrvResponse": {
        "response_lookup_card_identifier": {
            "header": {
                "msg_id": "236001",
                "msg_type": "ENQUIRY",
                "msg_function": "REP_LOOKUP_CARD_IDENTIFIER",
                "src_application": "IVR",
                "target_application": "WAY4",
                "timestamp": "2020-07-20T06:49:02.366Z",
                "tracking_id": "236001",
                "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_type": "EXID",
                "card_identifier_id": "454545XXXXXX1234"
            }
        }
    }
}

Code Description
200Sample Description
400Bad Request
401Unauthorized
403Forbidden
500Internal Server Error
502Bad gateway
503Scheduled Maintenance
504Gateway Timeout
596Service Not Found