Loan Action : Receipt Creation
POST Receipt Creation
This API facilitates the creation of a receipt for a loan transaction within the SynoFin platform. Users can submit a request for receipt generation, providing various transaction details. After successful creation, the request undergoes validation by a checker, who takes appropriate action (Service Request Actions | SynoFin Docs) to either approve or reject it.
Attribute Priority: Attributes fetched from SynoFin master are prioritized for inclusion in SynoFin masters.
URL: {{base_url}}/loan-modification/v1/service-request/save
Run in Postman: Receipt Creation Request
Request:
Schema
Attribute | Data Type | Description | Mandatory |
---|---|---|---|
loan_id | String | The unique identifier for the loan. | Yes |
request_data | Object | Contains various details related to the loan receipt request. | Yes |
addition_in_excess_money | String | Additional amount added beyond the specified limit. | No |
auto_allocated | String | Indicates whether the amount was auto-allocated. Possible values: "Yes" or "No". | Yes |
bank_account_number | String | The bank account number for the transaction. | No |
bank_recon_ref_identifier | String | The bank reconciliation reference identifier. | No |
bounce_reason_for_nach | String | Reason for NACH bounce, if applicable. | No |
cash_receipt_number | String | The cash receipt number. | No |
date_of_receipt | Date | The value date of the receipt | Yes |
deliverable_charge_code | String | The code for any associated deliverable charge. | No |
fund_transfer_number | String | The fund transfer number associated with the transaction. | No |
ifsc | String | The IFSC code of the bank. | No |
instrument_bank_address | String | The address of the bank. | No |
instrument_bank_name | String | The name of the bank. | No |
instrument_date | Date | The date mentioned on the instrument (cheque or DD). | No |
instrument_number | String | The number of the instrument (cheque or DD). | No |
is_cheque | Boolean | Indicates whether the payment method is a cheque. | No |
is_nach | Boolean | Indicates whether the payment method is NACH. | No |
loan_application_number | String | The loan application number. | No |
payment_bank | String | Lender's bank account in which the money was received. Fetched from bank master | Yes |
payment_mode | String | The mode of payment (e.g., IMPS, NEFT). Fetched from masters | Yes |
receipt_amount | String | The amount received from the customer | Yes |
receipt_purpose | String | The purpose of the receipt (e.g., installment, Any Due). This is fetched from masters. | Yes |
receipts_allocation | String | Details of any allocation of receipts. | No |
receivables | Array | An array containing details of receivables. (Can be passed empty) | No |
received_from | String | Identifier of the entity from which payment is received. | No |
remarks | String | Additional remarks or notes. | No |
sourcing_branch | String | The code of the sourcing branch. | No |
transaction_date | Date | Business date of the system. Can be skipped. | No |
transaction_reference | String | The reference number of the transaction. | No |
upi | String | The UPI ID associated with the transaction. | No |
service_request_id | String | The ID of the service request. | No |
service_request_subtype | String | The subtype of the service request. | Yes |
service_request_type | String | The type of service request. | Yes |
service_type | String | The type of service. | No |
Body
{
"service_request_type": "receipt",
"service_request_subtype": "2",
"service_type": "",
"loan_id": "239",
"request_data": {
"loan_application_number": "",
"date_of_receipt": "2024-08-29",
"receipt_amount": "2000",
"cash_receipt_number": "",
"payment_mode": "neft", //Fetched From SynoFin Master {neft, rtgs, imps, internet_banking, nach, upi etc..}
"transaction_date": "2024-09-01",
"received_from": "LPPLHYDER012610466441",
"receipt_purpose": "any_due", //Fetched From SynoFin Master {any_due, installment, charges etc..}
"payment_gateway_partner": "paytm", //Fetched From SynoFin Master {paytm, razorpay, payu etc..}
"e_nach_type": "", //Fetched From SynoFin Master {emandate_dc, upisi, papernach, nach_esign etc..}
"instrument_date": "2024-09-01",
"instrument_number": "",
"transaction_reference": "",
"collection_agency_code": "",
"ifsc": "",
"payment_bank": "12312", //Fetched From Admin Master(id in Bank Accounts)
"instrument_bank_name": "",
"instrument_bank_address": "",
"bank_account_number": "",
"sourcing_branch": "",
"deliverable_charge_code": "",
"upi": "",
"is_nach": true,
"bounce_reason_for_nach": "", //Fetched From SynoFin Master {invalid_umrn, invalid_mandate, mandate_cancelled etc..}
"fund_transfer_number": "76464E5733322",
"addition_in_excess_money": "0",
"bank_recon_ref_identifier": "",
"auto_allocated": "Yes",
"receipts_allocation": "",
"receivables": //Fetched From Get Data for Loan Actions API using "request_id" = "receipt"
[
{
"charge_id": -2,
"charge_label": "Loan Processing fee",
"total_outstanding_amount": 26,
"type": "charges",
"original_amount": 26,
"charge_definition_id": null,
"excess_money_id": null,
"loan_id": null,
"disbursal_schedule_id": null,
"charge_code": "processing_fee",
"outstanding_amount": 26,
"amount_in_process": 0,
"payment_status": null,
"paid_amount": null,
"total_paid_amount": null,
"total_paid_amount_in_process": null,
"paid_amount_in_process": null,
"allocated_amount": "26",
"reason": null,
"payment_date": null,
"repayment_id": null,
"balance_payable": 0
},
{
"charge_id": -1,
"charge_label": "Total Outstanding Installment Amount",
"total_outstanding_amount": 1401,
"type": null,
"original_amount": null,
"charge_definition_id": null,
"excess_money_id": null,
"loan_id": null,
"disbursal_schedule_id": null,
"charge_code": null,
"outstanding_amount": 1401,
"amount_in_process": 0,
"payment_status": null,
"paid_amount": null,
"total_paid_amount": null,
"total_paid_amount_in_process": null,
"paid_amount_in_process": null,
"allocated_amount": "200",
"reason": null,
"payment_date": null,
"repayment_id": null,
"balance_payable": 1201
}
],
"remarks": ""
},
"service_request_id": ""
}
Response:
Success: 200 OK
Schema
Attribute | Data Type | Description | Mandatory |
---|---|---|---|
response | Boolean | Indicates the success of the request. | Yes |
data | Object | Contains additional details about the request. | Yes |
result | Any | Result of the request. | No |
status | String | Current status of the service request. | Yes |
service_request_id | Integer | Unique identifier for the service request. | Yes |
unique_transaction_number | Any | Unique transaction number, if applicable. | No |
error | Any | Details of any errors, if applicable. | No |
Body
{
"response": true,
"data": {
"result": null,
"status": "initiated",
"service_request_id": 1349,
"unique_transaction_number": null
},
"error": null
}
Internal Server Error: 200
Schema
Error Response Code and Messages
S. No | Code | Message | Description |
1. |
107373
|
Receipt Reference Number should be Unique
|
Appears When receipt number is similar. |
2. |
1015000
|
Invalid LoanApplicationNumber
|
Appears when the loan_id is invalid, null or empty |
3. |
1016001
|
Invalid Receipt Amount
|
Appears When receipt amount is empty or null. |
4. |
1015000
|
Request already initiated for bank identifier <
bank_recon_ref_identifier
|
Appears If the request is already generated with same
bank_recon_ref_identifier and no action is taken against it.
|
5. |
101627
|
Receipt date cannot be before disbursal date. | Appears if the receipt date is after the date of disbursal. |
6. | 101754 | Receipt date can be on or before business date | Appears if the receipt date occurs after the business date. |
Attribute |
Type | Description |
Mandatory | ||||||
response |
Boolean | true | Yes | ||||||
data |
Object | Fail Response Object |
Yes | ||||||
|
Data : Fail Response Attribute
|
Yes | |||||||
error |
Object | Error : Fail Response Attribute
|
Yes |
Body
{
"response": false,
"data": {
"unique_transaction_number": null
},
"error": {
"code": 107373,
"text": "Receipt Reference Number should be Unique"
}
}
Unauthorized: 401
Note: If the API is not authorized with the Token or if the authorization token has expired, this error is going to show up.
Body
{
"code": 401,
"message": "auth fail, you can retry!"
}
No Comments