Skip to content
ZTL robot emerging from a laptopZTL robot emerging from a laptop

Build with ZTL

Onboard companies, connect bank accounts, and perform payments through one integration.

Connect companies

Onboard a company, create bank consent, and retrieve account information.

Move money

Initiate domestic, cross-border, bulk, and payroll payments.

Use ZTL FX

Execute international payments without relying on the bank integration.

Before integrating,

  1. Obtain a sandbox client ID and client secret from ZTL.
  2. You also need an HTTPS return URL that can receive the browser after bank or signing authentication.
  3. A secure server-side store for tokens, consent IDs, account IDs, payment IDs, payroll IDs, and ZTL request IDs.
  1. Obtain credentials. Request sandbox credentials and confirm the product areas enabled for your partner.
  2. Authenticate. Exchange the credentials at /v2/connect/token and cache the access token until shortly before it expires.
  3. Onboard the company. Start onboarding, send the user to the returned URL, and poll until the status is Accepted.
  4. Create consent. Start a bank consent and let the user complete the bank’s redirect/SCA flow.
  5. Fetch and store accounts. Retrieve the authorized account list promptly after consent completion and store the stable identifiers your integration needs.
  6. Initiate work. Create a payment or payroll separately from its approval.
  7. Complete approval. Start approval, send the user through SCA, and support another approver or a fresh approval when the resource remains unsigned or partly signed.
  8. Poll resource status. Continue until each payment or payroll transaction reaches a final state. Reconcile ambiguous results before sending another create request.

The getting-started guide turns this journey into an implementation checklist. The API reference is generated from the same OpenAPI contract available at /ztl-api-v2.full.yaml.