Loan servicing

Moov is your single vendor for loan disbursement, payment management, automated compliance, and real-time insights.

This guide focuses on the quickest and easiest way to get started with the features of Moov we think you’ll find most useful for the loan servicing industry. Quickly onboard accounts, configure interchange incentives, set up recurring payments, and manage borrowers.

Moov offers a variety of integration options to get started. Use Drops or the Dashboard UIs for a low to no-code solution, or choose the API or one of many SDKs for more complex integrations.

For the purposes of this guide, we’ll provide Dashboard and API examples.

Onboard borrowers

As you move through the onboarding process to create Moov accounts, some data is required while other data is optional. To view our full onboarding guides, visit the Dashboard or main onboarding guides.

Onboarding data Required
Capabilities
Fee plan
Scopes
Return URL X
Terms of service URL X
Prefilled data X

Capabilities determine what each Moov account can do, such as receiving transfers, or sending money to others. For risk and fraud protection purposes, we require detailed information when requesting capabilities. For example, we’ll request more details if an account wants to collect funds than we would for an account receiving funds.

Pricing & fee plans can be assigned to one merchant or reused for many merchants. Merchants must agree to and accept the fee plan before it can go into effect. Moov offers two types of plans:

  • Cost plus: With a cost plus plan, card networks’ interchange fees and Moov’s processing markup are passed along to the merchant. Cost plus plans are beneficial for merchants with a high and varied transaction volume that prefer to have more control over fees. Fees are broken down into a more digestible and transparent format.
  • Flat rate: With a flat rate plan, you can lump all the processing fees together with a flat rate customized for each merchant. Flat plans are beneficial for merchants with a low transaction volume that prefer a predictable solution over lowering cost as much as possible.

Scopes are used to determine what can be done with the account once it’s onboarded. For example, the /accounts.read scope provides access to view all connected user accounts and the /accounts/{accountID}/files.read scope provides access to view or upload files associated with a Moov account.

Read more on required data in our documentation:

Moov will send the terms of service platform agreement as part of the onboarding process through the Dashboard. Everyone with a Moov account must agree to and accept the terms of service before using Moov.

The following clip demonstrates how to create a new onboarding link in the Dashboard:

You’ll need to generate and send a terms of service platform agreement as part of the onboarding process. Everyone with a Moov account must agree to and accept the terms of service before using Moov. If you’re using the API, an SDK, or Moov Drops to onboard, see the terms of service platform agreement guide for more information and instructions.

The following is a sample request to create an onboarding invite with all available data:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
curl --X POST "https://api.moov.io/onboarding-invites" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "returnURL": "https://mycompany.com/account",
    "termsOfServiceURL": "https://mycompany.com/terms-of-service",
    "scopes": [
     "accounts.read"
    ],
    "capabilities": [
      "transfers",
      "wallet"
    ],
    "feePlanCodes": [
      "merchant-direct"
    ],
    "prefill": {
      "mode": "production",
      "accountType": "business",
      "profile": {
        "business": {
          "legalBusinessName": "LBM Lenders LLC",
          "doingBusinessAs": "LBM Lenders",
          "businessType": "llc",
          "address": {
            "addressLine1": "123 Main Street",
            "addressLine2": "Apt 302",
            "city": "Boulder",
            "stateOrProvince": "CO",
            "postalCode": "80301",
            "country": "US"
          },
          "phone": {
            "number": "8185551212",
            "countryCode": "1"
          },
          "email": "amanda@classbooker.dev",
          "website": "www.lbmlenders.com",
          "description": "Financial institution for personal lending",
          "taxID": {
            "ein": {
              "number": "123-45-6789"
            }
          },
          "industryCodes": {
            "naics": "522291",
            "sic": "6141",
            "mcc": "6141"
          },
          "primaryRegulator": "FDIC"
        }
      },
      "metadata": {
        "property1": "string",
        "property2": "string"
      },
      "termsOfService": {
        "token": "kgT1uxoMAk7QKuyJcmQE8nqW_HjpyuXBabiXPi6T83fUKRJkA3dsFID6fzitMpm2qrOh4"
      },
      "foreignID": "4528aba-b9a1-11eb-8529-0242ac13003",
      "customerSupport": {
        "phone": {
          "number": "8185551212",
          "countryCode": "1"
        },
        "email": "amanda@classbooker.dev",
        "address": {
          "addressLine1": "123 Main Street",
          "addressLine2": "Apt 302",
          "city": "Boulder",
          "stateOrProvince": "CO",
          "postalCode": "80301",
          "country": "US"
        },
        "website": "www.lbmlenders.com"
      },
      "settings": {
        "cardPayment": {
          "statementDescriptor": "LBM Lenders"
        },
        "achPayment": {
          "companyName": "LBM Lenders"
        }
      }
    }
  }'\

Read more about accounts and onboarding in our documentation:

Use form shortening

Use the enrichment API to find publicly available information to autofill form fields based on an email address. With the enrichment API you can:

  • Autocomplete addresses
  • Get avatars
  • Look up bank by routing number
  • List industries
  • Enrich business profile

