This request creates an AutoPay on a loan.
General
AutoPays allow users to schedule automatically processed payments. Here's what you need to know about this request:
- This request will schedule an AutoPay (or multiple AutoPays) on an account. There is a wealth of configuration settings available, and we recommend taking some time to look at each parameter in the payload.
- The ability to create an AutoPay on a loan is dependent on AutoPays being enabled in the
LoanSettings
. TheautopayEnabled
field within theLoanSettings
object must be set to1
. - This request requires three different dates:
applyDate
,processDate
, andprocessDateTime
. Each of these is required, so make sure to pay close attention to our descriptions of them in the payload editor below. - A scheduled AutoPay may fail when it's processed. This may happen if the customer's payment account is invalid or if the selected processor for the payment is incorrect.
- You can create an AutoPay for a loan's associated child loans as well. To do so, add the
TransactionChilds
object.
For an example of how AutoPays work within the UI, take a look at our Scheduling a New AutoPay article.
Database
For information regarding AutoPay database tables, take a look at the following articles:
- Database – AutoPay Main Table (loan_autopay_entity)
- Database – Defaults Autopay (defaults_autopay)
- Database – Holding Account Autopay Info (holding_account_autopay_entity)
{
"Autopays": {
"results": [
{
"name": "Default monthly autopay",
"type": "autopay.type.recurring",
"paymentExtraTowards": "payment.extra.tx.principal",
"amountType": "autopay.amountType.static",
"amount": 250.00,
"paymentTypeId": 1,
"chargeServiceFee": "0",
"processCurrent": 1,
"retryDays": 0,
"processTime": 22,
"postPaymentUpdate": 1,
"applyDate": "2016-09-18",
"processDate": "2016-09-17",
"methodType": "autopay.methodType.echeck",
"recurringFrequency": "autopay.recurringFrequency.monthly",
"recurringDateOption": "autopay.recurringDate.processDate",
"daysInPeriod": "",
"schedulingType": "autopay.schedulingType.calendarDay",
"scheduleNextIfFail": 0,
"processDateCondition": "calendarDays",
"payoffAdjustment": 1,
"chargeOffRecovery": 0,
"paymentMethodAuthType": "payment.echeckauth.PPD",
"paymentMethodAccountType": "bankacct.type.checking",
"processZeroOrNegativeBalance": 0,
"lastDayOfMonthEnabled": 0,
"primaryPaymentMethodId": 123,
"recurringPeriods": 36,
"baProcessor": "1",
"processDateTime": "2016-09-17 22:00:00"
}
]
}
}
{
"Autopays": {
"results": [
{
"name": "Default monthly autopay",
"type": "autopay.type.recurring",
"paymentExtraTowards": "payment.extra.tx.principal",
"amountType": "autopay.amountType.static",
"amount": 250.00,
"paymentTypeId": 1,
"chargeServiceFee": "0",
"processCurrent": 1,
"retryDays": 0,
"processTime": 22,
"postPaymentUpdate": 1,
"applyDate": "2016-09-18",
"processDate": "2016-09-17",
"methodType": "autopay.methodType.echeck",
"recurringFrequency": "autopay.recurringFrequency.monthly",
"recurringDateOption": "autopay.recurringDate.processDate",
"daysInPeriod": "",
"schedulingType": "autopay.schedulingType.calendarDay",
"scheduleNextIfFail": 0,
"processDateCondition": "calendarDays",
"payoffAdjustment": 1,
"chargeOffRecovery": 0,
"paymentMethodAuthType": "payment.echeckauth.PPD",
"paymentMethodAccountType": "bankacct.type.checking",
"processZeroOrNegativeBalance": 0,
"lastDayOfMonthEnabled": 0,
"primaryPaymentMethodId": 123,
"recurringPeriods": 36,
"baProcessor": "1",
"processDateTime": "2016-09-17 22:00:00",
"TransactionChilds": {
"results": [
{
"loanChildId": 36, // This is the ID of the relationship itself.
"childEntityId": "", // This field can be left blank.
"entityId": "", // This field can be left blank.
"entityType": "Entity.Autopay",
"amount": "250"
},
{
"loanChildId": 37,
"childEntityId": "",
"entityId": "",
"entityType": "Entity.Autopay",
"amount": "250"
},
{
"loanChildId": 38,
"childEntityId": "",
"entityId": "",
"entityType": "Entity.Autopay",
"amount": "250"
}
]
}
}
]
}
}
Try It Instructions
Our requests often provide sample payload information so that you can receive a 200 response from simply hitting the Try It button. This request is a bit different: You will need to input a few values yourself before sending this request.
To receive a 200 response, you will need to update the
applyDate
,processDate
, andprocessDateTime
fields yourself. The other fields in this payload are already filled, but feel free experiment a bit and change them.If you would like to try this request with your own tenant account, make sure to change the headers to match your own authentication information.