post https://api.juspay.in/v3/loan/grantLoanResponse
This method is called by the Lender when the Grant Loan processing is completed. This informs the borrower about the status of the loan in the lender system. Upon successful creation of a loan in the system, the lender returns all the details of the loan.
Response Parameters for the Grant Loan Response API: (click to view)
Parameter | Type | Description |
---|---|---|
ack:wwwwwwww {error, traceId, timestamp} | Object | JSON object for acknowlegement |
Parameters for the
ack
object: Parameter | Type | Description |
---|---|---|
error | String | Errors in the current request received. If no errors are found, error = 0. |
traceId | String | Identification for tracing |
timestamp | Time- stamp | YYYY-MM-DDThh:mm:ssZ+/-hh:mm (eg 1997-07-16T19:20:30+05:30) Z +/- hh:mm = time zone designator (Z) followed by time zone difference from GMT in hours and minutes. THIS IS OPTIONAL. If not provided, it is assumed to be IST (+5.30) |
The request for this API contains objects for Terms, Documents, Disbursement (with arrays for Plans and Account Details), and Repayment (with objects for Plan and Method). (click to open tables)
Parameter | Type | Description | |
---|---|---|---|
metadata:wwwnnww {param1, param2,...} | * | Object Strings | Metadata specific to each API response |
Parameters for the metadata
object: click to open)
Field | Type | Description | |
---|---|---|---|
version | String | OCEN Version | |
timestamp | Time- stamp | YYYY-MM-DDThh:mm:ssZ+/-hh:mm (eg 1997-07-16T19:20:30+05:30) Z +/- hh:mm = time zone designator (Z) followed by time zone difference from GMT in hours and minutes. THIS IS OPTIONAL. If not provided, it is assumed to be IST (+5.30) | |
traceId | String | Identification for tracing | |
orgId | String | Origin ID |
response: {error} | Object | Status of response. Object contains only one string parameter for "error". If no errors are found, error = "0". For example, if a mandatory attribute is missing, error code should capture that. | |
requestId | * | String | Unique reference ID for the Grant Loan Request (UUID used to tie request and response and for idempotency) |
loanId | * | String | Unique identifier for the loan that borrower accepted and agreed to be set up by lender. Will be generated if loanStatus = GENERATED. |
terms:wwwwwwwniw {...,{...},{...},[...],..} | Object | Detailed terms of the loan |
Parameters for the terms
object: {click to open)
requestedAmount | * | String | Amount - 2 digits precision |
description | String | Description of the loan terms | |
currency | Object | ISO string of the currency. Use INR for Indian Rupee. Among other accepted values are EUR, USD, GBP. Default value: INR | |
sanctionedAmount | String | Loan Amount Approved by lender | |
interestType | String | Flag indicating if the interest rate is fixed or floating | |
interestRate | String | Interest Rate for the loan. 2 digits precision | |
interestAmount | String | Interest Amount for the duration specified in tenure | |
totalAmount | String | Total amount for repayment | |
tenure: {duration, unit} | Object Strings | Tenure details:duration String unit String (DAY, MONTH, etc.) | |
legalAgreement: {type, date} | Object Strings | Loan Agreement:type String agreement is shared directly as text or needs to be fetched from a url. data String | |
documents:wwnnw [{...},{...},..] | Array of Objects | Additional documents related to the terms. If no data is there to be sent, an empty array block can be passed. |
Parameters for each object in the documents
array:
(click to open)
format | * | String | Format of document data to be sent |
reference | String | Unique identifier for a document which can be used by other objects for referencing a document. In case where isDataInline is false, reference number can be used to hit an external API to get the data. | |
source | String | Source system from where data is coming. Source can be from AA ecosystem or from USER | |
sourceIdentifiernn | String | If source is in AA ecosystem, sourceIdentifier is the identifier in central registry. In case of User, it will be his unique identifier | |
type | String | Expandable enum. Includes fiTypes in AA ecosystem and any additional type of documents that can be added to the system later | |
isDataInline | Boolean | Indicates whether the data is actually present in the document block. If Yes, data field contains base 64 encoded version of the data. | |
data | String | Data to be sent for document instance (Base64 encoded string) |
charges:wwwwnww {(...},{...},...} | * | Object Objects | Penalties levied for issues with repayments |
Parameters for the charges
object: (click to open)
prepayment:wnw {....,{...}} | * | Object | Prepayment (use Charge Details object parameters below) |
bounce: {....,{...}} | Object | Bounce (use Charge Details object parameters below) | |
latePayment: {....,{...}} | Object | Details of the charges levied when the borrower makes a late payment (use Charge Details object parameters below) | |
processing: {....,{...}} | Object | Processing fees charged by the lender (use Charge Details object parameters below) |
Parameters for the chargeDetails
object: (click to open)
chargeType | * | String | This field indicates whether the penalty is fixed or varies |
description | String | Description of charge calculation | |
data | Object | Details of charge:rate String applicableParameter String data applies amount String applicableParameter . | |
url | String | For any new data that needs to be passed as a link | |
extensibleDatan | String | For any new data that needs to be added |
url | * | String | For any new data that needs to be passed as a link. |
extensibleDatawntw | JSON | For any new data that needs to be added |
disbursement:wnwiw { [{...},..], [{...},..] } | * | Object Arrays | Details on disbursement plans provided by lender. |
Parameters for the disbursement
object:
{click to open)
plans:wwwwnwiww [{...}, {...}, ...] | * | Array of Objects | Disbursement plans provided by lender for the loan |
Parameters for each object in the plans
array:
(click to open)
id | String | Unique id for the disbursement plan in the lender system | |
title | String | Title of the disbursement plan | |
shortDescription | String | Short description for the disbursement plan | |
description | String | Detailed description of the disbursement plan | |
url | String | URL of the payment page provided by the lender to show disbursement plans | |
automatic | Boolean | Flag indicating whether disbursement is automatic or user initiated | |
payNowAllowed | Boolean | Flag indicates if the lender can make an immediate payment with this disbursement plan | |
editPlanAllowed | Boolean | This flag indicates if the configurations of the current disbursement plan can be changed by the borrower | |
changeMethodAllowed | Boolean | This field indicates if the borrower can choose a different disbursement method for the plan | |
scheduleType | String | Type of schedule - can be ONE_TIME, AS_PRESENTED or RECURRING | |
frequency | String | In case of a recurring payment, this field indicates how often the payment is disbursed | |
noOfInstallments | String | Number of installments for the chosen disbursement plan. Will be 1 for ONE_TIME schedule type | |
tenure:wwwwwinww {duration, unit} | Object Strings | Tenure associated with the disbursement plan. This value will be less than or equal to the tenure in loan terms.Tenure details:duration String unit String (DAY, MONTH, etc.) | |
principal | String | Principal - up to 2 digits precision | |
interestAmount | String | Interest component for the duration specified in plan - up to 2 digits precision | |
penalty | String | Penalty component for the duration specified in loan - up to 2 digits precision | |
startDate | String | The first date on which the borrower chooses to make payment/wishes to get the disbursement credited. | |
status | String | Flag indicating if the plan is ACTIVE or INACTIVE | |
totalAmount | String | Total amount of loan |
accountDetails:iww [{...}, {...}, ...] | * | Array of Objects | Details on the accounts where the amount will be disbursed by the lender. |
Parameters for each object in the accountDetails
array:
(click to open)
id | String | Unique id. Mandatory if object is coming from lender | |
description | String | Description of the account | |
status | String | This field captures the status of whether the account has been linked to a loan or not | |
accountDataType | String | This suggests what kind of data is expected for account details in the data object | |
url | String | For any new data that needs to be passed as a link. | |
extensibleDatawwnww | JSON | For any new data that needs to be added | |
data: {param1, param2,...} | Object | This object captures details of the account as suggested by the accountDataType parameter (Parameters are variable). |
repayment:wwnwww { {...,{...} } } | * | Object Object | Details on repayment plan provided by lender. |
Parameters for the repayment
object:
{click to open)
plan:wwwtwwwiww {...,{...} } | * | Object | Details on the repayment plan chosen by borrower for the loan |
Parameters for the plan
object:
(click to open)
id | String | Unique id for the repayment plan in the lender system | |
title | String | Title of the repayment plan | |
shortDescription | String | Short description for the repayment plan | |
description | String | Detailed description of the payment plan | |
paymentUrl | String | URL of the payment page provided by the lender to show repayment details | |
automatic | Boolean | Flag indicating whether payment is automatic or user initiated | |
payNowAllowed | Boolean | Flag indicates if the borrower can make an immediate payment with this repayment plan | |
editPlanAllowed | Boolean | This flag indicates if the configurations of the current repayment plan can be changed by the borrower | |
changeMethodAllowed | Boolean | This field indicates if the borrower can choose a different payment method for the plan | |
scheduleType | String | Type of schedule - can be ONE_TIME, AS_PRESENTED or RECURRING | |
frequency | String | In case of a recurring payment, this field indicates how often the payment is disbursed | |
noOfInstallments | String | Number of installments for the chosen repayment plan. Will be 1 for ONE_TIME schedule type | |
tenure:wwwwwinww {duration, unit} | Object Strings | Tenure associated with the repayment plan. This value will be less than or equal to the tenure in loan terms.Tenure details:duration String unit String (DAY, MONTH, etc.) | |
principal | String | Principal - up tp to 2 digits precision | |
interestAmount | String | Interest component for the duration specified in plan - up to 2 digits precision | |
penalty | String | Penalty component for the duration specified in loan - up to 2 digits precision | |
startDate | String | The first date on which the borrower chooses to make payment/wishes to get the disbursement credited. | |
status | String | Flag indicating if the plan is active or inactive | |
totalAmount | String | Total amount of loan |
method:wwwiwww {...,{...} } | * | Object | Details on the method of repayment. |
Parameters for the method
object:
(click to open)
typewwtwwwwww | * | String | Type of method - Example: "EMANDATE_UPI" |
status | String | This field captures the current status of the repayment method being used - Example: "ACTIVE" | |
data: {..,{..},{..}} | Object | This object captures details of the repayment method. |
Parameters for the data
object: (click to open)
refNumber | * | String | Reference number for the repayment instance. |
amount | String | Amount agreed upon for a repayment instance. | |
amountType | String | Type of amount - Example: "MAX" | |
activeFrom | Date- Time | Date/time (ISO representation) when repayment period starts. | |
expiryDate | Date- Time | Date/time (ISO representation) when repayment period expires. | |
destinationAccount: {...,{...}} | Object | Details of the destination acccount |
Parameters for the destinationAccount
object:
(click to open)
accountDataType | n | String | Type of data used for destination account |
data:wwwwwwwnw {prm1, prm2} | Object Strings | Additional data on dest. acct.:accountType String Example: "CURRENT" maskedAccountNumber String |
sourceAccount:www {...,{...}} | n | Object | Details of the source account |
Parameters for the sourceAccount
object:
(click to open)
accountDataType | n | String | Type of data used for source account |
data:wwwwwwwww {prm1, prm2} | Object Strings | Additional data on source acct.:accountType String Example: "CURRENT" maskedAccountNumber String |
rejectionDetails:wnw [{...},{...},..] | * | Array of Objects | To be filled if the status of the loan is REJECTED. This object will have the details of why the loan was rejected |
Parameters for each object in the rejectionDetails
array:
(click to open)
reason | * | String | Reason why the lender has decided not to make a loan offer to the borrower |
description | String | Detailed description of the reason for rejection | |
url | String | For any new data that needs to be passed as a link | |
extensibleDatawww | JSON | For any new data that needs to be added |
actionRequired:www [{...},{...},..] | * | Array of Objects | To be filled if the status of the loan is ACTION_REQUIRED. This object captures the details of any action that the lender wants the borrower to do. |
Parameters for each object in the actionRequired
array:
(click to open)
actionType | * | String | Type of action expected from the borrower |
description | String | Detailed description of the expected action | |
reference | String | Reference to any documents uploaded as part of the loan request indicating the document where action is required | |
url | String | For any new data that needs to be passed as a link | |
extensibleDatawww | JSON | For any new data that needs to be added |
loanStatuswnwwwww | * | String | If loan is ready to be processed: loanStatus = "GENERATED".After loan is processed by lender: loanStatus = GRANTED / REJECTED / DEFAULTED / COMPLETED / ACTION_REQUIRED |
* = Required