Changelog

Discover new features and improvements to Moov.

Transfer groups in timeline and synchronous transfer responses

Dashboard

We made a handful of dashboard improvements to improve how we communicate the status of your account.

  • Transfer groups are now visible in the Moov Dashboard so you know exactly where your funds are at all times.
  • We made it easier to find and fix capability errors so you know exactly what needs to be fixed before a transfer can be processed.
  • After creating a new account or payment method in the Dashboard, you’ll see sample code snippets that give context on how you can perform those same actions more efficiently using our API.

Node SDK

  • We improved the error messaging in the Node SDK and released the official 1.0 version of the SDK.
  • We’ve added CommonJS support for the Node SDK. You can now use the SDK in ESM and CommonJS projects.

Transfers

  • We have introduced the X-Wait-For header for use when making a transfer. When you make a transfer today you get an immediate response containing only the transferID to indicate the transfer instructions have been received. With the new X-Wait-For header, you can pass a value of rail-response to tell the service that you want the full transfer payload back after the request has gone out to the payment rail and back. This is useful for handling client-side errors and retries for card transactions that communicate with the card networks in real time.

Test mode

Things don’t always go according to plan—we’ve added a new test card in test mode to help you simulate what happens when a card payment is declined.

Facilitator fees

Node SDK

We made a number of additions to the Node SDK, including the following:

Dashboard

  • We streamlined our onboarding process to help prospects start learning what Moov can do for them as quickly as possible.
  • We edited test mode so that there is no need to spend any time adding business data or creating accounts and payment methods before you’ve decided to use Moov. Test mode now pre-populates sample business information so you can focus on exploring the platform.

Transfers

  • You can now monetize your transfers with facilitator fees. When you set a facilitator fee on a transfer the amount of the fee will be moved to your Moov wallet.
  • Transfer groups can now include wallet-to-bank transfers to end the chain.

Transfer groups

Transfer groups

Transfer groups are now available via the Moov API. Transfer groups provide a way to associate multiple transfers together by a shared ID of the parent transfer. Use the transferID of a to-wallet transfer as the source of a transfer to group them. The subsequent transfer will be queued until its parent completes, and you can choose to make it visible to the recipient. Support for transfer groups will be coming soon to the Moov Dashboard.

Bug fixes

  • We fixed an issue with Dashboard metrics being incorrectly calculated.
  • We have consolidated the Moov Onboarding Drop to further streamline the client experience.

Improvements

  • For all new accounts, we will auto-populate your test account data so you can start exploring and learning right away.
  • We clarified business requirements in our docs and the Moov Dashboard.
  • We updated our SSN requirements to toggle between requiring only the last four of a client’s SSN or requiring their full SSN.

Introducing Moov Drops

Moov Drops

We’ve released three pre-built user interfaces for embedding payments quickly and securely.

  • Onboarding: implements a flow for onboarding and verifying customers
  • Payment methods: an interface for helping users set up and manage their linked bank accounts and cards
  • Card Link: a web component for adding credit card information securely

All Moov Drops:

  • Leverage Moov.js, ensuring that sensitive data never hits your servers
  • Optimize for a seamless user experience through form-shortening, error handling, and accessibility features
  • Are customizable to match your brand (see our theming guide)

Refunds and other improvements

Cards

  • You can now refund card payments in the Moov Dashboard. You can issue a full refund from a transfer with card-payment as the source.
  • We now include card type and issuer information on linked cards in the Dashboard.
  • We added a new cardDetails object for setting a dynamic statement descriptor and recurring flag for card payments.
  • Fees will be shown in the Dashboard. Fee support in the API will be generally available soon.

Node SDK

We launched documentation for our Node SDK. You can now quickly generate OAuth tokens with the proper scopes to use in Moov.js, add new accounts from the server, and initiate a new transfer. This reduces the lines of code needed to interact with our platform (compared to making the API call directly), saving time and allowing you to move money faster.

Listing industries

We added a new endpoint for listing accepted industries, including their name, MCC, NAICS, and SIC codes. Use the API or Moov.js to list industries.

Autocompleting addresses

We have a new endpoint for auto-completing addresses, creating a better user experience with less timing and better accuracy for KYC verifications.

Improvements

  • Plaid customers using the Moov processor token will now receive a canned response when using a Moov test account.
  • We improved the display of bank accounts, cards, and their payment methods in the Dashboard.

Dashboard metrics

Dashboard

We’ve released Dashboard metrics. You can now view new accounts (by type and overall), transfer count (by status and overall), and transfer volume over time on the Moov Dashboard. See our Dashboard overview guide for more information.

Server-side SDK

We started work on Moov’s first server side library to make interacting with our API even easier. - If you have a Node backend you can npm i @moovio/node to install the early version of the API. The first feature is a way to generate OAuth scopes, which you can pass back to the client to initiate Moov.js with. Additional features, and robust documentation are coming soon. View the npm page for basic documentation.

Collect-funds capability

In preparation for the release of our card acquiring beta program, we wanted to simplify the onboarding process for our customers that intend to accept card payments. Part of this preparation is to only allow businesses to have the collect-funds capability.

Wallets

Utilizing a Moov wallet can be a great way to simplify and expedite many payment use cases. Starting now, any Moov account with the send-funds or collect-funds capabilities enabled will automatically get a wallet. This wallet may be used for payment exception use cases.

MX Integration

