Business Account Check

Copy Markdown View Source

Tink.BusinessAccountCheck verifies bank account ownership for business entities. It extends Account Check with company-specific fields such as registered company name and company number.

Overview

Business Account Check is designed for B2B payment flows where you need to confirm that the payer or payee is the legitimate owner of a business bank account before initiating a transfer.

Starting a Session

{:ok, session} = Tink.BusinessAccountCheck.create_session(client,
  user_id:      "business_user_456",
  redirect_uri: "https://yourapp.com/business/callback",
  market:       "GB"
)

# Redirect the business user to:
session.url

Retrieving the Report

{:ok, report} = Tink.BusinessAccountCheck.get_report(client, session.id)

IO.inspect(report.company_name)    # "Acme Ltd"
IO.inspect(report.company_number)  # "12345678"
IO.inspect(report.iban)            # "GB29NWBK60161331926819"
IO.inspect(report.verification_status)  # "VERIFIED"

Verification Status Values

StatusMeaning
VERIFIEDAccount ownership confirmed for the given company
PARTIALSome fields verified but not all
FAILEDVerification could not be completed

Report Fields

FieldDescription
company_nameRegistered company name
company_numberCompanies House / local registry number
ibanIBAN of the verified account
account_holder_nameName on the bank account
verification_statusOutcome of the verification
provider_nameBank that was used for verification
created_atTimestamp of the verification

Credential Management

Business users may have multiple sets of credentials:

{:ok, credentials} = Tink.BusinessAccountCheck.list_credentials(client, user_id)
{:ok, _}           = Tink.BusinessAccountCheck.delete_credential(client, user_id, cred_id)