Skip to main content

7. Transaction APIs

7.1 Transaction APIs

7.1.1 API for Customer Validation from Payer to NPI

This API is used to validate customer, first data is validated at NPI and forward to NPCI’s iUPI for payee validation. This API acts as the non-financial API of xBorder transaction.

MethodURLAuthorizationHeader Params
POSTvalidate-customerBearer [access_token]Message-Signature

Request

{
"participantCode": "NICA001",
"participantService": "VAL_CUST",
"requestUniqueId": "NICA001569856362636363636363636363636",
"amount": 100000.0,
"purpose": "P1301",
"remarks": " fund transfer ",
"currency": "NPR|INR",
"payerDetail": {
"name": "Sudan Shrestha",
"type": "PERSON",
"accountType": "VPA|ACCOUNT",
"accountDetail": {
"vpa": "9849428177@cips",
"accountNumber": "1234567896325",
"bankCode": "2501"
},
"identificationType": "CTZN|PASSPORT|DRIVING_LICENCE",
"identificationNumber": "1236630",
"address": {
"country": "Nepal",
"city": "Kathmandu",
"geoCode": "22 22 22 22",
"location": "Kamaladi"
},
"deviceInformation": {
"mobile": "9849428178",
"geoCode": "22 23 22 23",
"location": "",
"ip": "192.168.2.3",
"os": "Android",
"teleCom": "NTC"
}
},
"payeeDetail": {
"name": "Piyush Yadav",
"type": "PERSON|MTO",
"accountType": "VPA|ACCOUNT",
"accountDetail": {
"vpa": "piyush@icici",
"accountNumber": "",
"bankCode": ""
},
"payeeRelationShip": "Brother",
"mobileNumber": "+91-1236547899",
"email": "piyush97@gmail.com"
}
}

Success Response

{
"responseCode": "000",
"responseMessage": "Success",
"responseData": {
"orgRequestUniqueId": "NICA001569856362636363636363636363636",
"validationTraceId": "Txn Id from nchl to used to validate txn "
"amount": 100000.0,
"chargeAmount": 100.0,
"conversionRate": 1.60
"purpose": "utility payment",
"remarks": " fund transfer ",
"currency": "NPR|INR",
"payerDetail": {
"name": "Sudan Shrestha",
"type": "PERSON",
"accountType": "VPA|ACCOUNT",
"accountDetail": {
"vpa": "9849428177@cips",
"accountNumber": "1234567896325",
"bankCode": "2501"
},
"identificationType": "CTZN|PASSPORT|DRIVING_LICENCE",
"identificationNumber": "1236630",
"address": {
"country": "Nepal",
"city": "Kathmandu",
"geoCode": "22 22 22 22",
"location": "Kamaladi"
}
},
"payeeDetail": {
"name": "Piyush Yadav",
"type": "PERSON|MTO",
"accountType": "VPA|ACCOUNT",
"accountDetail": {
"vpa": "piyush@icici",
"accountNumber": "4564564******",
"bankCode": "******************"
},
"payeeRelationShip": "Brother",
"mobileNumber": "+91-1236547899",
"email": "piyush97@gmail.com"
}
},
"responseErrors": null
}

7.1.1 API for Payment Processing from Payer to NPI

Once customer verification is done, payer can initiate payment request. This is the financial part of xBorder payment, where actual transaction happens. Payer BFI has to pass validation id generated in customer validation API as original transaction Id during payment API.

MethodURLAuthorizationHeader Params
POSTpaymentBearer [access_token]Message-Signature

Request

{
"clientCode": "NICA001",
"clientService": "REQ_PAY",
"orgRequestUniqueId": "NICA001569856362636363636363636363636",
"validationTraceId": "id from nchl side",
"amount": 1000.0
}

Success Response

{
"responseCode": "000",
"responseMessage": "Success",
"responseData": {
"orgRequestUniqueId": "NICA001569856362636363636363636363636",
"validationTraceId": "Txn Id from nchl to used to validate txn ",
"amount": 100000.0,
"chargeAmount": 100.0,
"conversionRate": 1.60,
"purpose": "utility payment",
"remarks": " fund transfer ",
"currency": "NPR|INR",
"debitStatus": "000",
"creditStatus": "000",
"customerValidatedDate": "2023-07-07 12:10:1111",
"transactionRequestDate": "2023-07-07 12:12:1111",
"transactionDate": "2023-07-07 12:13:1111",
"payerDetail": {
"name": "Sudhan Shrestha",
"type": "PERSON",
"accountDetail": {
"vpa": "9849428177@cips",
"accountNumber": "1234567896325",
"bankCode": "2501"
}
},
"payeeDetail": {
"name": "Piyush Yadav",
"type": "PERSON|MTO",
"accountType": "VPA|ACCOUNT",
"accountDetail": {
"vpa": "piyush@icici",
"accountNumber": "4564564******",
"bankCode": "******************"
},
"payeeRelationShip": "Brother",
"mobileNumber": "+91-1236547899",
"email": "piyush97@gmail.com"
}
},
"responseErrors": null
}

7.1.1 API for Transaction Reconciliation from Payer to NPI

This API is used to fetch transaction status which could be very useful for reconciliation purpose.

MethodURLAuthorizationHeader Params
POSTtransaction-detailBearer [access_token]Message-Signature

Request

{
"clientCode": "NICA001",
"clientService": "REQ_PAY",
"orgRequestUniqueId": "NICA001569856362636363636363636363636",
"validationTraceId": "id from nchl side",
"amount": 1000.0
}

Success Response

{
"responseCode": "000",
"responseMessage": "Success",
"responseData": {
"orgRequestUniqueId": "NICA001569856362636363636363636363636",
"validationTraceId": "Txn Id from nchl to used to validate txn ",
"amount": 100000.0,
"chargeAmount": 100.0,
"conversionRate": 1.60,
"purpose": "utility payment",
"remarks": " fund transfer ",
"currency": "NPR|INR",
"debitStatus": "000",
"creditStatus": "000",
"transactionRequestDate": "2023-07-07 12:12:1111",
"transactionDate": "2023-07-07 12:13:1111",
"payerDetail": {
"name": "Sudan Shrestha",
"type": "PERSON",
"accountDetail": {
"vpa": "9849428177@cips",
"accountNumber": "1234567896325",
"bankCode": "2501"
}
},
"payeeDetail": {
"name": "Piyush Yadav",
"type": "PERSON|MTO",
"accountType": "VPA|ACCOUNT",
"accountDetail": {
"vpa": "piyush@icici",
"accountNumber": "4564564******",
"bankCode": "******************"
},
"payeeRelationShip": "Brother",
"mobileNumber": "+91-1236547899",
"email": "piyush97@gmail.com"
}
},
"responseErrors": null
}