Skip to content

Collect payments

If you’re looking to collect funds from other accounts, this guide covers the flow for your use case. Some examples of this scenario include:

  • A subscription-based platform collecting payments from their users
  • A utility service charging their customers for a monthly usage fee
  • A supplier collecting payments from a business

For the purposes of this guide, we’ll use an example where you will be building a hypothetical utility bill payment platform. The key players in this scenario are:

  • The utility company (the account collecting funds)
  • The customer (the account being charged)

Get your access token

To get started, you’ll need to:

tip
For more detailed instructions, see our Quick start guide.

Set up the account collecting funds

Start by creating a Moov account for the utility company. Request the collect-funds capability for the utility company’s account. Capabilities.

The capabilities endpoint will let you know what information about the utility company you’ll need to provide Moov before we enable the collect-funds capability.

You can use the Moov wallet to collect payments. Every eligible Moov account automatically comes with a Moov wallet, so you won’t need to do any additional setup to collect funds to your Moov wallet.

Set up the account to collect from

Add a Moov account for the customer and request the transfers capability for their account.

The capabilities endpoint will let you know what information about the customer you’ll need to provide Moov before we enable the transfer capability.

Add a bank account for the customer. The customer must complete the micro-deposit verification process before you can pull funds from their account.

Once an external bank account has been verified and the transfers capability has been enabled, Moov will automatically generate payment methods that can be used in the transfer.

Initiate the transfer

Once you’ve set up the utility company and the customer’s accounts, you’re ready to collect a payment. First, you can get a list of the available payment methods from the transfer options endpoint. When collecting a payment using ACH, you will always use a payment method of type ach-debit-collect for the transfer source. Transfer options will also provide available payment methods for disbursement of the collected funds. For example, the utility company’s Moov wallet.

Once you’ve selected the payment methods for the transaction, you can initiate a transfer between the two accounts, using the payment method IDs for the wallet and bank account you got earlier in the transfer options request.

What’s next

Feel free to explore our API reference or take a look at our additional use case guides: