Changelog

Discover new features and improvements to Moov.

Hosted onboarding

Hosted onboarding (coming soon)

Soon you’ll be able to use Moov’s hosted onboarding forms to cut down the time it takes to onboard users. You’ll create an invite and send a secure form link from the Moov Dashboard. Users will move through the onboarding flow and provide data necessary to fulfill capability requirements, agree to pricing, and accept Moov’s terms. Once users complete the onboarding form, you’ll be notified in the Dashboard that they’re ready to move money. You can start building for this new flow now.

See our hosted onboarding guide and our API reference for details.

Disputes in the Dashboard

You can now fully manage disputes in the Dashboard. You can view, accept, delete, and update disputes, as well as view, upload, and update dispute evidence.

Updates to dynamicDescriptor

Accounts must now be approved by Moov to use the dynamicDescriptor field - an optional field to override the default card statement descriptor on a transfer. View our documentation for more details.

Changes to capability requirements

Capability requirements have updated to reflect financial institution exemptions and additional underwriting requirements.

Financial institution exemptions

US state and/or federally regulated financial institutions are exempt from beneficial ownership requirements. Our account onboarding process will conditionally require a financial institution to provide their primary regulator during signup, which will be communicated through capability requirements. Additionally, providing business representatives is not a requirement for these financial institutions.

Underwriting requirements

Additional fields have been added for account underwriting that detail fulfillment, return policies, and the type of volume expected by merchants. If you aren’t already, ensure you’re providing these fields. See the underwriting API for more details.

Moov.js version update and API docs

Moov.js version update

We identified a long-standing issue with Moov’s client-side JavaScript SDK, Moov.js. Due to a misconfiguration, it was possible for users to cache outdated versions of Moov.js in their local browsers and experience page-breaking 404 errors following the release of a new version of Moov.js. Users would then have to manually clear their local browser cache to resolve the issue.

We resolved this issue with the release of Moov.js v0.6.12 on May 14, 2024. If your website used Moov.js prior to that date, some of your users may have outdated versions of Moov.js stored in their browser cache.

If your codebase used Moov.js prior to May 14, 2024, please review your codebase for the url https://js.moov.io/v1, and update the url to https://js.moov.io/v1?min=v0.6.12.

Cards endpoints documentation

Our API docs now reflect previously undocumented fields already present in our cards endpoints.

In the update a card PATCH endpoint documentation, we now include the merchantAccountID as an optional field in the request body.

We also now document the following fields returned in 200 responses for the link a card POST endpoint as well as the update a card PATCH endpoint:

  • issuerPhone
  • issuerURL
  • cardCategory

Optional Visa name verification field

Visa name verification field

For Visa cards, we support Visa’s Account Name Inquiry (ANI) for enhanced cardholder verification. ANI is an optional tool that ensures the name provided on the linked card matches the name held on file with the issuer. There is a new optional verifyName field in the link a cardPOST and update card PATCH endpoints for requesting this name verification.

Results of the verification request are returned in the cardVerification.accountName as shown in the sample response object below:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    {
      "cardVerification": {
        "accountName": {
          "fullName": "match", // Options: noMatch, match, partialMatch, notChecked
          "firstName": "match", // Options: noMatch, match, partialMatch, notChecked
          "middleName": "noMatch", // Options: noMatch, match, partialMatch, notChecked
          "lastName": "match" // Options: noMatch, match, partialMatch, notChecked
        }
      }
    }

Dashboard updates

We’ve made a variety of small improvements to the accounts section of the Dashboard. Keep reading for more details on what’s changed.

Peek preview for accounts lists

We’ve added peek preview functionality to the accounts list view in the Dashboard. Press the space key to toggle the preview on and off. You can move your cursor up and down the accounts list and the preview will update with the corresponding account information. The esc key will also dismiss the preview.

Capability requirements

We removed verification status and replaced the status with an indicator that reflects if any capabilities have requirements pending for a particular account. Read our Dashboard accounts guide for more details.

Filter accounts by capability & capability status

You can now filter accounts by capability or capability status, allowing you to quickly surface specific account lists by capability-specific criteria.

Data sync, test mode updates, & more

Data sync

Data sync is a new no-code feature that sends your Moov account data to Google BigQuery, allowing you to access your payment data with tools you use to run your business, like Looker and Tableau.

Test mode updates

  • Winning and losing disputes: You can now simulate winning or losing disputes by entering the text evidence specified in the test mode guide.
  • RTP failures: We also added the ability to simulate various failure scenarios with RTP in test mode. See the test mode guide for the list of failure cases.

ACH micro-deposit return code update

An R29 return code for ACH micro-deposits will now result in the bank account status verificationFailed and you will need to re-verify the account. See our documentation on ACH return codes for more information. Note that some return codes will result in a different status for ACH micro-deposits and ACH transfers.

Disputes response endpoint and more

Disputes updates

