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.

Version

P2P Transfer

Status:

Production

Version:

V2

Category:

Transactions

Overview

The P2P Transfer API facilitates the movement of funds from a source (either an account or a card) to a target (either an account or a card). This operation involves debiting the specified "source identifier" and crediting the designated "target identifier" with the requested amount, all within the same financial institution (FI).

The transfer scenarios covered include:

  1. From a Card identifier to another Card identifier
  2. From a Card identifier to an Account identifier
  3. From an Account identifier to a Card identifier
  4. From an Account identifier to another Account identifier

This API is particularly useful for transferring funds within a corporate product hierarchy, enabling transfers between various levels such as from a company to a department. It also facilitates transfers between two distinct private accounts or cards.

How It Works

The P2P Transfer API functions by providing the source and target IDs in the transfer request, along with the specified amount. This initiates the transfer of funds from the source ID to the target ID.

Overview

The P2P Transfer API facilitates the movement of funds from a source (either an account or a card) to a target (either an account or a card). This operation involves debiting the specified "source identifier" and crediting the designated "target identifier" with the requested amount, all within the same financial institution (FI).

The transfer scenarios covered include:

  1. From a Card identifier to another Card identifier
  2. From a Card identifier to an Account identifier
  3. From an Account identifier to a Card identifier
  4. From an Account identifier to another Account identifier

This API is particularly useful for transferring funds within a corporate product hierarchy, enabling transfers between various levels such as from a company to a department. It also facilitates transfers between two distinct private accounts or cards.

How It Works

The P2P Transfer API functions by providing the source and target IDs in the transfer request, along with the specified amount. This initiates the transfer of funds from the source ID to the target ID.

https://api-sandbox.network.global

P2P Transfer

Status:

Production

Version:

V2

Category:

Transactions
/AccountServices/Transaction/V2/P2PTransfer
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_P2P_transferheadermsg_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 “TRANSACTION”
msg_function* requiredstring50Static Value - REQ_P2P_TRANSFER
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 - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
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”
bodysource_identifier_id* requiredstring32source identifier
source_identifier_type* requiredstring20CONTRACT_NUMBER or EXID
target_identifier_id* requiredstring32target identifier
target_identifier_type* requiredstring20CONTRACT_NUMBER or EXID
transactiontransaction_code* requiredstring32Transaction code For Payment- PAYCC For Reversal- PAYACC-REV For Debit- DEBITCC For Debit Reversal- DEBITCC-REV
amount* requiredstring20Amount
currency* requiredstring3Currency
descriptionstring255Transaction description
billing_amountstring20Billing Amount
billing_currencystring3Billing Currency
auth_codestring6Auth Code
countrystring3Country
citystring200City
counter_party_numberstring20Source Number
transaction_ref_number* requiredstring12Transaction reference number
transaction_datestring19Date of transactions
external_ref_numberstring12Reference number
transfer_networkstring40Network
rules_datakeystring32Custom Tag
valuestring128Tag value

{
    "NISrvRequest": {
        "request_p_2_p_transfer": {
            "header": {
                "msg_id": "6546126",
                "msg_type": "TRANSACTION",
                "msg_function": "REQ_P2P_TRANSFER",
                "src_application": "BNK",
                "target_application": "w4ksa04",
                "timestamp": "2023-03-09T12:03:01.609+04:00",
                "tracking_id": "Rq_p2ptfr7",
                "bank_id": "PRMBK"
            },
            "body": {
                "source_identifier_type": "EXID",
                "source_identifier_id": "0003666048844670682",
                "target_identifier_type": "EXID",
                "target_identifier_id": "0003666048844670840",
                "transaction": {
                    "transaction_code": "PT-NQ-OP-P2P",
                    "transaction_date": "2021-01-15 16:26:36.112",
                    "amount": "1000.00",
                    "currency": "SAR",
                    "billing_amount": "1000.00",
                    "billing_currency": "USD",
                    "description": "account Payment",
                    "transaction_ref_number": "7811841231",
                    "auth_code": "123456",
                    "country": "UAE",
                    "city": "Dubai",
                    "external_ref_number": "",
                    "transfer_network": "fi\/hierarchy\/network_code",
                    "rules_data": [
                        {
                            "key": "src_app_code",
                            "value": "X"
                        },
                        {
                            "key": "ext_user_id",
                            "value": "Y"
                        }
                    ]
                }
            }
        }
    }
}

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

Node TypeTypeLengthDescription
NISrvResponseresponse_P2P_transferheadermsg_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 “TRANSACTION”
msg_function* requiredstring50Default REP_P2P_TRANSFER
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 response - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00
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.
bodytranCode* requiredstring3The transaction code. 101 for auth; 102 for advice; 108 for profile maturation
source* requiredstring10Name of source application.
dest* requiredstring20Name of destination application.
extendedHeader* requiredstring10Extended header.
response_record_version* requiredstring1The response_record_version specifies the version of the scoring response layout.
score_count* requiredstring2The number of scores in the response message and has values from 0 to 8.
decision_count* requiredstring2The number of decisions in the response message and has values from 0 to 10.
scoring_server_id* requiredstring4unique identifier for the Scoring Server host.
warningstring50warning
decisionsdecision_type* requiredstring32Stores the decision type of a type/code pair created by Falcon Rule Expert functions that generate type/code pairs
decision_code* requiredstring32Stores the decision code of a type/code
scoresscore* requiredstring4the score returned from the model
error_code* requiredstring4This is the error code generated by the model during its processing of the transaction to generate a score. A value of 0 or blank indicates no error.
segment_ID* requiredstring8This field contains the segment ID of the score in the score_1 field
score_name* requiredstring22Identifier for the score.
reason_1* requiredstring4Reason the score was generated
reason_2* requiredstring4Reason the score was generated
reason_3* requiredstring4Reason the score was generated

{
    "NISrvResponse": {
        "response_P2P_transfer": {
            "header": {
                "msg_id": "236001",
                "msg_type": "TRANSACTION",
                "msg_function": "REP_P2P_TRANSFER",
                "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": {
                "tranCode": "999",
                "source": "",
                "dest": "",
                "extendedHeader": "",
                "response_record_version": "",
                "score_count": "",
                "decision_count": "",
                "scoring_server_id": "",
                "warning": "",
                "decisions": {
                    "decision_type": "",
                    "decision_code": ""
                },
                "scores": {
                    "score": "9999",
                    "error_code": "",
                    "segment_ID": "",
                    "score_name": "",
                    "reason_1": "",
                    "reason_2": "",
                    "reason_3": ""
                }
            }
        }
    }
}

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.