Skip to content

Sync

Collect for your sellers, without ever touching their account.

Your marketplace links your sellers' Wajub accounts to yours. One header on your usual calls, and the payment belongs to the seller while your commission is credited to you. The seller authorises the connection from their own Wajub account.

The seller authorises it themselves · Commission per connection

PlatformChecksSellersBuyerOverviewCreate connectionVolumeXAF 3,120,000CommissionsXAF 81,450NDNkolo DécoSucceededXAF 32,000Orange MoneyECEbène ChaussuresSucceededXAF 27,500MTN MoMo9:41Mboa MarketWax print dressSold by KomerxeXAF 50,000Pay with MTN MoMo

Why Sync

A platform collecting for others, without becoming their bank.

Every payment stays the seller's. Your platform keeps control of the experience and takes what is due to it.

A single header
Add X-Sync to an ordinary call: the payment, the customer and the refund belong to the connected seller.
The seller stays in control
They open an authorisation link, sign in on their side, see the access requested and accept. You never handle their credentials.
Your commission, automatically
Each connection carries its pricing rule. On a successful payment, the commission is computed and credited to your platform.
Access you choose
Payments, refunds, transfers, customers: you request the capabilities your platform needs, and the seller sees them before accepting.
Their events on your side too
A payment, refund or transfer on a connected account fires the seller's webhook and a copy to your endpoints.
A readable lifecycle
Pending, active, cancelled, expired: four states, and the status reads at any time on the connection.

Commission

Your commission, connection by connection.

Each connection carries its rule: a percentage, a fixed amount, a floor and a cap. It applies to every successful payment by the seller.

  • Percentage and fixed amount add up, then the floor and the cap apply.
  • Once the connection is accepted, a new rule waits for the seller's approval.
  • A zero commission is not recorded.

How it works

Four steps, and the seller keeps their account.

You invite, the seller accepts, your calls carry their identity. Their account is never created on their behalf.

Follow the quickstartAPI reference

POST /accountsYou invite
You create the connection and receive a single-use authorisation link.
authorization_urlThe seller authorises
The seller opens it, signs in to their Wajub account and accepts the requested access.
X-SyncYou collect
Your calls carry the X-Sync header: the payment is attributed to their connection.
fee.receivedYou get paid
On every successful payment, your commission is computed and credited.
import { Wajub } from '@wajub/node'

const wajub = new Wajub({ secretKey: process.env.WAJUB_SECRET_KEY! })

const account = await wajub.accounts.create({
  reference: 'atelier-sika',
  capabilities: ['payments', 'refunds', 'customers'],
  pricing: {
    percentage_fee: 2.5,
    fixed_fee: 100,
    max_fee: 5000,
    currency: 'XAF',
  },
})
console.log(account.authorization_url)

// After the seller authorizes
const payment = await wajub.payments.create({
  amount: 50000,
  currency: 'XAF',
  customer: { email: 'buyer@example.com' },
}, { sync: account.id })

Response201 Created

{  "account": {    "id": "acc_7Yh2MpL4tRb3nP8sZcXv",    "status": "pending",    "authorization_url": "https://sync.wajub.com/oauth/v2/authorize?access_token=qT9vLm2Xw8RbN4pZkD7sHc5JwYe3"  }}

Signed webhookX-Wajub-Signature

{  "event": "fee.received",  "data": {    "amount": 1350,    "currency": "XAF",    "account": { "id": "acc_7Yh2MpL4tRb3nP8sZcXv" }  }}

Response201 Created

{  "account": {    "id": "acc_7Yh2MpL4tRb3nP8sZcXv",    "status": "pending",    "authorization_url": "https://sync.wajub.com/oauth/v2/authorize?access_token=qT9vLm2Xw8RbN4pZkD7sHc5JwYe3"  }}

Signed webhookX-Wajub-Signature

{  "event": "fee.received",  "data": {    "amount": 1350,    "currency": "XAF",    "account": { "id": "acc_7Yh2MpL4tRb3nP8sZcXv" }  }}

Frequently asked questions

Another question? Talk to sales

Who holds the funds of a payment made through Sync?
The payment belongs to the connected seller's account, which keeps the proceeds. Your platform receives the commission configured on that connection.
Can I split a single payment between several sellers?
No. A payment carries one connection. A cart with two sellers is two payments. Instalment payments, by contrast, concern a single payer and have nothing to do with marketplaces.
Do I have to create my sellers' accounts?
No, and you cannot. You send an invitation: the seller signs in to their Wajub account, or creates one at that point, then accepts the requested access.
What access can I request?
Eleven capabilities can be requested: read, write, payments, transfers, refunds, disputes, customers, invoices, subscriptions, analytics and settings. Once the connection is accepted, changing them needs the seller's approval.
How do I pay a seller?
It depends on the account type. A direct account belongs to the seller: their payments land there and they withdraw their money themselves. A Lite account has no Dashboard: Wajub pays out its balance on the schedule you set (daily, weekly or monthly), or on demand with POST /accounts/{id}/payouts.
Which plans include Sync?
Scale and Enterprise include it. On other plans, Sync is available as an add-on: its price is on the Pricing page.

Connect your first seller.

Sync is included in the Scale and Enterprise plans. Create an account and test the invitation end to end.