When a merchant receives a dispute, they can now accept or challenge the dispute through the disputes response endpoint in the API. We’ve also added a new dispute.updated webhook that will generate if there is a change to a dispute’s status or phase .

Dashboard bug fix

We resolved an issue in the Dashboard where business address details weren’t carried over from the autofill form field to the manual address entry fields.

Reminder: API field updates

This is a final reminder to review your app to determine if you’re still using the deprecated fields listed below, or if the new in-review capability status will negatively impact your system. Read more for context below.

A few weeks ago, we announced new deprecated fields:

We also announced the in-review capability status, which communicates when Moov is manually reviewing account details to enable a capability — you don’t need to take any further action. The existing pending status will notify you if further action is needed, for example, providing any missing capability requirements.

Pull from card & disputes in test mode

Pull from card available in test mode

You can now use test card numbers for both pull-from-card and push-to-card payment methods. You can use these payment methods in test mode to simulate completed and failed Visa and Mastercard transfers.

To use these payment methods in test mode, you’ll need to remove existing test card numbers. This includes 4111111111111111 for transfers and/or 4000020000000000 for declines.

Find more information and instructions in the test mode guide.

Disputes available in test mode

Test card numbers are also now available to simulate disputes for Visa, Mastercard, Discover, and American Express. You can simulate chargebacks, as well as American Express inquiry disputes.

Find more information and instructions in the test mode guide.

Reminder: API field updates

Last week, we announced new deprecated fields:

Review your app to determine if you’re still using the deprecated fields.

We also announced a new in-review capability status. The in-review status communicates when Moov is manually reviewing account details to enable a capability — you don’t need to take any further action. The existing pending status will notify you if further action is needed, for example, providing any missing capability requirements.

Review your app to determine if the new in-review capability status will negatively impact your system.

Debt repayment transfers

Debt repayment transfers

Merchants that service loans or other debt payments may be eligible for lower interchange fees by enabling debt repayment for their account. See our debt repayment guide for more information, or contact us if you have a debt repayment use case.

American Express

Moov now supports American Express card processing. If you’re interested in processing Amex, please submit a request by selecting Amex OptBlue in the dropdown menu.

SEC codes

You now have the option of specifying an SEC code in certain ACH transfer request scenarios. The following SEC codes are available to set: CCD, PPD, WEB, and TEL. See our ACH transfer guide for more information.

API updates

Deprecation notice

The following two fields related to accounts have been deprecated:

To determine if an account is able to perform a given action, look for changes in the status of the requested capabilities for an account.

New capability status

The new in-review capability status communicates when Moov is manually reviewing account details to enable a capability - you don’t need to take any further action. The existing pending status will notify you if further action is needed, for example, providing any missing capability requirements.

Please review your app to determine if you’re making use of the deprecated fields, or if the addition of the new in-review capability status will negatively impact your system.

Instant disbursements with push to card and RTP

Instant disbursements with push to card and RTP

Moov has enabled immediate payouts to linked debit cards and bank accounts via Visa Direct, Mastercard Send, and RTP. This feature is now fully available in test mode and to early adopters in production, with use cases for loan disbursements, gig payouts, and e-commerce settlements.

Instant disbursements unlocked

  • Around-the-clock availability: Execute payments to debit cards or bank accounts any time, including weekends and holidays.
  • Create new revenue streams: Offer end users the option for faster payments and leverage facilitator fees to unlock new revenue opportunities.

Push-to-card: Quick funds for debit card users

For enabled push to card customers, a new push-to-card payment method is automatically generated when an eligible debit card is linked to a Moov account. Transfer funds between a moov-wallet and push-to-card payment method and see them credited within 30 minutes or less.

RTP: Real-time bank transfers

With RTP, you can instantly transfer funds from a Moov wallet to eligible bank accounts. The rtp-credit payment method is automatically generated for eligible bank accounts and will automatically update as additional banks join the RTP network.

Available in test mode

View the push to card and RTP test mode guides to see how you can experience the full capabilities of instant disbursements on test accounts with pre-populated sample data.

Enable in production

To use instant disbursements in a production environment, contact our sales team.

Terms of service Moov Drop

Our new, pre-built terms of service Drop provides users links to our privacy policy and terms of service agreement. We’ll generate a token in the background that you can use to update the account to be compliant with Moov’s terms of service.

Disconnect accounts with the API

We’ve added a new DEL endpoint in the /accounts API. Provide the account and bank account IDs to disconnect an account. See the API reference for more information.

We’ve updated the link a card POST endpoint to save you time by including the payment method IDs for the card in the response. You’ll no longer need to make a separate call to retrieve them when immediately making a transfer after linking a card.

Failed transfer status update

If money fails to reach the destination in a wallet-to-bank transfer, the status will now appear as failed to align with our status definitions (previously, the status would appear as reversed). Historical transfer statuses will not be changed.

Subscribe

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