Card Services

Overview

Our remittance solution provides the facility to initiate cross-border remittance from any sender’s card/account/wallet (via internet/mobile banking) to Recipient bank accounts/digital wallets.  
This solution works for P2P(person-to-person)/A2A(Account-to-account) cross-border payments.

Version

Create Funds Transaction

Status:

Production

Version:

V2

Category:

Remittance Services

Overview

This service is used to create the transaction for pushing/crediting the funds to the recipient’s card. This API provides functionality to push funds to the recipient’s account using VisaDirect Original Credit Transaction (OCT) or MasterCard Send Payment Transaction.

https://api-sandbox.network.global

Create Funds Transaction

Status:

Production

Version:

V2

Category:

Remittance Services
/Remittance/Transaction/V2/CreatePushFundsTransaction
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_create_push_funds_transactionheadermsg_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* requiredstring50Static Value - REQ_GET_EXCHANGE_RATE
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
tracking_id* requiredstring30Tracking_id 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”
bodytransaction_reference* requiredstring40Transaction Identifier - client provided
recipient_account* requiredstring19recipient PAN
payout_amount* requiredstring12payout amount
payout_currency* requiredstring3payout amount currency
origination_country* requiredstring3country in which payout is initiated
source_of_funds_code* requiredstring2If the transaction is a money transfer, the field is required and must contain a valid sourceOfFundsCode code that matches the funding instrument.
merchant_type* requiredstring4Merchant Category Code
payment_type* requiredstring3Type of payout transaction initiated - A2A, P2P
sender_account_number* requiredstring40Sender account number
sender_first_name* requiredstring20Sender's first name
sender_last_name* requiredstring20Sender's last name
sender_address_line1* requiredstring35Sender's address line1
sender_address_city* requiredstring25Sender's address city
sender_address_postalcode* requiredstring10Sender's address postal code
sender_address_country* requiredstring3Sender's address country
recipient_first_name* requiredstring20Recipient's first name
recipient_last_name* requiredstring20Recipient's last name
originator_id_code* requiredstring15unique identifier for card acceptor - Originator/service provider
originator_name* requiredstring25For P2P payments, must contain sender name
originator_terminal_id* requiredstring8identifier for the terminal at a card acceptor location.
originator_address* requiredstring30address of the originator
originator_city* requiredstring10city of the originator
originator_state* requiredstring50state or province of the originator
originator_zipcode* requiredstring14zip/postal code of the originator
originator_country* requiredstring50country of the originator
purpose_of_payment* requiredstring12Purpose of payment is required in certain markets to clearly identify the purpose of the payment
local_transaction_datetime* requiredstring20local date and time when transaction is submitted
retrieval_refernece_number* requiredstring12value used to tie together service calls related to a single financial transaction
systems_trace_audit_number* requiredstring6unique value should be used for each API method

{
    "NISrvRequest": {
        "request_create_push_funds_transaction": {
            "header": {
                "msg_id": "{{$timestamp}}",
                "msg_type": "{{msg_type_E}}",
                "msg_function": "REQ_CREATE_FUNDS_TRANSACTION",
                "src_application": "MOA",
                "target_application": "VISA",
                "timestamp": "{{timestamp1}}",
                "tracking_id": "{{$randomInt}}",
                "bank_id": "REM"
            },
            "body": {
                "transaction_reference": "1234556",
                "recipient_account": "4060320000000127",
                "payout_amount": "150.00",
                "payout_currency": "USD",
                "origination_country": "840",
                "local_transaction_datetime": "2024-09-09T09:20:00",
                "retrieval_refernece_number": "412770452025",
                "systems_trace_audit_number": "451018",
                "source_of_funds_code": "05",
                "merchant_type": "6012",
                "payment_type": "A2A",
                "sender_account_number": "4060320000000126",
                "sender_first_name": "Sujit",
                "sender_last_name": "Kosta",
                "sender_address_line1": "901 Metro Center Blvd",
                "sender_address_city": "Foster City",
                "sender_address_postalcode": "12345",
                "sender_address_country": "124",
                "recipient_first_name": "Parvinder",
                "recipient_last_name": "Singh",
                "purpose_of_payment": "abc",
                "originator_id_code": "CA-IDCode-77765",
                "originator_name": "Visa Inc. USA-Foster City",
                "originator_terminal_id": "TID-9999",
                "originator_address": "xyz",
                "originator_city": "San Mateo",
                "originator_state": "CA",
                "originator_zipcode": "94404",
                "originator_country": "USA",
                "acquiring_bin": "408999"
            }
        }
    }
}

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

Node TypeTypeLengthDescription
NISrvResponseresponse_create_push_funds_transactionheadermsg_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* requiredstring50Static Value - RES_GET_EXCHANGE_RATE
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_id* requiredstring30Tracking ID 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.
bodytransaction_referencestring40Transaction Identifier - client provided
payout_referencestring40Transaction Identifier - scheme generated in response
status_of_transactionstring10status of the transaction request - Approved, Declined
response_codestring1source for the response; typically, either the recipient issuer or a Visa system.
transmission_datetimestring20This field contains the date and time the request is submitted to VisaNet.
approval_codestring6authorization code from the issuer
custom_fieldskeystring100
valuestring100

{
    "NISrvResponse": {
        "response_create_push_funds_transaction": {
            "header": {
                "msg_id": "236001",
                "msg_type": "ENQUIRY",
                "msg_function": "RES_GET_EXCHANGE_RATE",
                "src_application": "BNK",
                "target_application": "DLOCAL",
                "timestamp": "2024-03-06T11:50:02.366+04:00",
                "tracking_id": "528",
                "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": {
                "transaction_reference": "",
                "payout_reference": "",
                "status_of_transaction": "",
                "response_code": "",
                "transmission_datetime": "",
                "approval_code": "",
                "custom_fields": [
                    {
                        "key": "",
                        "value": ""
                    }
                ]
            }
        }
    }
}

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.