Buyer Bank Account Maintenance

Adding Bank Accounts and setting up default bank accounts for buyers

Update to Bank Account Maintenance

All bank accounts will now be stored in a bankAccounts array on the buyers, rather than maintained in individual buyer properties.

Previously bank accounts for default payment methods were set up up like this on buyers:

"checkIssuing": {
  "bankAccountNumber": "****3333",
  "bankRoutingNumber": "****0030"
}
"virtualCard": {
  "bankAccountNumber": "****3333",
  "bankRoutingNumber": "****0030"
}
"ach": {
  "bankAccountNumber": "****3333",
  "bankRoutingNumber": "****0030"
}

These bank accounts have now moved into a bankAccounts array on the buyer that stores all of the buyers bank accounts. Inside each individual bank account we store an array indicating which payment types that bank account is used for by default.

Add Multiple Bank accounts without default payment types

You can achieve this by providing multiple bank accounts in the bank accounts array on the buyer, with each account set up with no defaults

"bankAccounts":
[
  {
    "defaults": [],
    "bankName":"Bank Name 1",
    "accountNumber":"11111111111111111",
    "routingNumber":"111111111",
    "accountType":"checking"
    
  },
  {
    "defaults": [],
    "bankName":"Bank Name 2",
    "accountNumber":"22222222222222",
    "routingNumber":"222222222",
    "accountType":"checking"
  }
  ]

Change/Add the payment types of the associated bank type for buyer

You need to include the payment types you want to be associated with your bank account. instead of providing the buyer with an "ach" object full of bank account details, that bank account would be provided in the bankAccounts array with "ACH" in the "defaults" array for that bank account, indicating this account should be the default account for "ACH".

There can not be overlapping defaults across bank accounts in the bank account array, for instance only one bank account in this array may include "ACH". The same bank account can be used as the default for multiple payment methods, but multiple bank accounts cannot be set up as the default for one payment method.

"bankAccounts":
[
  {
    "defaults": ["VCN", "CHK", "ACH"],<----- Any of these can be provided in this array to set up
  "bankName":"Bank Name",
  "accountNumber":"11111111111111111",
  "routingNumber":"111111111",
  "accountType":"checking"
  }
]

Buyer Example Payload with the bank accounts

{
  "status": "Received",
  "acl": [],
  "associatedInstitutionId": "d434346d-a2ef-510e-bf2d-cc7acc29e283",
  "associatedInstitutionName": "Quality Assurance Payment Institution",
  "bid": "test-buyer-maintenance",
  "created": "2020-10-22T13:12:19.602Z",
  "creator": {
    "id": "d8a485ad-0f5a-5328-b6fe-8856f57a144c",
    "username": "spencer.lewis"
  },
  "deleted": false,
  "externalStatus": "Inactive",
  "id": "8a70b73e-4cef-594d-b24b-58ee4b9b31eb",
  "instVcnHost": "falcons",
  "modified": "2020-10-22T13:12:19.602Z",
  "modifier": {
    "id": "d8a485ad-0f5a-5328-b6fe-8856f57a144c",
    "username": "spencer.lewis"
  },
  "name": "Test Buyer Maintenance",
  "paymentFileType": "6bd23954-df7c-5c8c-a1ec-c43bb15bbe76",
  "isAlternateMailingAddress": false,
  "ssnEinType": "EIN",
  "vcnHostConfig": {
    "falcons": {
      "paymentReferenceNumber": "906103336374"
    },
    "united": {}
  },
  "bankAccounts": [
    {
      "bankName": "Test Bank",
      "accountNumber": "123456789",
      "routingNumber": "123456789",
      "defaults": [
        "VCN",
        "ACH"
      ],
      "accountType": "checking"
    }
  ],
  "standardCardRules": [],
  "lodgedCardRules": [],
  "achEnabled": false,
  "virtualCardEnabled": false,
  "contacts": [],
  "address": {
    "street1": "2001 Westside Pkwy",
    "city": "Alpharetta",
    "state": "GA",
    "country": "USA",
    "postalCode": "30312"
  },
  "contact": {},
  "checkIssuing": {
    "bankAccountId": ""
  },
  "failOverPayment": {
    "enabled": false
  },
  "achPaymentRoute": "MX Merchant",
  "legalName": "",
  "website": "",
  "ownershipType": "",
  "legalEntityType": "",
  "stateOfOrganization": "",
  "taxId": "",
  "virtualCard": {
    "exposureTracking": {},
    "billing": ""
  },
  "ach": {
    "exposureTracking": {},
    "billing": ""
  },
  "owners": []
}

Previous response

{
  "bankIdMap": {
    "UI-ID": "1bbbea2819cd6f462afa73bf360c17cbe6e40affafb94da07b53ef2d91094726"
  },
  "ach": {
    "exposureTracking": {}
  },
  "virtualCard": {
    "exposureTracking": {}
  }
}

New Buyer Example Response with the bank accounts (empty response, similar to institution and network APIs)

204 NO CONTENT