API – Logging a Payment
To process a payment (actually move money) check out API - Processing a Payment.
You can log a payment through the UI or through the API. This article explains how to do so using the API.
Like mentioned above, this article covers Log Only payments—payments that are logged in LoanPro but with no funds transferred from the borrower. For example, if a borrower pays in cash, with a check, or with a card that is processed externally from LoanPro's Loan Management System (LMS). This article doesn't cover payments that are split or duplicated across linked loans. Lastly, this this article assumes you already have an existing loan. If not, you can learn how to do so by reading Creating a Loan with the API.
You can also try this request yourself on our ReadMe page—an interactive API documentation page which lists each of our requests.
To log a payment on a loan, you will need to send a PUT request to the URL of the desired loan. For example, to log a payment on the loan with the id 515, the URL would look as follows.
Below is an example of a payment request body.
"info": "05/26/2017 Credit/Debit Card",
- selectedProcessor – The ID of selected processor (should be set to zero when logging a payment because no funds are being transferred)
- paymentMethodId – The ID of the payment method to use for the payment
- Determined by tenant settings (Settings > Loan > Payments > Methods)
- early – Early payment setting
- amount – The amount of the payment
- date – The date the payment will be applied on (format YYYY-MM-DD)
- info – Human-readable information describing the payment
- paymentTypeId – The ID of the Payment Type (waterfall application of the payment)
- Determined by tenant settings (Settings > Loan > Payment > Types)
- active – Should be a 1
- resetPastDue – Whether the payment should reset the amount past due (0 = no, 1 = yes)
- payoffPayment – Whether it is a payoff payment (True or False)
- _saveProfile - Set this to “1” if specifying a new payment process you want to save. Zero results in a do not save.
- extra – How extra is applied. (Must match the Loan Setup Between Periods/Transactions value). See Payment Collections for detailed information and available options.
- cardFeeType – The type of the card fee to apply. See Payment Collections for detailed information.
- cardFeeAmount – The flat amount of the card fee
- cardFeePercent – The percentage of the card fee
- __logOnly – Set to true to only log the payment
- payoffFlag – Flag for payoff payments. (0 = no, 1 = yes)
Other Available Fields
There are many other fields available, most of which are automatically set by the system. This section will cover them. Fields that are automatically set do not need to be sent by an application using the API, rather, they are evaluated on the server and sent back to give more information about a payment.
- id – The ID of the payment (automatically set)
- displayId – The display ID of the payment (how it will be identified in the system; automatically set)
- priorcutoff – Whether it is prior to the tenant cutoff date (automatically set)
- beforeAmountPastDue – The amount past due before the payment (automatically set)
- beforeDaysPastDue – The days past due before the payment (automatically set)
- beforePayoff – The payoff before the payment (automatically set)
- beforePrincipal – The principal balance before the payment (automatically set)
- comments – Can be set to describe the changes made to the payment
- echeckAuthType – The e-check authorization type for e-check payments. See Payment Collections for detailed information.
- status – The status of the payment (default: “None”)
- sortDate – The date (as an int) to sort it by (automatically set)
- chargeOffRecovery – Whether this is a charge-off recovery payment (0 or 1); set to 1 to make a charge-off recovery payment
- CustomFieldValues – Any custom field values for the payment. See API – Custom Fields for detailed information.
- order – A tie-breaker for the ordering (automatically set)
- _notEditable – Whether it should be editable (default is “false”)