OnboardingManual - UPI - API v1
OnboardingManual - UPI - API v1
Onboarding manual
V1.8
Bank will provide ICICI bank’s public key of SSL certificate. Merchant will need to make REST call to APIs f rom its
Application Server, the IP of which needs to be whitelisted.
TRANSACTION API
API format
The specific name of different APIs is mentioned in the below sections. The customer parameters to be passed
are, again, specific to each API. Below is the format for sending details. First the parameters and their values will
be entered in JSON Object. Then the whole JSON object will be encrypted and then encoded. Finally the whole
request will be passed through URL.
[GatewayURL(Base64Encode(RSA_Encrypt(JSON_Object{Field_Elements(field1,field2,…)})))]
The JSON Request Object is mentioned below where complete payload is encrypted using the public key
provided by ICICI Bank:
Encryption needs to be done using RSA 4,096 bits using the key provided by ICICI Bank.
For collectPay API Request Call, the following parameters and their values need to be passed in encrypted
message:
collectByDate If the collect from payer is delayed collect, fill this Date and Time
field with the date and time by which the payer
needs to authorize the payment. This date cannot (DD/MM/YYYY
HH:MM
be a past date
AM/PM)
Note: For UAT purpose, please send values in optional parameters also. Values can be static values.
{
"payerVa" : "vishal2@icici",
"amount" : "5.00",
"note" : "collect-pay-request",
"collectByDate" :"30/12/2016 06:30 PM",
"merchantId" : "106088",
"subMerchantId" : "12234",
"terminalId" : "5411",
"merchantTranId" : "ABCD290806",
"billNumber" : "sdf234234"
}
Field Remarks
Sample:
{
"response": "92",
"merchantId": "106088",
"subMerchantId": "12234",
92 Transaction Initiated
9 Transaction rejected
10 Insufficient data
5000 Invalid Request
5001 Invalid Merchant ID
For transactionStatus request Call, the following parameters and their values need to be passed in encrypted
message:
Sample:
Transaction Status
{
"merchantId": "106092",
"merchantTranId": "6CnKxKtuhVYNDe",
"subMerchantId": "1000000000",
"terminalId": "5411"
}
The API will send below parameters in the immediate response to the collect pay request. Response will be
encrypted with merchant’s public key shared with ICICI bank. Merchant needs to decrypt the response with their
own the private key of the key pair shared with ICICI Bank.
Field Remarks
Response Response code indicating the status of the transaction status check
Success Indicates the status of the transaction status check request. If “true”,
the status check transaction is successful
Status Indicates the status of the original transaction that is being queried
{
"response": "0",
"merchantId": "106088",
"subMerchantId": "1000000000",
"terminalId": "5411",
"success": "true",
"message": "Transaction Successful",
"merchantTranId": "0030011111101",
"OriginalBankRRN": "628610627304",
"status": "PENDING"
}
Current response
TxnInitDate Date and Time on which the transaction Date and Time
was initiated
(YYYYMMDDHHMMSS)
TxnCompletionDate Date and Time on which the transaction Date and Time
was completed
Sample
"merchantId" : "106161",
"subMerchantId" : "12234",
"terminalId" : "5411",
"BankRRN" : "615519221396",
"merchantTranId" : "612411454593",
"PayerName" : "hhjjj",
"PayerMobile" : "8879770059",
"PayerVA" : "testing1@imobile",
"PayerAmount" : "12",
"TxnStatus" : "SUCCESS",
"TxnInitDate" : "20160715142352",
"TxnCompletionDate" : "20160715142352"
SUCCESS,