Debit Solutions

Overview

Our one-stop, centralised solution for Debit Card processing is designed to provide you with a seamless and secure payment experience. Whether you are a small business or a large enterprise, our solution is cost-effective, easily configurable and scalable to meet your specific needs.

With our Debit Card processing solution, you can easily accept payments from your customers and enjoy faster access to your funds. Our platform supports all major debit card networks, so you can accept payments from customers regardless of their bank.

Version

Card Pin Change

Status:

Production

Version:

V2

Product:

Credit Solutions

Card PIN Change

Overview

This API allows for the updating of a Personal Identification Number (PIN) on a card. This is typically used when a cardholder believes their current PIN may have been compromised, or for added security. In order to change the PIN, the API requires the cardholder to provide their current or old PIN to validate their identity.

If the validation fails, the request will be declined. Once the PIN has been successfully updated, it will be the new PIN expected for any Point of Sales (POS) purchases. To ensure the secure exchange of sensitive information, this API utilizes cryptography techniques. For more information on the encryption methods used, please refer to the "Get Encryption Certificate" API.

How It Works

This API allows for the changing of a PIN on a card by validating the old PIN and setting the new one. The PIN is used for Point of Sales purchases. In order to use this API, the 'Get Encryption Certificate' API must be used to securely prepare the PIN before transport. This will provide an X509 Certificate containing a public key linked to the institution.

The process of communicating the PIN with the system involves the following steps:

  • Retrieve the encryption certificate using the 'Get Encryption Certificate' API.
  • Capture both the old and new PIN from the cardholder through the appropriate channels. It is important to note that these operations should not be logged or stored.
  • If the Card PAN is not available, use the Card Lookup API to retrieve it. This is necessary to form the Pinblock using the ISO 9564 Pinblock format-0 Algorithm.
  • Form the Pinblock for both the old and new PIN and encrypt them under the certificate.
  • Use the resulting values of both the old and new PIN in this API.
  • It is important to note that the Pinblock must be in a Hexstring format when being encrypted.

Overall, this API uses cryptography to ensure the secure exchange of sensitive information, such as the cardholder's PIN, and requires strict adherence to certain procedures and protocols to maintain the security of this information.

https://api-sandbox.network.global

Card Pin Change

Status:

Production

Version:

V2

Product:

Credit Solutions
/SB/CardServices/Transaction/V2/CardPinChange
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_changeheadermsg_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_CHANGE”
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
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”
instance_idstring10instance_id
bodycard_identifier_id* requiredstring32454545XXXXXX1234
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_date* requiredstring4YYMM Ex: 2310
encrypted_old_pin* requiredstring20Encrypted old Pin block under ZPK Ex: 7B47D3321D4A5F63
encrypted_new_pin* requiredstring20Encrypted New Pin block under ZPK Ex: 7B47D3321D4A5F63
encryption_method* requiredstring20Encryption Method to be used for the encryption of the pin

{
    "NISrvRequest": {
        "request_card_pin_change": {
            "header": {
                "msg_id": "12345",
                "msg_type": "ENQUIRY",
                "msg_function": "REQ_CARD_PIN_CHANGE",
                "src_application": "IVR",
                "target_application": "WAY4",
                "timestamp": "2020-07-20T10:49:02.366+04:00",
                "bank_id": "NIC"
            },
            "body": {
                "card_identifier_id": "99984100148297467162",
                "card_identifier_type": "EXID",
                "card_expiry_date": "2711",
                "encrypted_old_pin": "9C74D3321D4A5E36",
                "encrypted_new_pin": "7B47D3321D4A5F63",
                "encryption_method": "SYMMETRIC"
            }
        }
    }
}

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

Node TypeTypeLengthDescription
NISrvResponseresponse_card_pin_changeheadermsg_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* requiredstring50Default RES_CARD_PIN_CHANGE
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
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”
instance_idstring10instance_id
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_change": {
            "header": {
                "msg_id": "236001",
                "msg_type": "TRANSACTION",
                "msg_function": "RES_CARD_PIN_CHANGE",
                "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