Bank Account Verification
...
Global
Overview - Bank account verification
introduction signzy's bank account verification service offers extensive coverage, enabling the verification of bank accounts in over 195 countries worldwide for the us market, we have integrated with finicity, a trusted partner, to provide comprehensive verification capabilities for the canada market, we have integrated with flinks also we are collaborating with other partners around the world to ensure global coverage for for bank account verification beyond the united states our bank account verification solution is highly customizable to cater to the specific requirements of our clients this means that we can implement country specific workflows tailored to the needs of our clients for instance, if you prefer to verify the bank accounts of your us customers using finicity while using another solution for customers from other countries, our system seamlessly supports such configurations through a single endpoint check specific bank account verification apis documents ahead to know how the apis will work at the backend supported countries us, canada countries in roadmap uk (feb), uae (mar) api details our bank account verification service offers a seamless experience by providing a single endpoint for customization based on country specific requirements regardless of the chosen flow, our solution ensures efficient verification of global bank accounts for us bank account verification, we leverage our trusted partner, finicity, renowned for its real time capabilities by utilizing the relevant apis in the background, we gather the necessary data points required by our clients the system then generates a json response, providing the client with the verified information for bank accounts in other countries, our other solutions comes into play irrespective of the chosen solution, clients receive a standard response from signzy, streamlining the integration and ensuring a consistent experience across different verification methods flow of apis please note that we have mentioned the flow below to give you idea on how it works at the backend signzy will provide you single endpoint for all your bank account verification needs us (finicity signzy flow) please find the below flow of finicity apis to get the desired output please note that signzy will run these apis in the backend according to the requirements of client signzy will not give different endpoints to their client client will be able to use single endpoint for all their needs we have illustrated below flow in order to give you idea about signzy's process calling create bank connect journey link docid\ nckrwlah4pry52vphhnpc api for user to start the journey and authorize finicity for account access signzy gives unique tracking id to the client for the user mapping (please read more about tracking id below) the create bank connect journey link docid\ nckrwlah4pry52vphhnpc api should give customerid, accountid, currency, institutionid in the webhook signzy will call get account owner details docid\ pwfnl44ehlewmqolr2ujl , get account ach details docid\ e59az8keujk1eoa ufacr , get institution by id docid\ cydisb69cf7ejbh8orxks apis in parallel to get the required data using the above responses in webhook please find the complete mapping at the end signzy will call delete customer docid\ lrgh uabpduslinjlra6w api at the end to avoid any recurring monthly charge to customer the responses from the above apis will be combined, and the desired parameters will be extracted these parameters will then be formatted into a json file and shared with the client the json file will also contain the tracking id for the mapping with correct user europe we will be adding europe bank account verification services soon please get in touch with your sales representative for more details sample curl (single endpoint for signzy's client) curl location 'https //api signzy us/api/v3/global bank verification/generate link' \\ \ header 'authorization ' \\ \ header 'content type application/json' \\ \ data '{ "customerid" "6524e64350d7ee6ceb4ed667", "country" "ca", "flowid" "2", "redirecturl" "www signzy com", "gettransactions" true, "transactionsperiod" "12", "getbankbalance" false }'curl location 'https //api preproduction signzy us/api/v3/global bank verification/generate link' \\ \ header 'content type application/json' \\ \ header 'authorization \<auth token>' \\ \ data '{ "customerid" "6524e64350d7ee6ceb4ed667", "country" "ca", "flowid" "2", "redirecturl" "www signzy com", "gettransactions" true, "transactionsperiod" "12", "getbankbalance" false }' request body parameters 165,103 false true false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type sample api success response us { "result" { "link" "https //connect2 finicity com?customerid=7015178151\&experience=default\&origin=url\&partnerid=2445584066256\&redirecturi=https%3a%2f%2fwww google com\&signature=06e34afd2c4fb44b86c21afe25587c73298c6759b01bc53e8fa36e26a911c7f6\×tamp=1705671353707\&ttl=1705678553707\&webhook=https%3a%2f%2fapi signzy us%2fapi%2fv3%2fglobal bank verification%2ffinicity callback", "traceid" "7015178151" } } ca { "result" { "link" "https //api staging signzy app/api/v3/global bank verification/bank connect/d7ac17b53xx2234d5ec494a6d6ddf47a 656052e0c1c3f1981b7d36f2 54a1d7c4921b09ac9deb029456", "traceid" "656052f0c1z1f1981b7d36f2" } } response body parameters 145,95 false true false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type tracking id/ trace id details t rackingid is necessary to do the correct response mapping after sucessful completion of bank account verification you will get link and a unique trackingid as the api response the same trackingid will come in the json after succesful completion of bank account verification at your callback please store this trackingid so that you can map the json response (received in callback) with the correct user multiple/single accounts support flexibility is key when it comes to catering to the diverse needs of our end users our system is designed to accommodate both scenarios, allowing end users to choose between managing multiple bank accounts or opting for a single bank account as part of our response mechanism, we can furnish information on either multiple accounts or a singular account, depending on the user's preference to tailor this functionality to your specific requirements, we recommend collaborating with your dedicated account manager your account manager will guide you through the configuration process, ensuring that the system is optimized to meet your business goals and provide an optimal experience for your end users sample response callback (with balance & transactions) the user has completed the journey { "trackingid" "7015178151", "status" "successfull", "message" "the user has completed the journey ", "account1" { "account" { "currency" "usd", "accounttype" "chequing", "accountnumber" "1111001", "balance" 25014 43 }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "77777", "iban" "", "swiftcode" "", "name" "dccapital", "address" "", "splitaddress" { "street" "", "pobox" "", "city" "", "state" "", "zipcode" "", "country" "" }, "emails" \[], "phonenumbers" \[] }, "transactions" \[ { "date" "2024 01 18", "amount" 700, "description" "zelle payment from jone usbnfipiojg6", "balance" "", "type" "transfer" }, { "date" "2024 01 17", "amount" 99 2, "description" "lemonade insuran lemonade i st j5p0m2j3j0u3 ccd id 1800948598", "balance" "", "type" "poscredit" }, { "date" "2024 01 17", "amount" 53 41, "description" "payment to chase card ending in 5980 01/17", "balance" "", "type" "billpayment" }, { "date" "2024 01 17", "amount" 631, "description" "wise inc wise ppd id 9453233521", "balance" "", "type" "posdebit" }, { "date" "2024 01 15", "amount" 400, "description" "zelle payment from jone usbaqzwio9ev", "balance" "", "type" "transfer" } ] }, "account2" { "account" { "currency" "usd", "accounttype" "cd", "accountnumber" "", "balance" 1000 }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" " nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] }, "transactions" \[] }, "account3" { "account" { "currency" "usd", "accounttype" "savings", "accountnumber" "00100000120479459", "balance" 6022 34 }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "028000121", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] }, "transactions" \[ { "date" "2023 12 27", "amount" 0 1, "description" "interest payment", "balance" "", "type" "poscredit" }, { "date" "2023 11 27", "amount" 0 1, "description" "interest payment", "balance" "", "type" "poscredit" }, { "date" "2023 10 26", "amount" 0 11, "description" "interest payment", "balance" "", "type" "poscredit" }, { "date" "2023 10 22", "amount" 1000, "description" "phone funds transfer withdrawal 10/23", "balance" "", "type" "transfer" } ] } } after 15 minutes of dormancy { "trackingid" "6031770783", "status" "indeterminate", "message" "the user is in a state of dormancy we will send a bank account verification response in case the user completes the journey " } sample response callback (without balance & transactions) the user has completed the journey { "trackingid" "7015178151", "status" "successfull", "message" "the user has completed the journey ", "account1" { "account" { "currency" "usd", "accounttype" "chequing", "accountnumber" "1111001" }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "77777", "iban" "", "swiftcode" "", "name" "dccapital", "address" "", "splitaddress" { "street" "", "pobox" "", "city" "", "state" "", "zipcode" "", "country" "" }, "emails" \[], "phonenumbers" \[] } }, "account2" { "account" { "currency" "usd", "accounttype" "cd", "accountnumber" "" }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" " nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] } }, "account3" { "account" { "currency" "usd", "accounttype" "savings", "accountnumber" "00100000120479459" }, "accountholder" { "name" "john doe", "address" " nicole cir aurora il 605023702", "splitaddress" { "street" "nicole cir", "pobox" "", "city" "aurora", "state" "il", "zipcode" "605023702", "country" "us" }, "emails" \[ "john212\@gmail com" ], "phonenumbers" \[ "2945074373" ] }, "bank" { "routingnumberorkey" "028000121", "iban" "", "swiftcode" "", "name" "chase", "address" "", "splitaddress" { "street" "270 park avenue 270 park avenue, new york", "pobox" "", "city" "new york", "state" "ny", "zipcode" "10017", "country" "usa" }, "emails" \[], "phonenumbers" \[] } } } after 15 minutes of dormancy { "trackingid" "6031770783", "status" "indeterminate", "message" "the user is in a state of dormancy we will send a bank account verification response in case the user completes the journey " } note the data in above fields is subject to availability in the source response parameters 202,96,254,109,109 false true false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type note for us specifically, the cd account (certificate of deposit) , and ach transactions are not supported for cd account types the ach service currently supports account types such as "checking," "savings," "moneymarket," and "loan " this means for cd accounts, we will not have account number and routing number sample error bad request { "error" { "name" "error", "message" " message ", "status" 400, "reason" "validation request", "type" "bad request", "statuscode" "400" } } upstream error { "error" { "name" "error", "message" "upstream is down", "status" 409, "reason" "error", "type" "conflict", "statuscode" "409" } } error response parameters 283,520 false true left unhandled content type left unhandled content type left unhandled content type left unhandled content type left unhandled content type unhandled content type left unhandled content type unhandled content type left unhandled content type left unhandled content type left unhandled content type unhandled content type left unhandled content type left unhandled content type left unhandled content type unhandled content type getting help please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better you can reach out to us at help\@signzy com we strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively we value your feedback and are committed to making your experience smooth and enjoyable our team is dedicated to assisting you with any needs you may have thank you for choosing our services we look forward to helping you!