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:

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 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 transfer 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.

Initiate the transfer

Once you’ve set up the utility company and the customer’s accounts, you’re ready to collect a payment. First, get a list of the available payment methods from the transfer options endpoint. Select the utility company’s Moov wallet and the customer’s bank account.

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: