Developer Portal

API V2 Active,
7 Resources

REST API with 7 modules (accounts, Pix payments, invoices, customers, statements, login, notification), a JS widget for client-side integration and white-label docs. Your developers can integrate everything without knowing Ezcale exists.

first-transaction.sh
# Create a charge in 3 lines
curl https://plataforma.ezcale.com/p/api/v2/payments \
  -H "Authorization: Bearer sk_test_..." \
  -d amount=15000 \
  -d currency="BRL" \
  -d payment_method="pix"

# Response
{
  "id": "ch_1a2b3c4d",
  "status": "pending",
  "amount": 15000,
  "pix_qr_code": "00020126..."
}
Quick Start

Integration in 3 Steps

From API key to the first Pix charge in production.

1

Receive Your API Keys

The tenant receives API credentials during onboarding. Bearer token authentication for all requests.

Authorization: Bearer sk_live_...
2

Create a Pix Payment

Use API V2 to create a Pix charge. The config-driven engine handles routing and normalization automatically.

POST /api/v2/payments { method: "pix" }
3

Integrate the JS Widget

Add the JS widget to the tenant's frontend for client-side checkout. White-label under the tenant's brand.

<script src="ezcale-widget.js"></script>
Developer Tools

Everything Developers Need, Nothing in the Way

Integration tools your developers will want to use.

API V2 β€” 7 Modules

Accounts, Payments (Pix), Invoices, Customers, Statements, Login and Notification. Config-driven architecture: no custom code required per endpoint.

REST / JSON / Config-driven

Widget JS Client-Side

JavaScript component for direct integration into the tenant's frontend. Checkout, payment links and data capture β€” white-label, no iframe.

Vanilla JS / Embed

White-Label Docs (Slate)

Slate-style documentation, white-labeled under the tenant's brand. Request/response examples for each endpoint. Copy, paste and it works.

Slate / White-label

Integrated Webhooks

Receive transaction, transfer and onboarding events in real time. 5 specialized handlers with an OOP pipeline.

5 handlers / OOP pipeline

API Config-Driven

Extensible engine for new endpoints: define routes, validation and handlers through configuration β€” no boilerplate code required. New features without breaking changes.

Config-driven / Extensible

Auth & Multi-Tenant

Bearer token authentication with per-tenant isolation. Every request is automatically routed to the correct context. No cross-tenant leaks.

Bearer / Tenant isolation
Code Samples

Copy, Paste, It Works

Real examples for each endpoint. No unnecessary abstractions.

create-charge.sh
# Create a Pix charge with a split
curl -X POST https://plataforma.ezcale.com/p/api/v2/payments \
  -H "Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 25000,
    "currency": "BRL",
    "payment_method": "pix",
    "customer": {
      "name": "Maria Silva",
      "tax_id": "123.456.789-00"
    },
    "split": [
      { "account": "acc_platform", "percentage": 10 },
      { "account": "acc_merchant", "percentage": 90 }
    ]
  }'

# Response 201 Created
{
  "id": "ch_9x8w7v6u",
  "status": "pending",
  "amount": 25000,
  "pix_qr_code": "00020126580014br.gov.bcb...",
  "pix_qr_code_url": "https://api.ezcale.com/qr/ch_9x8w7v6u.png",
  "expires_at": "2026-03-31T23:59:59Z"
}
create-charge.js
// Illustrative example β€” SDK in development
// For now, use cURL or fetch directly with the REST API

const response = await fetch('https://plataforma.ezcale.com/p/api/v2/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: 25000,
    currency: 'BRL',
    payment_method: 'pix',
    customer: {
      name: 'Maria Silva',
      tax_id: '123.456.789-00'
    }
  })
});

const charge = await response.json();
console.log(charge.pix_qr_code);
create-charge.php
<?php
// Illustrative example β€” SDK in development
// For now, use cURL directly with the REST API

$ch = curl_init('https://plataforma.ezcale.com/p/api/v2/payments');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc',
        'Content-Type: application/json'
    ],
    CURLOPT_POSTFIELDS     => json_encode([
        'amount'         => 25000,
        'currency'       => 'BRL',
        'payment_method' => 'pix',
        'customer'       => [
            'name'   => 'Maria Silva',
            'tax_id' => '123.456.789-00',
        ],
    ])
]);

$response = curl_exec($ch);
$charge   = json_decode($response);
echo $charge->pix_qr_code;

Each Developer Won Over = Pipeline of 5 to 50 Merchants

When a developer integrates Ezcale into the tenant's platform, all of that tenant's merchants transact through us. Exceptional developer experience is not a cost — it is a better B2B2B acquisition channel. In Brazil, the bar is low: mediocre docs and sandboxes that do not work. We are the exception.

FAQ

Frequently Asked Questions

Does the API have a sandbox for testing?

API V2 runs directly in production with the tenant's credentials. There is no separate sandbox environment β€” onboarding is done with the integration team to ensure everything works before go-live.

Which modules does API V2 cover?

7 active modules: Accounts, Payments (Pix), Invoices (charges), Customers (customer records), Statements, Login (authentication) and Notification (alerts). All config-driven.

How does white-label work for the tenant?

Ezcale operates as invisible infrastructure. Slate-style docs, the JS widget and transactional emails display the tenant's brand. Merchants never see "Ezcale" — only the client's brand.

Is there a self-service portal for developers?

There is no public self-service portal. The tenant provisions access to docs and credentials during onboarding. Slate documentation is white-labeled and available through the tenant's domain.

Ready to Integrate?

API V2 with 7 modules, a JS widget and white-label docs. Our integration team supports you from onboarding through go-live.