FinVeil Connect

Split payments. Automated payouts. Built for South African marketplaces.

Collect a payment and split it between multiple parties using Paystack subaccounts and split codes, all through one API. Paystack settles each party’s share directly to that party’s Paystack subaccount. Verified end to end in Paystack test mode; live splits are not switched on yet.

Illustrative — not customer data

How it works

One payment in. Three settlements out.

A customer pays once on Paystack's checkout. Paystack splits the charge at source and settles each share to that party's Paystack subaccount. Illustrative amounts.

Customer pays

R 1,000

via Paystack checkout

FinVeil Connect

Paystack split

Validates split rules
Refuses loss-making fee setups
Creates the Paystack split code
Paystack settles each party

Restaurant

Paystack subaccount

R 700

Driver

Paystack subaccount

R 200

Platform

Remainder of the split

R 100

Built for every platform model

From food delivery to ticketing — one Paystack split.

Food delivery

Split each order between restaurant, driver, and platform at checkout.

Freelance marketplaces

Split each project payment between the contractor and your platform fee.

Property rentals

Split a rent payment between landlord, agent, and your service fee.

E-commerce aggregators

Split a checkout between sellers. Each share settles on Paystack’s settlement schedule.

Events & ticketing

Split each ticket sale between the organiser, a partner and your platform fee.

For developers

Create accounts, split, charge.

Create a connected account

create-account.bashbash
curl -X POST https://api.finveil.money/api/connect/accounts \
  -H "X-API-Key: fvk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name":           "Example Pizza Co.",
    "email":          "owner@example.co.za",
    "bankCode":       "<PAYSTACK_BANK_CODE>",
    "accountNumber":  "<ACCOUNT_NUMBER>",
    "payoutSchedule": "DAILY"
  }'

# => 201 { "id": "<ACCOUNT_ID>", "subaccountCode": null, ... }
# An ADMIN session then activates it on Paystack:
#    POST /api/connect/accounts/<ACCOUNT_ID>/activate

Charge against an active split

collect-with-splits.bashbash
curl -X POST https://api.finveil.money/api/payment-links \
  -H "X-API-Key: fvk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amountCents":    10000,
    "currency":       "ZAR",
    "description":    "Order 1042",
    "provider":       "PAYSTACK",
    "expiresInHours": 2,
    "splitCode":      "SPL_xxxxxxxx"
  }'

# => 201 {
#      "id":         "<LINK_ID>",
#      "status":     "ACTIVE",
#      "paymentUrl": "https://checkout.paystack.com/<ACCESS_CODE>"
#    }

Pricing

Agreed per platform.

FinVeil's share is the part of each split not assigned to your parties, agreed with each platform before go-live. Paystack's fees are deducted by Paystack. Live splits are not switched on yet.

How it works

Three steps.

1

Onboard the parties

Create a connected account for every seller or partner, then activate it as a Paystack subaccount.

2

Collect once

Create a split, then a payment link that charges against it. The customer pays on Paystack’s hosted checkout.

3

Split at source

Paystack splits the charge per the split code and settles each share on its own settlement schedule.

Benefits

Why teams choose FinVeil Connect.

Split between any number of parties

Up to 50 legs per split, by fixed amount or percentage. Loss-making fee setups are refused before they reach Paystack.

One rail: Paystack

Splits run on Paystack only. Other providers do not support splits in FinVeil.

Refunds and chargebacks

Paystack debits refunds and chargebacks on split payments from FinVeil’s balance. Reversals with each party are handled manually today.

Settlement SMS

Each connected account with a phone number gets an SMS for its share when a split payment settles.

Who it's for

Marketplace foundersPlatform engineersOperations leads

Developer-friendly

Drop it into your stack.

REST API with an OpenAPI reference, and a test mode on the same API. Sign up for test API keys without a sales call. SDKs are available on request.

Read the docs
connect.bashbash
curl -X POST https://api.finveil.money/api/connect/splits \
  -H "X-API-Key: fvk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "paymentReference":  "order-1042",
    "parentAmountCents": 10000,
    "splitMode":         "PERCENTAGE",
    "bearerType":        "ALL_PROPORTIONAL",
    "splits": [
      { "accountId": "<MERCHANT_ACCOUNT_ID>", "sharePercent": 90 },
      { "accountId": "<PARTNER_ACCOUNT_ID>",  "sharePercent": 7 }
    ]
  }'

# => 201 { "id": "<SPLIT_ID>", "splitCode": null, "status": "PENDING", ... }
# An ADMIN session then activates it: POST /api/connect/splits/<SPLIT_ID>/activate

Ready to try FinVeil Connect?