This object represents refunds. Various situations require full or partial refunds of a loan. Depending on the refund amount and whether the borrower has made payments, a refund may also trigger a reimbursement to the borrower.
The refund endpoint will execute a full or partial refund according to the refundAmount specified.
A full refund is equal to the amountFinancedAtOrigination. An atFaultParty must also be specified,
in order to trigger the corresponding accounting entries related to billing for the refund.
Loan Refund
{- "refundDate": "2019-08-24",
- "refundAmount": 0,
- "atFaultParty": "loanOwner",
- "caseId": "string",
- "sendNotice": true,
- "refundDetails": {
- "description": "Refund",
- "pointOfSaleType": "online",
- "categoryId": "string",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}
}{- "status": 0,
- "message": "string",
- "data": {
- "refundDate": "2019-08-24",
- "refundAmount": 0,
- "originalAmount": 0,
- "isFullRefund": true,
- "atFaultParty": "loanOwner",
- "caseId": "string",
- "refundDetails": {
- "description": "Refund",
- "pointOfSaleType": "online",
- "categoryId": "string",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}, - "timestamps": {
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "canceledAt": "2019-08-24T14:15:22Z"
}
}
}Returns a list of all prior refunds for the loan, as well as the remaining eligible refund amount.
Loan Refund
{- "status": 0,
- "message": "string",
- "data": {
- "eligibleRefundAmount": 0,
- "refunds": [
- {
- "refundDate": "2019-08-24",
- "refundAmount": 0,
- "originalAmount": 0,
- "isFullRefund": true,
- "atFaultParty": "loanOwner",
- "caseId": "string",
- "refundDetails": {
- "description": "Refund",
- "pointOfSaleType": "online",
- "categoryId": "string",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}, - "timestamps": {
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "canceledAt": "2019-08-24T14:15:22Z"
}
}
]
}
}Cancel a refund.
Loan Refund
{- "cancellationReason": "wrongAmountOrDetails",
- "cancellationReasonDetails": "string",
- "caseId": "string"
}{- "status": 0,
- "message": "string",
- "data": {
- "refundDate": "2019-08-24",
- "refundAmount": 0,
- "originalAmount": 0,
- "isFullRefund": true,
- "atFaultParty": "loanOwner",
- "caseId": "string",
- "refundDetails": {
- "description": "Refund",
- "pointOfSaleType": "online",
- "categoryId": "string",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}, - "timestamps": {
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "canceledAt": "2019-08-24T14:15:22Z"
}
}
}The refund endpoint will execute a full or partial refund according to the refundAmount specified.
The total of all refunds cannot exceed the amountFinanced (or principalAmount) passed at origination.
A refund is applied in the following way:
refundDetails.refundNonDuePrincipalAmount.serviceCreditType=refund.
This transaction will be applied on the loan using the "payment waterfall".
This amount will be stored as refundDetails.refundTransactionAmount.serviceCreditType=refund, if there is any remaining unapplied
refund amount, it will be recorded as credit to the borrower (also called reimbursementAmount or amount owed to borrower.)refundDate.Please consider the following before creating refunds:
refundDate equals the activation date.refundAmount equals the amount financed.isRefundOriginationFees, isRefundLateFees and isRefundOtherFees set to true.isRefundMDR and isRefundDownPayment - set these attributes depending on your policy.refundDate equals the activation date.refundAmount equals a partial refund amount.isRefundOriginationFees, isRefundLateFees and isRefundOtherFees - set these values depending on your policy.isRefundMDR - set this attribute depending on your policy.isRefundDownPayment - set to false. To remind: this attribute can be true only for a full refund.refundDate equals an effective date of the refund (or keep empty to indicate "today").refundAmount equals a partial refund amount.isRefundOriginationFees, isRefundLateFees and isRefundOtherFees set to false.isRefundMDR - set to false. To remind: this attribute can be true only if refundDate equals the activation date.isRefundDownPayment - set to false. To remind: this attribute can be true only for a full refund.Loan Refund
{- "externalId": "string",
- "refundDate": "2019-08-24",
- "refundTimeOfDay": {
- "hour": 12,
- "minute": 1,
- "second": 0
}, - "refundAmount": 0,
- "atFaultParty": "loanOwner",
- "caseId": "string",
- "isRefundOriginationFees": false,
- "isRefundLateFees": false,
- "isRefundOtherFees": false,
- "feesExceptionList": [ ],
- "isRefundDownPayment": false,
- "isRefundMDR": false,
- "sendNotice": true,
- "refundDetails": {
- "refundTransactionId": "string",
- "refundNonDuePrincipalAmount": 0,
- "refundTransactionAmount": 0,
- "description": "Refund",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}
}{- "status": 0,
- "message": "string",
- "data": {
- "externalId": "string",
- "id": "string",
- "refundDate": "2019-08-24",
- "refundAmount": 0,
- "originalAmount": 0,
- "isFullRefund": true,
- "atFaultParty": "loanOwner",
- "status": "settled",
- "caseId": "string",
- "cancellationCaseId": "string",
- "cancellationReason": "wrongAmountOrDetails",
- "cancellationReasonDetails": "string",
- "createdBy": {
- "id": "string",
- "name": "string",
- "userType": "agent",
- "descriptor": "Agent bob@acme.com",
- "employee": {
- "id": "string"
}
}, - "canceledBy": {
- "id": "string",
- "name": "string",
- "userType": "agent",
- "descriptor": "Agent bob@acme.com",
- "employee": {
- "id": "string"
}
}, - "isRefundOriginationFees": false,
- "isRefundLateFees": false,
- "isRefundOtherFees": false,
- "feesExceptionList": [ ],
- "isRefundDownPayment": false,
- "isRefundMDR": false,
- "refundDetails": {
- "refundTransactionId": null,
- "refundNonDuePrincipalAmount": null,
- "refundTransactionAmount": null,
- "description": "Refund",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}, - "timestamps": {
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "canceledAt": "2019-08-24T14:15:22Z"
}
}
}