If you’re using a Moov.js integration, you can use Moov’s pre-built Drops UI for form shortening. Read more in the Moov.js documentation:

Set up payment methods

Moov enables lenders to instantly send money to borrowers from a Moov wallet. After an account is linked to Moov, we’ll check its eligibility to send and receive payments on the RTP, ACH and card networks and we’ll automatically create the payment methods for the account.

Every account that meets the wallet capability requirements will automatically have the wallet enabled.

Source Payment method Details Destination Required capabilities
card-payment Initiate a payment from a linked credit or debit card Wallet transfers, wallet
pull-from-card Instantly pull funds from a supported debit or prepaid card to an external account Wallet transfers, wallet, collect-funds
ach-debit-fund Fund payouts or add funds from a linked bank account Wallet transfers, wallet, send-funds
ach-debit-collect Pull funds for bill payment, direct debit, or e-check type use-cases Bank account transfers, collect-funds
moov-wallet Fund payouts or withdraw funds from the Moov platform Wallet, Bank account, Card transfers, wallet
Destination Payment method Details Source Required capabilities
rtp-credit Disburse funds to a linked bank account in near real time Wallet send-funds, wallet
push-to-card Instantly push funds to a supported debit or prepaid card Card transfers, wallet, send-funds
ach-credit-standard Disburse funds to a linked bank account Bank account transfers, collect-funds
ach-credit-same-day Disburse funds to a linked bank account using same-day processing Bank account transfers, collect-funds
moov-wallet Fund payouts or withdraw funds from the Moov platform Wallet, Bank account, Card transfers, wallet

RTP & ACH

Link an eligible bank account through the Dashboard or API for access to instant RTP and fast ACH payment methods.

Link a bank account through the API.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
curl -X POST "https://api.moov.io/accounts/{accountID}/bank-accounts" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "account": {
      "accountNumber": "0004321567000",
      "bankAccountType": "checking",
      "holderName": "Jules Jackson",
      "holderType": "individual",
      "routingNumber": "123456789"
    }
  }'\

Cards

Link a card through the API for access to the instant pull and push card payment methods (note, not all cards are eligible for instant payments).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
curl -X POST "https://api.moov.io/accounts/{accountID}/cards" \
  -H "Authorization: Bearer {token}" \
  -H "X-Wait-For: payment-method" \
  --data-raw '{
    "billingAddress": {
      "addressLine1": "123 Main Street",
      "city": "Denver",
      "stateOrProvince": "CO",
      "postalCode": "80301",
      "country": "US"
    },
    "cardCvv": "123",
    "cardNumber": "4111111111111111",
    "expiration": {
      "month": "01",
      "year": "28"
    },
    "holderName": "Jules Jackson"
  }'\

See our settlement timing guide for more information on card acceptance timing.

Read more about payment methods in our documentation:

Configure interchange incentives

To have card payments qualify for debt repayment interchange incentives, business accounts must be configured with Moov and registered with Visa, Mastercard, and Discover. After configuration and registration, eligible merchants can receive lower interchange fees for qualified loan repayment transactions.

When you link a card, you can check the response object to see if it qualifies. Qualifying cards will have card type debit or prepaid.

1
2
3
{
  "cardType": "debit"
}

Payments made with a debit or prepaid card will automatically be marked as debt repayment in the request to the card network. To see what debt repayment program a transaction qualifies for, use the retrieve transfer GET endpoint and check the fee program.

1
2
3
4
5
6
7
{
  "source": {
    "cardDetails": {
      "feeProgram": "Debt Repayment 2"
    }
  }
}

Read more about interchange incentives in our debt repayment documentation:

Set up recurring payments

Recurring payments will collect from borrowers on a regular basis, without the need for a borrower to initiate a new payment each time. An initial payment is required before establishing a recurring schedule. Unscheduled payments which occur outside the set schedule can also be processed.

Use the transfers API to set up recurring payments.

Before setting up a recurring payment, an initial first recurring payment must be sent with a first-recurring transaction source.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "amount": {
    "value": 5000,
    "currency": "USD"
  },
  "source": {
    "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43",
    "cardDetails": {
      "transactionSource": "first-recurring"
    },
    "destination": {}
  }
}

Once an initial recurring payment has been processed, a recurring payments schedule can be set using the recurring transaction source.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
  "amount": {
    "value": 5000,
    "currency": "USD"
  },
  "source": {
    "paymentMethodID": "ec7e1848-dc80-4ab0-8827-dd7fc0737b43",
    "cardDetails": {
      "transactionSource": "recurring"
    },
    "destination": {}
  }
}

Moov also provides a card account updater (CAU) service. CAU automatically updates payment information when a card has expired or been replaced, eliminating the need to contact cardholders to obtain new information.

Read more about recurring payments and CAU in our documentation:

Manage borrowers

The easiest way to manage borrowers is in the Dashboard. Within the Dashboard you can view all accounts, create new accounts, upload documents, update fee plans, view transfers, and more.

Read more about managing accounts in the Dashboard and API:

Other resources

Summary Beta