Moov has partnered with MX to offer our clients another seamless way to perform instant account verification. Our clients that have an existing MX relationship can now connect their MX account directly to their Moov account so their clients have the ability to link their bank accounts instantly. See our MX integration guide for more information.

Transfer status webhooks

The transfer.updated webhook event now includes the rail-specific statuses that correspond to each leg of the transfer. The breakdown of statuses can be found here. This provides a more granular level of transparency on a transfer and will notify you (if subscribed) of transaction completion or any rail-specific issues that arise when we hear about them.

Test mode

Test mode

  • We’ve enabled test accounts so you can interact with Moov’s platform without sending real money or waiting on account verification.
    • API key creation for test accounts
    • Simulate micro-deposits by inputting $0.00
    • Simulate successful transfers

Transfers metadata

We now allow our customers to store free-form data on transfers. As a customer, you can store any type of data that suits your needs, for example: invoice numbers, correlation IDs, SKU data, etc.

Bug fixes

We resolved a bug that was preventing 2FA codes from being emailed out for a brief period of time.

Improvements

  • We made small text updates to improve the consistency of member role names (for example, “Administrator” instead of “Administrators”).
  • We improved internal logging across session refreshes to continue to monitor, track, and prevent fraudulent activity.
  • We updated the UX for adding multiple domains on an API key.

Plaid integration

Plaid integration

Moov-managed Plaid integration allows our customers to offer instant account verification and launch the Plaid experience from Moov.js.

Webhooks

  • We finished a project this cycle to ensure all the required information is included on all the webhooks so developers can pull the information that is needed. We also updated our documentation to include a list of the schemas for all the webhook events.
  • Added the accountID and status to the bankAccount.created, .updated, and .disabled events.
  • The transfer.created and transfer.updated now include the accountID for the account facilitating the transfer along with the status of the transfer.
  • We are now sending events for the transfer.updated event when a transfer fails or is reversed, since sometimes things don’t go as planned.
  • We added the accountID to the balance.updated webhook to allow developers to get additional information about the wallet if needed.
  • The paymentMethod webhook events now include the accountID and the sourceID to allow developers to more quickly get information about that payment method.
  • The representative.created and representative.updated webhooks now include the accountID for the account the representative belongs to.

Permissions

For users with “Developer,” “Support,” or “View only” permissions, the dashboard will now reflect what actions they can or cannot perform instead of getting an error message when they attempt to perform that action. If the user isn’t able to perform an action, the button will be disabled, hidden, and in some cases, the entire section won’t be visible.

Dashboard

  • We added verification status to the accounts list and account details.
  • Improved usability of date of birth, tax ID, and phone number fields.

Bug fixes

  • We resolved an issue where a warning banner was being shown when it wasn’t supposed to be when trying to add a new member.
  • We resolved a bug that was temporarily preventing you from switching the role of a user in the dashboard.

Introducing wallets

Wallets

Moov Wallets are now available. Every application has wallet provisioned for its account, and you can request the wallet capability for any Moov account.

Faster transfers

Moov now processes all ACH debits with same-day processing by default. This means your bank-to-bank or bank-to-wallet transfers will happen a day faster if we receive the request before the 4:15 pm ET cutoff window.

Authentication

  • You can now generate an OAuth2 token by passing data as application/json in addition to passing as application/x-www-form-urlencoded when making a request to oauth2/token endpoint.
  • Added a confirmation when requesting a new two-factor code be sent to your email.
  • If you are inactive for a period of time, you will be warned a minute prior to being signed out.
  • Added cards.read and cards.write to the list of allowed scopes in preparation for allowing card transfers.
  • After a period of time, you will be signed out. We added the ability to reenter your password to stay signed in.

Webhooks

  • Updated the Webhook keys to use a consistent camel case format. TransferIDtransferID.
  • Added the accountID and status to the capability.updated webhook event. This will allow you to get additional information about the capability that was updated.
  • Added the status to the transfer.updated webhook.

Member management

  • You can now search for Members that have access to your account on the members page.
  • You will now be notified if you try to send an invite to someone who is already a member of that account.
  • If a member invitation has expired you will now see that the status of that invitation in the member list.

Account verification

Moov account verification is now automated. When you request capabilities like send-funds that require verification, the process will kick off as soon as all the data requirements outlined in the capability are satisfied for the individual or business. For any account that isn’t instantly verified, you can view outstanding requirement errors or the overall status from the API and from the Moov Dashboard.

Plaid integration

We updated our Plaid processor integration to not require Plaid’s identity product.

Transfer statuses

There are two new transfer statuses: failed and reversed. Receiving an ACH return will update the transfer status and send a transfer.updated event based on the transfer status: - failed - transfer returned/failed during clearing period or before funds movement - reversed - transfer returned/failed after clearing period or marked completed

Improvements

  • Improved the experience of using the Moov app from a phone, particularly phones with notches.
  • The account ID for your account is now included on the Business Details page to help with troubleshooting and creating tokens.

Bug fixes

  • Some Moov Dashboard users experienced aggressive caching that caused them to see an older version of the app. We implemented new cache-busting to keep the app as fast as ever while serving new updates.
  • Resolved an issue that was preventing the capability.updated event when it should have been.
  • We fixed some typos and updated the wording for sign-in error messages to increase clarity.
  • Resolved an issue that prevented you from sending an invite to a member who had been previously removed from your account.
  • We updated our open source Slack application to properly format numbers and removed some typos.
Subscribe

Moov is constantly improving. Subscribe to our changelog email to receive a summary of changes twice a month.