Skip to content
Tranzaq

Use cases / Marketplaces and platforms

Pay sellers and drivers as the work gets done.

Create payouts from your own software with the API, and hear about every result by webhook, without paying anyone by hand.

A woman in a blue uniform sits on a stool selling a pyramid of eggs

Sound familiar?

When thousands of people earn on your platform, paying them by hand does not scale, and support gets flooded with "where is my money?".

Payouts become a full-time job

Every week someone exports earnings, builds a list and sends payments. As you grow, that person cannot keep up, and the list is never quite right.

"Where is my money?"

When a seller is not paid, they message support. Support asks finance. Finance searches through transfers. Nobody has one place with the answer.

Retries cause double payments

A timeout in your own system, a retry, and a driver is paid twice. Or a batch that failed halfway is run again from the top.

You cannot test safely

Building payouts against real money is risky, so the integration is rushed, and the first real failure happens in front of customers.

How it looks in practice

An example weekly payout run

This is an illustration of how a delivery platform might pay its riders each week with the API. It is not a real customer.

  1. 1Your developer

    Build it in test mode first

    Create test credentials, add fake money, and run the whole flow against a separate test database. Nothing in test mode can touch real money or real people.

    The developers page with credentials and the Test and Live switch
  2. 2Your server

    Sign in with OAuth

    Your server trades a client ID and secret for a token that lasts an hour. The credentials carry only the scopes you gave them, and can be revoked at once.

    The developers page with credentials and the Test and Live switch
  3. 3Your server

    Send the week's earnings as one batch

    Each rider is a person with a verified account. Your system creates a batch with an Idempotency-Key, so a retry returns the same batch instead of creating a second one.

    The list of payout batches
  4. 4Finance

    Approvals follow your rules

    A batch made through the API follows the same rules as one made on the website: someone other than the credentials' owner approves it, by the amounts and steps you have set.

    The approval queue with batches waiting for review
  5. 5Your server

    Hear about every result

    Signed webhooks tell you when each payment succeeds or fails, with the reason. Your app updates the rider's earnings screen, so support is not asked.

    A payout batch with a status on every payment

The people, figures and screens in this walkthrough are illustrations built from demo data. They are not real customers.

Before and after

What changes when payouts stop being a chore.

Making payouts
TodayA person builds lists and sends payments
With TranzaqYour software creates the batch through the API
A retry
TodayRisk of paying someone twice
With TranzaqThe same Idempotency-Key returns the same batch
Knowing the result
TodaySupport searches through transfers
With TranzaqA signed webhook for every payment, with a delivery log and resend
Building and testing
TodayAgainst real money, or not at all
With TranzaqA test mode with its own database and a pretend bank
Access
TodayA shared login with full power
With TranzaqScoped credentials, revocable instantly

Who does what

Everyone has a clear part, and no one holds all the keys.

Roles decide who can prepare, who can approve and who can only look. You choose who has which.

01

Developer

Creates credentials, builds and tests the integration, and watches the webhook delivery log.

02

Finance

Funds the balance and approves batches under the rules you set.

03

Support

Answers sellers from the payment status and reason, instead of asking finance.

04

Operations lead

Holds the admin role: manages team access, credentials and approval rules.

Built in, not bolted on

The protections that matter most for this.

These are part of how every payout works, not extras you switch on.

Idempotency on every create call

Sending the same key and the same request returns the first answer, marked as a replay. A different request on the same key is refused.

Scopes and instant revoking

Credentials can be limited to reading balances, or to creating batches. Revoking them stops every token already issued.

Limits per credentials

Calls are limited for each set of credentials, so one busy integration never slows another.

Signed webhooks with retries

Every event is signed. If your server is down, we retry with longer waits, and you can resend any delivery from the log.

Practical questions

What people ask before they start.

Something not covered here? Ask us, and we will answer plainly.

Is there a sandbox?

Yes. Test mode has its own database and a pretend bank. Add fake money with one call, and choose the outcome of a payment by the last digits of the account number.

Can we pay many thousands of people?

A batch holds up to 1,000 payments. Create as many batches as you need, each with its own key.

How do we know a payment failed, and why?

You get a payout.item.failed webhook with a failure code and reason, and you can fetch the batch at any time to see every payment's status.

Does a batch created by the API still need approval?

Yes. It follows your approval rules, exactly like a batch made on the website. That is deliberate: software should not be able to move money with no one watching.

Which languages are supported?

It is a plain HTTPS API with JSON, so any language works. The docs show curl, JavaScript, C# and Python.

Get started

Stop paying your platform's people by hand.

Create test credentials and make your first payout against fake money this afternoon.

A man selling coconuts under a tree, holding one in his hand