Products
Solutions
Developers
Pricing
Company
Get started Sign in

Platforms & marketplaces

Collect once. Settle to everyone.

Onboard sub-merchants with BVN, NIN and CAC checks, collect on every rail (cards coming), split at settlement, take your fee and pay out on your schedule.

Read the platforms API (opens docs site)
One ₦30,000 order, split at settlement: the seller, the rider and your fee, each in its own balance.

Three ways to take a payment for someone else.

Pick the one that matches how your business works. You can use more than one.

Buyer Seller seller key You fee

Direct

Your seller has their own PediWave key and charges their customers directly. You add an application fee to each payment and it is paid to you at settlement.

Merchant of record: the seller

Buyer You your key fee Seller on_behalf_of

Destination

You charge with your key, on behalf of the seller, using on_behalf_of. The seller settles the payment and your application fee comes off first.

Merchant of record: the seller

Buyer You Seller A Seller B transfer

Separate charges and transfers

You collect the payment yourself, then transfer to one or more sellers when you choose: after delivery, at the end of the week, or as each job is done.

Merchant of record: you

Or attach splits to the payment itself, and each share is applied at settlement, whichever model you use.

The seller completes checks on their phone. The platform sees capabilities turn on.

Hosted onboarding

Sellers verify themselves. You switch them on.

Create a seller with your key and send them a link. They complete a hosted flow on their phone: BVN, a selfie, an ID document and the bank account they want to be paid into, which is checked by name enquiry. You see each seller's requirements and deadlines, and you get merchant.capability_updated as transfers and payouts turn on (card payments are coming). Identity data goes straight to the identity service and is not stored by PediWave.

Verify your buyers too, by BVN or bank account. Coming soon

Read about onboarding (opens docs site)
A reusable split profile. Payments record the version they used.

Split profiles

Define the split once. Change it without rewriting history.

A split profile sets each party's share by percentage or fixed amount, who bears the fees, where any remainder goes, and who carries refunds. Apply it by code to payments, payment links, invoices and subscriptions, and override a share on a single payment when you need to. Each change creates a new version, and every payment records the version it used. If a seller is suspended or would go over their verification limit, their share goes to the remainder and the payment is flagged.

Read about split profiles (opens docs site)
Each seller settles on its own schedule, net of your fees.

Seller payouts

Every seller paid on their own schedule.

Each seller settles to their own verified bank account: next business day by default, or instantly on request. Your application fees are taken before the seller's share settles, so there is nothing to invoice later. Use separate transfers when you want to decide the moment a seller is paid. Every seller's settlements have their own report.

How payouts work
POST /v1/refunds
POST /v1/refunds
Authorization: Bearer sk_test_…        # your platform key
PediWave-Merchant: mer_01J9ZT5MPK      # Mama Put Kitchen
Idempotency-Key: 9c4e1b7a-6f20-4d8e-a3b5-2e7d1f0c9a64

{
  "payment_intent": "pi_01J9ZV2R8N",
  "amount": 500000,
  "reason": "requested_by_customer"
}

# 201 Created
{ "id": "re_01J9ZV6W3H", "object": "refund", "status": "pending" }
A ₦5,000 refund issued by the platform, as Mama Put Kitchen.

Act on behalf

One key. Every seller. Only yours.

Send your platform key with the seller's id in a header and the call runs as that seller: refunds, balances, settlements, everything they could do themselves. PediWave checks on every request that the seller is one you created, so no key can reach another platform's sellers. Where you want tighter control, create a restricted key scoped to one seller.

Read about acting on behalf (opens docs site)
A refund pulled back pro rata from each party, and a dispute with funds held while evidence is gathered.

Refunds and disputes

Who pays back is decided before it happens.

When a split payment is refunded, each party's share is pulled back in proportion, or you carry the whole refund as the platform. You choose on the split profile, so there is no argument later. When a buyer disputes a payment, the disputed amount is held as soon as the dispute opens; you submit receipts and delivery proof from the dashboard or the API, and the hold is released if you win.

Read about disputes (opens docs site)

Escrow for marketplaces

Selling goods that have to arrive? Coming soon

Take the buyer's payment into escrow and release it to the seller when the order is delivered, on any rail. The money is held, not in the seller's balance, until the buyer approves, an independent attestor confirms, or the agreed waiting time passes.

See escrow

For developers

Three calls to your first paid seller.

  1. Create the seller with your platform key.
  2. Send them the hosted onboarding link and wait for merchant.capability_updated.
  3. Charge on their behalf with your fee and any splits.

Every call that moves money takes an Idempotency-Key, so a retry never charges twice.

Platform integration example
POST /v1/merchants
Authorization: Bearer sk_test_…        # platform key
Idempotency-Key: 3a7f9d20-1c4b-4e6a-8f2d-5b0e7c9a1d38

{
  "type": "sub_merchant",
  "name": "Mama Put Kitchen",
  "country": "NG",
  "representative": { "name": "Chiamaka Eze" }
}

# 201 Created
{ "id": "mer_01J9ZT5MPK", "status": "pending",
  "kyb": { "requirements": { "currently_due":
    ["bvn", "id_document", "settlement_account"] } } }
POST /v1/merchants/mer_01J9ZT5MPK/onboarding/link
Authorization: Bearer sk_test_…

{ "return_url": "https://lagosride.example/sellers/done" }

# 200 OK
{ "url": "https://…/pub/onboarding/mer_01J9ZT5MPK?token=…" }

# Later, to your webhook endpoint
# merchant.capability_updated (card payments: coming)
{ "card_payments": "pending", "payouts": "active" }
POST /v1/payment/intents
Authorization: Bearer sk_test_…
Idempotency-Key: 8e2b5c71-0d9f-4a36-b1e4-7c3a6f5d2e90

{
  "amount": 3000000,
  "currency": "NGN",
  "on_behalf_of": "mer_01J9ZT5MPK",
  "application_fee_amount": 150000,
  "splits": [
    { "destination": "mer_01J9ZT8RDR", "amount": 450000 }
  ],
  "reference": "ORD-8812"
}
₦30,000 for Mama Put Kitchen, ₦4,500 to the rider, ₦1,500 to you. Amounts are in kobo.

Questions from platforms

Who is the merchant of record?

It depends on the charge model. With direct charges, the seller uses their own key and is the merchant of record. With destination charges, you charge on the seller's behalf and the seller is still the merchant of record. With separate charges and transfers, you collect the payment yourself, so you are the merchant of record and you pay sellers by transfer. Talk to us about which model fits your licences and contracts.

Can sellers be paid instantly?

Yes. Each seller has its own settlement setting: next business day by default, or an instant payout on request. Your application fees are taken before the seller's share settles. Instant payout fees are on the pricing page.

How are sellers verified?

Through a hosted onboarding flow you send them as a link. Sellers provide their BVN, a selfie, an ID document and the bank account to be paid into, which is checked by name enquiry; registered businesses can be asked for their CAC certificate. You see each seller's outstanding requirements and deadlines. The identity data goes straight to the identity service and is not stored by PediWave, and BVN data stays in Nigeria. Each seller's verification tier sets what it can receive and withdraw.

Can a seller have their own account number?

Every seller settles to their own bank account, which they add and verify during onboarding. Dedicated virtual account numbers at a partner bank, where every credit is split automatically, are coming.

Can a buyer's money be held until the order arrives?

Today you can collect with separate charges and transfer to the seller after delivery. Escrow, coming soon, holds the buyer's payment outside the seller's balance and releases it when the order is delivered. See escrow.

Build the platform your sellers deserve.

Tell us how your sellers get paid today. We will map it to PediWave with you.