Verify CLABEs

Verify an account holder's information before sending them a full payout

Account verification allows you to verify bank accounts by sending micro-deposits (0.01 MXN) from your Fintoc account balance to the target account number. Fintoc will respond with the holder information resulting from the transaction receipt.

Create an account verification

Account Verification creates a 0.01 MXN Transfer from your root Account to retrieve the target account holder's information. Since money will be moved from your account, a JWS Signature will be required to complete the action.

curl --request POST \
     --url https://api.fintoc.com/v2/account_verifications \
     --header 'Authorization: sk_test_9c8d8CeyBTx1VcJzuDgpm4H' \
     --header 'Fintoc-JWS-Signature: CNMaYaDGU3ZhFV1ve6p3sAdYXhEklej8DVIAMqIWCkpNmT6Jp7iigcndXwH5q3WQFHiswgIQU5-_-4rV3jKGptCROmEyWPW8_elhYH1apzAyjOjyZ55ygv37xKHzIFhixzAwmXlAv4pfD4lVelYWVNOSN7REA0QJeCy2vKdqZ5cjqCXQ1lkQUlzOE7dpuNoAkhAhAJJ8HaamFKy7Gl7uwmqbIr-dVYv21d_9O7mO26n0gy3zWXD2nJDxU5Mzl2pZd8-sFvUr9Kmp_YkeRMh4bSe0fr1Uc_YgkjpmYUyu7kaxRWTbAdJ3GwqWFMUDiyfhHdzvZPZyU4VkWreimoydMA' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "account_number": "012969100000000110"
}
'

When you request an Account Verification, you will get a response confirming the verification process has started by outputting an account_verification object in pending status. Note that the requested information is blank in the initial response. The response should look like this:

{
  "id": "accv_fdsjklsdjkls",
  "object": "account_verification",
  "status": "pending",
  "reason": null,
  "transfer_id": "tr_fdskjldasjkl",
  "counterparty": {
    "account_number": "012969100000000110",
    "holder_id": null, 
    "holder_name": null,
    "account_type": "clabe",
    "institution": {
      "id": "mx_banco_bbva",
      "name": "BBVA Mexico",
      "country": "mx" 
    }
  },
  "mode": "test",
  "receipt_url": null,
  "transaction_date": null
}

Using the Python SDK

Here's an example of how to verify accounts using the Python SDK:

verification = client.v2.account_verifications.create(
	account_number = "12345678912345789"
	)

Monitor verification status

When transfer and account holder information are successfully retrieved, you will receive an account_verification.succeeded webhook. This event will include the account holder's information in a succeeded account_verification object. This is how the event should look like:

{
  "id": "evt_a4xK32BanKWYn",
  "type": "account_verification.succeeded",
  "object": "event",
  "mode": "test",
  "created_at": "2020-04-17T00:00:00.000Z",
  "data": {
    "account_verification_id": "mdv_fdsjklsdjkls",
    "object": "account_verification",
    "status": "succeeded",
    "reason": null,
    "transfer_id": "tr_fdskjldasjkl",
    "counterparty": {
      "account_number": "123456789123455789",
      "holder_id": "FLA1234567890", 
      "holder_name": "Carmen Marcela",
      "account_type": "clabe",
      "institution": {
        "id": "mx_banco_bbva",
        "name": "BBVA Mexico",
        "country": "mx" 
      }
    },
    "mode": "test",
    "receipt_url": "https://www.banxico.org.mx/cep/",
    "transaction_date": "2020-04-17T00:00:00.000Z"
  }
}

If the information cannot be obtained, you will receive an account_verification.failed webhook with a reason field explaining why the verification failed.

For more information on receiving webhooks with Fintoc, check out the webhooks guide.