Account

Validate a bank account

Changed on

This POST endpoint is used to validate a bank account against MassPay's account verification providers, independently of a payout. <br> The bank account is validated for the user identified by user_token in the path, and the account holder name on record for that user is used for name matching. <br> If a finalized result is available within ~5 seconds (including cached results), it is returned synchronously with HTTP 200. Otherwise HTTP 202 is returned with a status of PROCESSING and the finalized result is delivered asynchronously through the avs.completed webhook event. <br> Validations are charged per validation based on your client pricing configuration; validations that cannot be verified by any provider (UNSUPPORTED) are not charged.

post/payout/account/validate/{user_token}

Request

Path parameters

user_tokenstring required
Example:usr_9a542efe-6060-11f1-b042-02a06bb795f5

Token representing the user the bank account belongs to. The name on record for this user is used for account holder name matching.

Request body

country_codestring

ISO alpha-2 country code of the bank account.

Example request

{
  "country_code": "US",
  "attrs": [
    {
      "type": "BankAccountNumber",
      "value": "31742287"
    }
  ]
}

Response

Finalized validation result.

status'MATCH' | 'CLOSE_MATCH' | 'NO_MATCH' | 'UNSUPPORTED'

Finalized validation status.

  • MATCH: the account exists and the account holder name matches the user on record.
  • CLOSE_MATCH: the account exists and the account holder name is a partial match.
  • NO_MATCH: the account holder name does not match the user on record.
  • UNSUPPORTED: no provider was able to verify this account. Not charged.
ownership_verifiedboolean

Whether account ownership was verified by the provider.

first_name_matchstring nullable

First name match outcome, when returned by the validating provider.

last_name_matchstring nullable

Last name match outcome, when returned by the validating provider.

match_scoreinteger nullable

Name match score (0-100) when provided by the validating provider.

score_valueinteger nullable

Provider-specific risk score, when returned.

score_ragstring nullable

Provider-specific red/amber/green rating for the score, when returned.

score_descriptionstring nullable

Human readable explanation of the provider score, when returned.

Example response

{
  "status": "MATCH",
  "ownership_verified": true,
  "first_name_match": "MATCH",
  "last_name_match": "MATCH",
  "match_score": 100
}

Changes