Jetpay Developer Guide
Manage payment methods
Add a contact bank account
9 min
before you can debit or credit a customer’s bank account, the account must be stored and associated with a contact in jetpay in this guide, you will learn how to add a bank account to an existing contact once saved, the bank account can be referenced by its identifier when creating debit or credit transactions prerequisites docid zgmim7qkrraox9jjaqrl docid\ bzwf0wyooqbkgsfugenh0 flow overview sequencediagram participant partner as platform participant api as jetpay partner >>+api create and associate new bank account to contact note right of api put /contact/bank account api >> partner r bank account created note right of api 201 created implementation details collect account details from your customer for eft payments, your application is responsible for collecting the customer’s bank account details this typically involves presenting a secure form within your frontend, transmitting the data to your backend, and calling the create contact endpoint from a server side environment bank account details should never be sent directly from the browser to the jetpay api create the bank account for an existing contact endpoint put /contact/bank account https //extapi jetpay baselinepayments com/docs#tag/bank accounts (v0)/operation/create bank account contact bank account put curl https //extapi demo jetpay baselinepayments com/contact/bank account \\ x put \\ h "authorization bearer \<your api token>" \\ h "content type application/json" \\ d '{ "institution" "bmo", "title" "business chequing", "holder name" "john smith", "contact id" "contact 123", "account type" "chequing", "transit number" "27601", "institution number" "001", "account number" "1111111", "holder address" "123 happy st", "holder address postal code" "a1a1a1", "holder address city" "vancouver", "holder address country" "ca", "holder email" "johnsmith\@mail com" }'import requests url = "https //extapi demo jetpay baselinepayments com/contact/bank account" headers = { "authorization" "bearer \<your api token>", "content type" "application/json" } payload = { "institution" "bmo", "title" "business chequing", "holder name" "john smith", "contact id" "contact 123", "account type" "chequing", "transit number" "27601", "institution number" "001", "account number" "1111111", "holder address" "123 happy st", "holder address postal code" "a1a1a1", "holder address city" "vancouver", "holder address country" "ca", "holder email" "johnsmith\@mail com" } response = requests put(url, json=payload, headers=headers) print("status code ", response status code) print("response body ", response text)const url = "https //extapi demo jetpay baselinepayments com/contact/bank account"; const payload = { institution "bmo", title "business chequing", holder name "john smith", contact id "contact 123", account type "chequing", transit number "27601", institution number "001", account number "1111111", holder address "123 happy st", holder address postal code "a1a1a1", holder address city "vancouver", holder address country "ca", holder email "johnsmith\@mail com" }; fetch(url, { method "put", headers { "authorization" "bearer \<your api token>", "content type" "application/json" }, body json stringify(payload) }) then(response => { console log("status code ", response status); return response text(); }) then(data => { console log("response body ", data); }) catch(error => { console error("error ", error); }); for sandbox testing, please use the following values for bank account information (all other fields you can specify any value you'd like that passes field validation) "institution" "bmo" "transit number" "27601" "institution number" "001" handle the response if a bank account is successfully created, a response will be returned with an http status code of 200, and a response body containing the identifier of the newly created bank account { "identifier" "bank 456" } we do not return any sensitive bank account details in the creation response this is to ensure sensitive financial information is not exposed, transmitted, or stored outside of our secure environment, reducing your pci/compliance scope and minimizing security risk instead, we return a unique identifier that should be securely stored on your side and used for initiating future docid 08lam2gi8077asxe8snp6 using the saved bank account with a contact and a saved contact bank account, you can docid 08lam2gi8077asxe8snp6 and docid\ ppcmv4qzuyvzhzfk7 wyt directly, without requesting payment information from your customer/supplier each time multiple bank accounts per contact a contact can have multiple bank accounts associated with it jetpay does not impose a limit on how many bank accounts may be stored for a single contact this allows your platform to support scenarios where a customer or supplier may use different accounts for different transactions if your system allows contacts to manage multiple bank accounts, you should store the bank account identifier returned during creation along with the title you assign to the account this allows your application to clearly identify which account should be used for future transactions you can also retrieve basic information about a saved bank account at any time using the get /bank account/{identifier} https //extapi dev jetpay baselinepayments com/docs#tag/bank accounts (v0)/operation/get bank account bank account identifier get endpoint this endpoint returns non sensitive metadata such as the identifier, title, account type, and ownership