Pin Management

Overview

Our PIN Management services provide a secure platform for you to manage and distribute PINs to your customers. With our platform, you can easily generate, distribute and revoke PINs as needed, and track their usage.

Our PIN Management services also include added security features, such as encryption and multi-factor authentication, to ensure that your customers PINs are protected from fraud. Our platform also ensures that your PINs are compliant with all local and international regulations and industry standards, such as PCI DSS, which ensures that your transactions are processed in a secure and compliant manner.

In addition, our PIN Management services provide you with detailed reporting and analytics, which allows you to track and analyze your customers PIN usage, and make data-driven decisions. You can also set up alerts and notifications, which will inform you of any changes to your customers PINs usage or activity.

Version

Card Pin Verification

Status:

Production

Version:

V2

Category:

Pin Management

Card PIN Verification

Overview

The "Pin Verification" API allows financial institutions to verify the identity of a cardholder by comparing a PIN input by the cardholder to the one associated with the card on file. This API can be integrated into various platforms such as online banking, e-commerce, or point-of-sale systems to provide secure cardholder authentication

The API allows for real-time validation of the PIN entered, ensuring that only authorized cardholders have access to restricted information or are able to perform certain actions. It performs the validation of the entered PIN against the card on file to confirm the identity of the cardholder.

How It Works

The "Card PIN Verification" API allows financial institutions to verify the validity of a cardholder's PIN by comparing it to the one associated with a specific card. The API operates by receiving a request from a financial institution, which includes the card number and the PIN provided by the cardholder as parameters. The API then connects to the card issuer's systems or network to retrieve the PIN associated with the provided card number and compares it to the one provided by the cardholder. The API returns the result of the comparison to the consumer.

The API utilizes standard HTTPS protocols for receiving requests and returning responses. Financial institutions can make an HTTPS POST request to the API endpoint, including necessary parameters such as the card number and the cardholder's PIN in the request body.

https://api-sandbox.network.global

Card Pin Verification

Status:

Production

Version:

V2

Category:

Pin Management
/SB/CardServices/Transaction/V2/CardPinVerification
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_card_pin_verificationheadermsg_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* requiredstring12Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY”
msg_function* requiredstring50Message functions: Should be “REQ_CARD_PIN_VERIFICATION”
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* requiredstring30Timestamp of the request Date & time Format DD/MM/YYYY HH:MM:SS
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
card_expiry_datestring4YYMM Ex: 2310
encrypted_pin* requiredstring20Encrypted Pin block under ZPK Ex: 7B47D3321D4A5F63
encryption_methodstring20Encryption Method to be used for the encryption of the pin

{
    "NISrvRequest": {
        "request_card_pin_verification": {
            "header": {
                "msg_id": "12345",
                "msg_type": "ENQUIRY",
                "msg_function": "REQ_CARD_PIN_VERIFICATION",
                "src_application": "IVR",
                "target_application": "PCMS",
                "timestamp": "2020-05-21T15:13:18.853+04:00",
                "tracking_id": "12345df",
                "bank_id": "NIC"
            },
            "body": {
                "card_identifier_id": "99984100148297467162",
                "card_identifier_type": "EXID",
                "card_expiry_date": "2310",
                "encrypted_pin": "F41AB9C3974FE7B9",
                "encryption_method": "SYMMETRIC_ENC",
                "encryption_key_id": "",
                "encryption_key_type": ""
            }
        }
    }
}

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

Node TypeTypeLengthDescription
NISrvResponseresponse_card_pin_verificationheadermsg_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* requiredstring12Message Type – This can have either “TRANSACTION” or “ENQUIRY” As for this API the value expected is “ENQUIRY”
msg_function* requiredstring50Message functions: Should be “RES_CARD_PIN_VERIFICATION”
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* requiredstring30Timestamp of the response Date & time Format DD/MM/YYYY HH:MM:SS
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.

{
    "NISrvResponse": {
        "response_card_pin_verification": {
            "header": {
                "msg_id": "236001",
                "msg_type": "ENQUIRY",
                "msg_function": "RES_CARD_PIN_VERIFICATION",
                "src_application": "IVR",
                "target_application": "CMS",
                "timestamp": "2020-07-20T10:49:02.366+04:00",
                "bank_id": "NIC",
                "instance_id": "InstanceID"
            },
            "exception_details": {
                "application_name": "TCC-ADP",
                "date_time": "2023-02-01T16:39:47.314+04:00",
                "status": "S",
                "error_code": "000",
                "error_description": "Success"
            }
        }
    }
}

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

How It Works

Follow the steps below. For more details, read the Quick Start Guide.