API – Updating Payments
General
This article explains how to update a payment via the API. This article requires some knowledge of creating payments, so we suggest reading the following articles beforehand:
How To
There is one field to pay special attention to—the "comments" field. This field is always required to update a payment, and it allows you to keep track of why a payment was changed.
To change a payment, send a PUT request to the URL of the loan. We will use a loan with the ID of 667 in our example below:
PUT https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans(667)
Below is a sample request for updating a payment with the id 1213. Pay special attention to the "comments" field, since it is required to update a payment.
{
"Payments": {
"results": [
{
"id": 1213,
"displayId": 3089,
"payoffFlag": 0,
"info": "11/17/2015",
"date": "2015-11-17",
"priorcutoff": false,
"amount": "60.19",
"paymentMethodId": 4,
"paymentTypeId": 1,
"extra": "payment.extra.tx.principalonly",
"active": 1,
"beforeAmountPastDue": "0.00",
"beforeDaysPastDue": 0,
"beforeNextDueAmount": "67.19",
"beforeNextDueDate": "2015-11-20",
"beforePayoff": "1351.73",
"beforePrincipalBalance": "1333.00",
"comments": "This is a comment",
"early": 1,
"echeckAuthType": "payment.echeckauth.TEL",
"status": "None",
"sortDate": 201511171,
"systemComments": [],
"chargeOffRecovery": 0,
"CustomFieldValues": {
"results": []
},
"order": 3,
"_notEditable": false,
"payoffPayment": false,
"quickPay": "",
"__logOnly": true,
"__id": 1213,
"__update": true
}
]
}
}
Here is a breakdown of the parameters used in the body of this request:
Parameter | Description |
id | The system ID of the payment. This is the value within the parentheses. |
displayId | The display ID of the payment. This is the value outside the parentheses. |
payoffFlag | This sets a flag for payoff payments. 1 - yes, 0 - no |
info | This is info recorded about the payment. Normally, it includes the apply date and the payment method. |
date | This is the date that the payment should apply, and it is formatted as YYYY-MM-DD. |
priorcutoff | This determines if the payment is prior to the tenant cutoff date. |
amount | This is the amount of the payment. |
paymentMethodId | This is the payment method used for the payment. These IDs can be found under Settings > Loan > Payments > Methods. |
extra | This determines how extra is applied. This parameter uses a collection entity, and you can see the available options on our API – Payments Collections article. |
active | This determines if the payment will apply to the loan. Setting it to "not active" means that there is a record, but it has no bearing on the loan. 1 - active, 0 - not active |
beforeAmountPastDue | This sets the amount past due before the payment being made. |
beforeDaysPastDue | This sets the amount of days past due before the payment being made. |
beforeNextDueAmount | This sets the amount of the next due payment. |
beforeNextDueDate | This sets the date of the next due date, formatted as YYYY-MM-DD. |
beforePayoff | This is the payoff remaining before the payment being made. |
beforePrincipalBalance | This is the remaining principal balance before the payment being made. |
comments | This parameter is used to describe any changes to the payment. It is required for this request to work. |
early | This determines if the payment should apply to the next payment as "early". 1 - yes, 0 - no |
echeckAuthType | This determines the type of e-check authorization that the payment uses. This values uses a collection entity, and you can see the available options on our API – Payments Collections article. |
status | This updates the status of the loan. |
sortDate | This determines how to sort the loan, if applicable. It needs to be entered as an (int). |
systemComments | This field is used for comments added by the system. |
chargeOffRecovery | This determines whether this payment is a charge-off recovery. 1 - yes, 0 - no |
CustomFieldValues | This can be used to display any custom field values. |
order | This is used as a tiebreaker if a tie exists in ordering. |
_notEditable | This determines if the loan update should be editable. |
payoffPayment | This determines if the payment is a pay-off payment. 1 - yes, 0 - no |
quickPay | This sets the QuickPay amount, if applicable. QuickPay is a feature that auto-fills the remaining balance on a pay-off payment. |
__logOnly | This determines if the update only logs the payment. |
__id | This is the system ID of the payment, like listed earlier. |
__update | This determines if the payment is updated. |