Verify with Micro-Deposits

PATCH an ACH-US node to Verify Micro-Deposits & Reinitiate Micro-Deposits

Previous Step: Create User, OAuth User, and Link with Account/Routing

Micro-deposits verify that a user has access to an account. Read below for information on how to get started.

Steps Verifying and Reinitiating Micro-Deposits.

1. Link Bank Account with Account/Routing: Prior to this step, you will need to link a bank account (ACH-US node) with Account/Routing. If the account has not been verified, it will have CREDIT permissions.

2. Initiate Micro-Deposits: Micro-deposits are automatically initiated when a bank account is linked with Account/Routing, assuming the user's KYC is complete.

3. Check Bank Statement: Within 1-2 business days, the user will see two small transactions (less than $1 each) on their bank account statement.

4. Verify Micro-Deposit Amounts: The user must return to your application and submit the two micro-deposit amounts. If the amount is correct, the node will receive CREDIT-AND-DEBIT permissions.

API ENDPOINT

https://uat-api.synapsefi.com/v3.1/users/:user_id/nodes/:node_id

PATH PARAMETER

Path Params

user_id :
required
string

The user ID of the user

node_id :
required
string

The node ID of the node

BODY PARAMETER

micro :
required
array of doubles

Micro-deposit amounts

EXAMPLE REQUEST

PATCH /v3.1/users/594e0fa2838454002ea317a0/nodes/594e606112e17a002f2e324e HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 127.0.0.1
X-SP-USER: oauth_auVIbQ8WXC0pnLU9ivEs4tcHDejqFJlwoNrZ3fO1|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "micro":[0.1,0.1]
}
node_id = 594e606112e17a002f2e324e 
body = {
  "micro":[0.1,0.1]
}

user.verify_micro_deposit(node_id, body)
const achUsNodeID = “594e606112e17a002f2e324e”;
const body = {
  "micro":[0.1,0.1]
}

user.verifyMicroDeposits(achUsNodeID, body);
node_id = “594e606112e17a002f2e324e” 
body = {
  "micro":[0.1,0.1]
}

user.verify_micro_deposit(node_id: node_id, payload: body)
$body = (object) [
 "micro" => [0.1,0.1]
];

$nodeid = '5c3d416f7b08ab0066ee8cae';
$user->verify_micro($nodeid, $body);
nodeID := “594e606112e17a002f2e324e” 
body := `{
  "micro":[0.1,0.1]
}`

data, err := user.VerifyMicroDeposit(nodeID, body)

EXAMPLE RESPONSE

{
    "_id": "594e64034d1d62002f17e3eb",
    "_links": {
        "self": {
            "href": "https://uat-api.synapsefi.com/v3.1/users/594e0fa2838454002ea317a0/nodes/594e64034d1d62002f17e3eb"
        }
    },
    "allowed": "CREDIT-AND-DEBIT",
    "client": {
        "id": "589acd9ecb3cd400fa75ac06",
        "name": "SynapseFI"
    },
    "extra": {
        "other": {},
        "supp_id": "ABC124"
    },
    "info": {
        "account_num": "4134",
        "address": "8001 VILLA PARK DRIVE, HENRICO, VA, US",
        "balance": {
            "amount": "0.00",
            "currency": "USD"
        },
        "bank_long_name": "BANK OF AMERICA",
        "bank_name": "BANK OF AMERICA",
        "class": "CHECKING",
        "match_info": {
            "email_match": "not_found",
            "name_match": "not_found",
            "phonenumber_match": "not_found"
        },
        "name_on_account": " ",
        "nickname": "Fake Account",
        "routing_num": "0017",
        "type": "PERSONAL"
    },
    "is_active": true,
    "timeline": [
        {
            "date": 1498309635474,
            "note": "Node created."
        },
        {
            "date": 1498309636069,
            "note": "Micro deposits initiated."
        },
        {
            "date": 1498309640272,
            "note": "Invalid Micro Deposit amounts attempted."
        },
        {
            "date": 1498309648021,
            "note": "Correct Micro Deposit amounts attempted. Node's 'allowed' changed to 'CREDIT-AND-DEBIT'"
        }
    ],
    "type": "ACH-US",
    "user_id": "594e0fa2838454002ea317a0"
}
{
    "error": {
        "en": "Invalid field value supplied. Invalid micro deposit amount."
    },
    "error_code": "400",
    "http_code": "409",
    "success": false
}

A successful response will return the node information with "allowed": "CREDIT-AND-DEBIT". If an incorrect amount was passed, the node will stay in "allowed":"CREDIT" and the node timeline will be updated with note": "Invalid Micro Deposit amounts attempted".

Do not try to guess micro deposit amounts. Nodes lock after 5 incorrect attempts. If the user has misplaced micro-deposits, we recommend Reinitiating Micro-Deposits.

Sandbox Test Values

Here are the test micro-deposit values for sandbox:

Micro-Deposit Amount 1
Micro-Deposit Amount 2

0.10

0.10

Reinitiating Micro-Deposits

If a user cannot locate their micro-deposits, please reinitiate micro-deposits. Micro-deposits can only be reinitiated 2 more times after the node is created.

If the node is locked for too many invalid attempts, please reach out to the us at [email protected] with the node ID and the micro-deposit amounts so we can verify the amounts manually.

API ENDPOINT

https://uat-api.synapsefi.com/v3.1/users/:user_id/nodes/:node_id?resend_micro=YES

PATH PARAMETERS

Path Params

user_id :
required
string

The user ID of the user

node_id :
required
string

The node ID of the node

QUERY PARAMETERS

resend_micro :
required
string YES/NO

Set value to YES to reinitiate micro-deposits for supplied node