3. Lodge Bill Pay
Post URL: /api/billpayment/lodgebillpay.do (Real Time)
/api/ips/billpayment/lodgebillpay.do (Non-Real Time)
After app journey is completed, next process is to call the lodge bill API to fetch the bill details and validate details at service provider side. The sample specification of lodge bill details is given below. Where batch details will be same for all service payments and for transaction details will be according to the user input which has to be mapped according to response of app journey field mapping object details.
Request Parameters
Batch Details:
# | Field Name | Data Type | Length | Presence | Description |
---|---|---|---|---|---|
1 | batchId | String | 20 | Y | Unique Identification for the batch for later reconciliation. |
2 | batchAmount | BigDecimal | 14,2 | Y | The total sum of amount of all the transactions in the batch. |
4 | batchCount | Integer | - | Y | Total transactions in the batch. |
5 | batchCrncy | String | 3 | Y | Currency of the transaction. E.g. NPR |
6 | categoryPurpose | String | 4 | Y | Purpose of the transaction. E.g. RTPS, ECPG, GREV |
7 | debtorAgent | String | 4 | Y | Financial institution where the transactions initiating party account is held. |
8 | debtorBranch | String | 4 | Y | Financial institution branch where the transactions initiating party account is held. |
9 | debtorName | String | 140 | Y | Transaction initiation party account name. |
10 | debtorAccount | String | 20 | Y | Transaction initiation party account number. |
11 | debtorIdType | String | 4 | O | Transaction initiation party private id type for ex. Citizenship, pan no, passport etc. |
12 | debtorIdValue | String | 20 | O | Transactions initiation party identification number for ex. Passport number, pan no. etc. |
13 | debtorAddress | String | 490 | O | Transactions initiation party postal address. |
14 | debtorPhone | String | 20 | O | Transactions initiation party debtor phone number. |
15 | debtorMobile | String | 20 | O | Transactions initiation party mobile number. |
16 | debtorEmail | String | 50 | O | Transactions initiation party email address. |
Transaction Details:
# | Field Name | Data Type | Length | Presence | Description |
---|---|---|---|---|---|
1 | instructionId | String | 30 | Y | Unique identification for the transaction for reconciliation purpose later. This is to be presented for all service payments. |
2 | endToEndId | String | 30 | Y | Identification reference for both sender and receiver. This is to be presented for all service payments. |
3 | amount | BigDecimal | 13,2 | Y | The amount to be transferred through this transaction. In case of amount to be taken from service provider, pass 0 amount lodge bill. In confirm bill, pass the actual amount received during lodge bill response. |
4 | appId | String | 15 | Y | App id for traffic fine payment system. This is service specific app code. To be presented for all service payments. |
5 | refId | String | 35 | Y | Chit number. To be taken as user input |
6 | freeCode1 | String | 20 | Y | Fiscal year of fine payment. To be taken as user input |
Token Generation Process:
- Token string generation The token string is the combination of batch and transactions information and following will be the format.
Batch String=<BatchId>+","+<DebtorAgent>+","+<DebtorBranch>+","+<DebtorAccount>+","+<BatchAmount>+","+<Batch Currency (e.g. NPR)>
For each transaction
Transaction String=Transaction String+","+<Instruction Id>+","<App Id>+","+<Ref Id>
Token String=Batch String + Transaction String+","+<user Id>
Sign the token string using the digital certificate private key(pfx file/keystore).The digital signature algorithm will be the SHA256withRSA.
Convert the signed token above in step 2 to base64 encoding.
Pass this signature string to the “token” field of the request message.
Example:
Sample Request
{
"cipsBatchDetail": {
"batchId": "T13-12818780108",
"batchAmount": 0,
"batchCount": 1,
"batchCrncy": "NPR",
"categoryPurpose": "GREV",
"debtorAgent": "2601",
"debtorBranch": "1",
"debtorName": "PUSPA RAJ UPADHAYAY",
"debtorAccount": "1234567890",
"debtorIdType": "0001",
"debtorIdValue": "123456",
"debtorAddress": "Kathmandu Nepal",
"debtorPhone": "+977-01-4255306",
"debtorMobile": "+977-9812345678",
"debtorEmail": "test@test.com"
},
"cipsTransactionDetail": {
"instructionId": "T13-12818780108-1",
"endToEndId": "Traffic Fine Payment",
"amount": 0,
"appId": "GON-7-TVRS-1",
"refId": "88241",
"freeCode1": "7778"
},
"token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
}
Note: Fields to consider during response from Traffic Fine payment service
S.N | Parameter Name | Data Type | Description |
---|---|---|---|
1 | refId | String | Chit number |
2 | Particulars | String | Violator Full Name |
3 | Remarks | String | Violation Description |
4 | appTxnId | String | EBP Number |
5 | addenda3 | String | Vehicle category |
6 | addenda4 | String | Voucher number |
Success Response
{
"responseResult":{
"responseCode":"000",
"responseDescription":"SUCCESS",
"fieldErrors":[
]
},
"cipsBatchDetail":{
"id":null,
"batchId":"T13-12818780108",
"recDate":null,
"channelId":null,
"ipsBatchId":null,
"fileName":null,
"batchAmount":500,
"batchCount":1,
"batchChargeAmount":null,
"batchCrncy":"NPR",
"categoryPurpose":"GREV",
"debtorAgent":"2601",
"debtorBranch":"1",
"debtorName":"PUSPA RAJ UPADHAYAY",
"debtorAccount":"123456789",
"debtorIdType":"0001",
"debtorIdValue":"123456",
"debtorAddress":"Kathmandu Nepal",
"debtorPhone":"+977-01-4255306",
"debtorMobile":"+977-9812563256",
"debtorEmail":"test@test.com",
"rcreUserId":null,
"rcreTime":null,
"debitStatus":null,
"debitReasonCode":null,
"isoTxnId":null,
"sessionSrlNo":null,
"settlementDate":null,
"corporateId":null,
"initBranchId":null,
"debitReasonDesc":null,
"txnResponse":null
},
"cipsTransactionDetail":{
"id":null,
"recDate":null,
"instructionId":"T13-12818780108-1",
"endToEndId":"Traffic Fine Payment",
"amount":500,
"chargeAmount":null,
"chargeLiability":null,
"purpose":null,
"creditorAgent":null,
"creditorBranch":null,
"creditorName":null,
"creditorAccount":null,
"creditorIdType":null,
"creditorIdValue":null,
"creditorAddress":null,
"creditorPhone":null,
"creditorMobile":null,
"creditorEmail":null,
"addenda1":null,
"addenda2":null,
"addenda3":"AAA",
"addenda4":"2077-4138841",
"freeCode1":"7778",
"freeCode2":"11002",
"freeText1":"d09fa0a2765843419098b251982ec2d6",
"freeText2":"BA42785529F202ECE0530A64C75DBC19",
"rcreUserId":null,
"rcreTime":null,
"ipsBatchId":null,
"creditStatus":null,
"reasonCode":null,
"refId":"7778158798",
"remarks":"Drink and Drive",
"particulars":"Ram Thapa",
"merchantId":null,
"appId":"MER-984-APP-1",
"appTxnId":null,
"reversalStatus":null,
"isoTxnId":null,
"batchId":null,
"orignBranchId":null,
"reasonDesc":null,
"txnResponse":null
},
"token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
}
Failed Response
{
"responseResult":{
"responseCode":"E007",
"responseDescription":"TECHNICAL VALIDATION FAILED",
"fieldErrors":[
{
"field":"cipsTransactionDetail.refId",
"message":"Already paid for this violation."
}
]
},
"cipsBatchDetail":{
"id":null,
"batchId":"T13-12818780108",
"recDate":null,
"channelId":null,
"ipsBatchId":null,
"fileName":null,
"batchAmount":0,
"batchCount":1,
"batchChargeAmount":null,
"batchCrncy":"NPR",
"categoryPurpose":"GREV",
"debtorAgent":"2601",
"debtorBranch":"1",
"debtorName":"PUSPA RAJ UPADHAYAY",
"debtorAccount":"00111900921246000002",
"debtorIdType":"0001",
"debtorIdValue":"123456",
"debtorAddress":"Kathmandu Nepal",
"debtorPhone":"+977-01-4255306",
"debtorMobile":"+977-9812345678",
"debtorEmail":"test@test.com",
"rcreUserId":null,
"rcreTime":null,
"debitStatus":null,
"debitReasonCode":null,
"isoTxnId":null,
"sessionSrlNo":null,
"settlementDate":null,
"corporateId":null,
"initBranchId":null,
"debitReasonDesc":null,
"txnResponse":null
},
"cipsTransactionDetail":{
"id":null,
"recDate":null,
"instructionId":"T13-12818780108-1",
"endToEndId":"Traffic Fine Payment",
"amount":0,
"chargeAmount":null,
"chargeLiability":null,
"purpose":null,
"creditorAgent":null,
"creditorBranch":null,
"creditorName":null,
"creditorAccount":null,
"creditorIdType":null,
"creditorIdValue":null,
"creditorAddress":null,
"creditorPhone":null,
"creditorMobile":null,
"creditorEmail":null,
"addenda1":null,
"addenda2":null,
"addenda3":null,
"addenda4":null,
"freeCode1":"7778",
"freeCode2":null,
"freeText1":null,
"freeText2":null,
"rcreUserId":null,
"rcreTime":null,
"ipsBatchId":null,
"creditStatus":null,
"reasonCode":null,
"refId":"187145",
"remarks":null,
"particulars":null,
"merchantId":null,
"appId":"MER-984-APP-1",
"appTxnId":null,
"reversalStatus":null,
"isoTxnId":null,
"batchId":null,
"orignBranchId":null,
"reasonDesc":null,
"txnResponse":null
},
"token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
}
Note: For all failed response, kindly check the response code and description.