Working With Routing & Account Number

General

When processing payments using NACHA files, and sometimes when using integrated processors, it is useful to be able to easily find the routing and account number for a customer. Because of privacy requirements, routing and account numbers are not as readily available as other data. This article will cover how to find your customers' routing and account numbers.

LoanPro API

The only place routing and account number can be found in LoanPro is at the payment level. Routing and account numbers are captured when payments are processed using a bank account as the payment method.

NOTE: If you are using the routing and account number to scrub some payments before processing occurs, this source for pulling the routing and account number will not work for you. You will need to get the routing and account numbers from PCI Wallet in order to have them before payments are processed.

In order to get the routing and account numbers, you can pull payments  through the /odata.svc/Payments endpoint.

The example below shows the response from using GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Payments but with the related entity data removed :

{
"d": {
"results": [
{
"__metadata": {
"uri": "http://loanpro.simnang.com/api/public/api/1/odata.svc/Payments(id=638)",
"type": "Entity.Payment"
},
"id": 638,
"displayId": 5957,
"paymentInfoId": 8,
"paymentTypeId": 1,
"paymentMethodId": 4,
"paymentAccountId": 5,
"entityType": "Entity.Loan",
"entityId": 316,
"modId": null,
"cashDrawerId": null,
"cashDrawerTxId": null,
"txSnapshotId": null,
"amount": "400",
"extra": "payment.extra.tx.principal",
"lastExtra": null,
"early": 0,
"payoffFlag": 0,
"payoffApplyDiffAs": null,
"payoffOptions": null,
"customApplication": null,
"info": "AutoPay: Sample Autopay",
"date": "/Date(1507420800)/",
"chargeFeeType": "loan.cardfee.types.0",
"chargeFeeAmount": "0.00",
"chargeFeePercentage": "0.00",
"echeckAuthType": "payment.echeckauth.WEB",
"parentId": null,
"childId": null,
"status": "payment.status.success",
"reverseReason": null,
"reverseDate": null,
"comments": null,
"loanStatusId": 3,
"loanSubStatusId": 16,
"sourceCompanyId": null,
"beforePrincipalBalance": "23612.65",
"beforePayoff": "24312.06",
"beforeNextDueDate": "/Date(1506816000)/",
"beforeNextDueAmount": "1302.30",
"beforeAmountPastDue": "2383.95",
"beforeDaysPastDue": 56,
"afterPrincipalBalance": "23612.65",
"afterPayoff": "23912.06",
"afterNextDueDate": "/Date(1506816000)/",
"afterNextDueAmount": "1302.30",
"afterAmountPastDue": "2383.95",
"afterDaysPastDue": 56,
"systemComments": null,
"chargeOffRecovery": 0,
"resetPastDue": null,
"apdAdjustmentId": null,
"dpdAdjustmentId": null,
"paymentMethodOption": "12341354235-123124125",
"paymentMethodName": "Testing2",
"isSplit": null,
"splitId": null,
"nachaReturnCode": null,
"active": 1,
"created": "/Date(1506437558)/",
"reportExtendedData": null,
"createdBy": null
}
],
"summary": {
"start": "441",
"pageSize": "1",
"total": 1
}
}
}

The highlighted line shows the routing number and account number. You can also pull payments for a specific loan using the following call:

GET https://loanpro.simnang.com/api/public/api/1/odata.svc/Loans({ID})

The {ID} portion of the URL should be replaced with the ID of the loan for which you want to pull payments.

The example below demonstrates how to use the API to pull payments:

LoanPro Database

You can also pull routing and account number from the LoanPro database, if you have a dedicated RDS. You can pull this information from the payment_entity table, from the payment_method_options field. Remember that in order to get this data, a payment must exist, and the payment must have been made using the bank account in question.

PCI Wallet

You can get routing and account numbers from PCI Wallet. This must be done either one account at a time in the user interface, or through the API. To get account information through the API, use the following call:

GET https://pciwallet.simnang.com/api/checking-account/all

The results of this call will look like this:

[
{
"address": "123 OAK LANE",
"account_type": "checking",
"city": "SCHENECTADY",
"bank_name": "WELLS FARGO BANK",
"state": "NY",
"zipcode": "12345",
"eft_branch_number": "",
"accountholder_name": "Andy Goodson",
"routing_number": "124002971",
"account_number": "582804511",
"eft_institution_number": "",
"country": "usa"
}
]


The example below demonstrates how to do this:


How did we do?


Powered by HelpDocs (opens in a new tab)