6. Transaction Reporting APIs
For reporting and reconciliation of the transactions which are processed through NPI, the following APIs will be provided. These APIs will also require the access token to access the resources and the token generation process will be same as for the transaction processing.
6.1 Based on transactions date:
These APIs provide the list of transaction details based on the provided date range:
Method | End-Points | Authorization | Content-Type |
---|---|---|---|
POST | (BASE_URL)+/api/getcipstxnlistbydate | Bearer (access_token) | application/json |
POST | (BASE_URL)+/api/getnchlipstxnlistbydate | Bearer (access_token) | application/json |
Sample request:
{
"txnDateFrom":"2023-06-01",
"txnDateTo":"2023-06-30"
}
6.2 Based on batch Id:
These APIs provide the transaction details based on the batch id
Method | End-Points | Authorization | Content-Type |
---|---|---|---|
POST | (BASE_URL)+/api/getcipstxnlistbybatchid | Bearer (access_token) | application/json |
POST | (BASE_URL)+/api/getnchlipstxnlistbybatchid | Bearer (access_token) | application/json |
Sample request:
{
"batchId":"123456"
}
6.3 Based on Instruction Id:
These APIs provide the transaction details based on the instruction id and batch id.
Method | End-Points | Authorization | Content-Type |
---|---|---|---|
POST | (BASE_URL)+/api/getcipstxnbyinstructionid (BASE_URL)+/api/getnchlipstxnlistbyinstructionid | Bearer (access_token) | application/json |
Sample request:
{
"batchId":"remitnonreal7",
"instructionId":"remitnonreal1-7"
}
6.4 Sample Transaction Report Response:
Below are the sample transaction responses generated using instruction id for both CIPS and NCHLIPS.
6.4.1 Response Parameters for Real-Time transactions:
Batch Details:
ID | Field Name | Data Type | Length | Description | Presence |
---|---|---|---|---|---|
1 | id | Integer | - | Unique Identification for the batch generated in NCHL side. | Y |
2 | batchId | String | 20 | Unique Identification for the batch sent by the NPI member used for reconciliation. | Y |
3 | recDate | Date | - | Date (YYYY-MM-DD) | |
4 | isoTxnId | Integer | - | CBS ISO reference id. | Y |
5 | batchAmount | BigDecimal | 14,2 | The total sum up amount of all the transactions in the batch | Y |
6 | batchCount | Integer | - | Total transactions in the batch. | Y |
7 | batchChargeAmount | BigDecimal | 12,2 | Total charge to be paid for the transaction. | Y |
8 | batchCrncy | String | 3 | Currency of the transaction. E.g. NPR | Y |
9 | categoryPurpose | String | 4 | Purpose of the transaction. E.g. RTPS, ECPG | Y |
10 | debtorAgent | String | 4 | Debtor agent code in NCHL systems. | Y |
11 | debtorBranch | String | 4 | Debtor branch where the transactions initiating party account is held. | Y |
12 | debtorName | String | 140 | Transaction initiation party account name. | Y |
13 | debtorAccount | String | 20 | Transaction initiation party account number. | Y |
14 | debtorIdType | String | 4 | Transaction initiation party private id type for ex. Citizenship, pan no, passport etc. | O |
15 | debtorIdValue | String | 20 | Transactions initiation party identification number for ex. Passport number, pan no. etc. | O |
16 | debtorAddress | String | 490 | Transactions initiation party postal address | O |
17 | debtorPhone | String | 20 | Transactions initiation party debtor phone number (country code)(area code)(Phone Number) | O |
18 | debtorMobile | String | 20 | Transactions initiation party mobile number (country code)(area code)(Phone Number) | O |
19 | debtorEmail | String | 50 | Debtor’s email address. | O |
20 | chhanelId | String | 10 | Specification of the channel used to perform the transaction; Technical member (TECHM), Web Fund Transfer (WEBFT) etc. | Y |
21 | debitStatus | String | 10 | Response code received from debtor agent’s CBS | Y |
22 | debitReasonCode | String | 10 | Response code returned from debtor bank. | Y |
23 | ipsBatchId | String | 13 | -NA | Y |
24 | fileName | String | 100 | -NA | O |
25 | rcreTime | Date | - | Date with timestamp. | Y |
26 | rcreUserId | String | 50 | connectIPS userId | Y |
27 | sessionSrlNo | Integer | - | CIPS session Id. | Y |
28 | settlementDate | Date | - | Transaction settlement date. | O |
29 | debitReasonDesc | String | 200 | Debit description. (If debit status is 000, debitReasonDesc is SUCCESS, if timeout 999, then TIMEOUT, PLEASE CONFIRM WITH BANK BEFORE RE-POSTING and so on.) | Y |
30 | txnResponse | String | 335 | Transaction reference number returned by debtor bank. | Y |
Transaction Details:
ID | Field Name | Data Type | Length | Description | Presence |
---|---|---|---|---|---|
1 | id | Integer | - | Unique Identification for the transaction generated in NCHL side | Y |
2 | batchId | String | 20 | Unique Identification for the batch generated in NCHL side | Y |
3 | isoTxnId | Integer | - | CBS ISO reference id. | O |
4 | recDate | Date | - | Date (YYYY-MM-DD) | Y |
5 | instructionId | String | 30 | Unique identification for the transaction sent by NPI member for the reconciliation purpose. | Y |
6 | endToEndId | String | 30 | Field used for end to end reconciliation. | Y |
7 | amount | BigDecimal | 13,2 | The amount to be transferred through this transaction. | Y |
8 | chargeAmount | BigDecimal | 12,2 | Total charge to be paid for the transaction. | Y |
9 | chargeLiability | String | 2 | Charge bearing party. | O |
10 | purpose | String | 4 | Purpose of the transaction. E.g. RTPS, ECPG | O |
11 | merchantId | Integer | - | Merchant ID is a unique identifier to identify merchant in the system. | O |
12 | appId | String | 15 | Unique identification, which will be used to identify the account details of the merchant’s application. A merchant can have multiple applications based on different banks account used for various shopping sites. Application Id will be provided by NCHL after registration. | |
13 | appTxnId | String | 20 | Same as transaction id for fund transfer. | O |
14 | creditorAgent | String | 4 | Creditor bank code in NCHL systems. | Y |
15 | creditorBranch | String | 4 | Creditor branch where the receiving party account is held. | Y |
16 | creditorName | String | 140 | Receiving party Account name. | Y |
17 | creditorAccount | String | 20 | Receiving party account number. | Y |
18 | creditorIdType | String | 4 | Receiving party private identification type for ex. Citizenship, pan no, passport etc. | O |
19 | creditorIdValue | String | 20 | Receiving party identification value. | O |
20 | creditorAddress | String | 490 | Receiving party postal address. | O |
21 | creditorPhone | String | 20 | Receiving party phone number in the format (country code)(area code)(Phone Number) | O |
22 | creditorMobile | String | 20 | Receiving party mobile number in the format (country code)(area code)(Phone Number) | O |
23 | creditorEmail | String | 50 | Receiving party valid email address. | O |
24 | addenda1 | Integer | 15 | Information that is used to provide extra information about the transaction. The value can be set as mandatory as per configuration of category purpose. | O |
25 | addenda2 | Date | - | O | |
26 | addenda3 | String | 35 | O | |
27 | addenda4 | String | 35 | O | |
28 | creditStatus | String | 10 | Response code received from creditor agent’s CBS | Y |
29 | reasonCode | String | 10 | Creditor status reason code | O |
30 | reversalStatus | String | 20 | Transaction reversal status in case debit success and credit failed. | C |
31 | refId | String | 100 | Payment Description | O |
32 | remarks | String | 50 | Payment Description | O |
33 | particulars | String | 100 | Same as instruction id | O |
34 | freeCode1 | String | 20 | Extra information that can be append to the transactions to be more specific about the purpose of transactions for reconciliation purpose. These fields will significant only up to the initiating party bank and will not be routed to the beneficiary bank. (Contains Remittance information) | O |
35 | freeCode2 | String | 20 | O | |
36 | freeText1 | String | 100 | ||
37 | freeText2 | String | 100 | Remitter Name | Y |
38 | freeText3 | String | 250 | Country of Origin | Y |
39 | freeText4 | String | 250 | Remitter Address | O |
40 | freeText5 | String | 250 | Purpose of Transaction. | Y |
41 | freeText6 | String | 250 | Remit Company Name | Y |
42 | freeText7 | String | 250 | ||
43 | beneficiaryId | String | 50 | - | O |
44 | beneficiaryName | String | 100 | Transaction receiving party | O |
45 | ipsBatchId | Integer | - | NA | O |
46 | rcreUserId | String | 50 | Transaction creation userId | O |
47 | rcreTime | Date | - | Date with timestamp. | Y |
48 | reasonDesc | String | 200 | Credit description. (If credit status is 000, reasonDesc is SUCCESS, if timeout 999, then TIMEOUT, PLEASE CONFIRM WITH BANK BEFORE RE-POSTING and so on.) | |
49 | txnResponse | String | 335 | Transaction reference received from the creditor bank. | O |
50 | isoTxnId | Integer | - | CBS ISO reference id. | O |
51 | orignBranchId | String | 4 | Original branch id of the credit account. | Y |
6.4.2 Response Parameters for Non-Real time transactions
Batch Details:
ID | Field Name | Data Type | Length | Description | Presence |
---|---|---|---|---|---|
1 | id | Integer | - | Unique Identification for the batch generated in NCHL side. | Y |
2 | batchId | String | 20 | Unique Identification for batch sent by NPI member for reconciliation. | Y |
3 | recDate | Date | - | Date (YYYY-MM-DD) | |
4 | isoTxnId | Integer | - | CBS ISO reference id. | O |
5 | batchAmount | BigDecimal | 14,2 | The total sums up amount of all the transactions in the batch. | Y |
6 | batchCount | Integer | - | Total transactions in the batch. | Y |
7 | batchChargeAmount | BigDecimal | 12,2 | Total charge to be paid for the transaction. | Y |
8 | batchCrncy | String | 3 | Currency of the transaction. E.g. NPR. | Y |
9 | categoryPurpose | String | 4 | Purpose of the transaction as available in NCHL-IPS system. | Y |
10 | debtorAgent | String | 4 | Debtor agent code in NCHL systems. | Y |
11 | debtorBranch | String | 4 | Debtor branch where the transactions initiating party account is held. | Y |
12 | debtorName | String | 140 | Transaction initiation party account name. | Y |
13 | debtorAccount | String | 20 | Transaction initiation party account number. | Y |
19 | debtorIdType | String | 4 | Transaction initiation party private id type for ex. Citizenship, pan no, passport etc. | O |
20 | debtorIdValue | String | 20 | Transactions initiation party identification number for ex. Passport number, pan no. etc. | O |
21 | debtorAddress | String | 490 | Transactions initiation party postal address. | O |
22 | debtorPhone | String | 20 | Transactions initiation party debtor phone number +<country code>-<area code><Phone Number> | O |
23 | debtorMobile | String | 20 | Transactions initiation party mobile number +<country code>-<area code>-<Phone Number> | O |
24 | debtorEmail | String | 50 | Debtor’s email address. | O |
25 | chhanelId | String | 10 | Specification of the channel used to perform the transaction; Technical member (TECHM), Web Fund Transfer (WEBFT) etc. | O |
26 | debitStatus | String | 10 | Response code for debit leg of the transaction. | Y |
27 | debitReasonCode | String | 10 | Response code returned by the debtor agent for debit leg of the transaction. | O |
28 | ipsBatchId | String | 13 | Unique ACH batch id generated by NCHL for ACH routing. | Y |
29 | fileName | String | 100 | ACH routing file name. | O |
30 | rcreTime | Date | - | Date with timestamp. | O |
31 | rcreUserId | String | 50 | Transaction creation id. | O |
32 | sessionSeq | String | 20 | ACH session sequence number. | Y |
33 | settlementDate | Date | - | ACH transaction settlement date. | Y |
34 | debitReasonDesc | String | 200 | Debit description. (If debit status is 000, debitReasonDesc is SUCCESS, if timeout 999, then TIMEOUT, PLEASE CONFIRM WITH BANK BEFORE REPOSTING and so on.) | Y |
35 | txnResponse | String | 335 | Reference number returned by debtor bank. | O |
Transaction Details:
ID | Field Name | Data Type | Length | Description | Presence |
---|---|---|---|---|---|
1 | id | Integer | - | Unique Identification for the transaction generated in NCHL side. | Y |
2 | batchId | String | 20 | Unique Identification for the batch generated by NCHL for reconciliation. | Y |
3 | isoTxnId | Integer | - | CBS ISO reference id. | O |
4 | recDate | Date | - | Date (YYYY-MM-DD) | Y |
5 | instructionId | String | 30 | Unique identification for the transaction sent by NPI member for reconciliation purpose later. | Y |
6 | endToEndId | String | 30 | Value sent by NPI member for end to end recompilation. | Y |
7 | amount | BigDecimal | 13,2 | The amount to be transferred through this transaction. | Y |
8 | chargeAmount | BigDecimal | 12,2 | Total charge to be paid for the transaction. | Y |
9 | chargeLiability | String | 2 | Charge bearing party. | Y |
10 | purpose | String | 4 | Purpose of the transaction. | O |
11 | merchantId | Integer | - | Merchant ID is and unique identifier to identify merchant in the system. Merchant ID will be provided by NCHL upon registering merchant for connectIPS Core Module on banks’ request. | O |
12 | appId | String | 15 | Unique identification, which will be used to identify the account details of the merchant’s application. A merchant can have multiple applications based on different banks account used for various shopping sites. Application Id will be provided by NCHL after registration. | O |
13 | appTxnId | String | 20 | -NA | O |
14 | creditorAgent | String | 4 | Creditor agent code in NCHL systems. | Y |
15 | creditorBranch | String | 4 | Creditor agent branch where the receiving party account is held. | Y |
16 | creditorName | String | 140 | Receiving party Account name. | Y |
17 | creditorAccount | String | 20 | Receiving party account number. | Y |
18 | creditorIdType | String | 4 | Receiving party private identification type for ex. Citizenship, pan no, passport etc. | O |
19 | creditorIdValue | String | 20 | Receiving party identification value. | O |
20 | creditorAddress | String | 490 | Receiving party postal address. | O |
21 | creditorPhone | String | 20 | Receiving party phone number in the format +<country code>-<area code><Phone Number> | O |
22 | creditorMobile | String | 20 | Receiving party mobile number in the format +<country code>-<area code><Phone Number> | O |
23 | creditorEmail | String | 50 | Receiving party valid email address. | O |
24 | addenda1 | Integer | 15 | Information that is used to provide the extra information about the transaction. The value can be set as mandatory as per configuration of category purpose. | O |
25 | addenda2 | Date | - | O | |
26 | addenda3 | String | 35 | Purpose of Txn. | Y |
27 | addenda4 | String | 35 | Country of Origin. | Y |
28 | creditStatus | String | 10 | ACH settlement code (ENTR, GEN, SENT, ACTC, ACSP, ACSC/ RJCT). | Y |
29 | reasonCode | String | 10 | Reason code in case credit leg is rejected. | O |
30 | reversalStatus | String | 20 | Reversal status in case debit success and credit leg failed. | C |
31 | refId | String | 100 | Payment description. | O |
32 | remarks | String | 50 | Payment description. | O |
33 | particulars | String | 100 | Instruction id. | O |
34 | freeCode1 | String | 20 | Extra information that can be appended to the transactions to be more specific about the purpose of transactions for reconciliation purpose. These fields will significant only up to the initiating party bank and will not be routed to the beneficiary bank. | O |
35 | freeCode2 | String | 20 | O | |
36 | freeText1 | String | 100 | O | |
37 | freeText2 | String | 100 | Remitter Name. | Y |
38 | freeText3 | String | 100 | Remit Company Name. | Y |
39 | freeText4 | String | 100 | Remitter Name/Debtor Account Name. | Y |
40 | freeText5 | String | 100 | Address (Optional). | Y |
41 | beneficiaryId | String | 50 | -NA. | O |
42 | beneficiaryName | String | 100 | Transaction receiving party. | O |
43 | ipsBatchId | Integer | - | Unique batch id generated by NCHL for ACH routing. | Y |
44 | rcreUserId | String | 50 | Transaction creation id | O |
45 | rcreTime | Date | - | Date with timestamp. | O |
46 | ipsTxnId | String | 16 | Unique transaction id generated by NCHL for ACH routing. | Y |
47 | reasonDesc | String | 200 | Credit description. (If credit status is ACSC, reasonDesc is Empty, if RJCT, reasonDesc is “Account does not exist” or some other reason.) | Y |
48 | txnResponse | String | 335 | Transaction reference returned by creditor bank. | O |