Build with FinVeil.
A REST API for payment links, split payments, collections and proof receipts. Sign up and your account starts in test mode.
Quick start
Your first test payment link, in one call.
curl -X POST https://api.finveil.money/api/payment-links \
-H "X-API-Key: fvk_test_<SECRET>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1001" \
-d '{
"amountCents": 50000,
"currency": "ZAR",
"description": "Order 1001",
"provider": "PAYSTACK",
"expiresInHours": 24
}'Replace fvk_test_<SECRET> with a test key from your dashboard. The response includes a paymentUrl that opens a Paystack test checkout.
API surface
What the API covers today.
Collections
Payment links and collections on Paystack hosted checkout, verified end to end in test mode.
ExploreDisbursements
Payout batches with maker-checker approval. No payout rail is connected for live money yet.
ExploreTransaction Proof
SHA-256 receipts, batched hourly into a Merkle root held by FinVeil. Public-ledger anchoring is not live.
ExploreRates
Daily SARB snapshot of repo, prime, CPI and FX rates, with source and timestamp.
ExploreTax
SA income tax estimates and year-on-year comparison.
ExploreWebhooks
Signed /v1 payment, payout and refund events, with retries and replay.
ExploreSDKs
SDKs available on request.
We have SDK source code for these languages, but none is published to a package registry yet. Until then, call the REST API directly.
Java
Not publishedPython
Not publishedNode.js
Not publishedGo, Rust, PHP, .NET, Kotlin, Flutter
Not publishedTest mode
Test against the production API.
No signup needed. Your browser answers each request with sample data, and nothing reaches the FinVeil API.
Test card
4084 0840 8408 4081
Paystack Visa test card. CVV 408, any future expiry.
Test mode
Paystack test checkout
Test payments go through Paystack's test environment. The Yoco and PayFast integrations use sandbox credentials. The Ozow and Stitch (PayShap, RTC) adapters are built but not connected.
Safe retries
Idempotency keys
Send an Idempotency-Key header on a POST. Repeating the same key and body within 24 hours returns the first response again. The same key with a different body returns 409.
Channels
USSD menu simulator
Step through the FinVeil USSD menu in this in-browser handset. The callback endpoint POST /api/channels/ussd/callback (Africa's Talking format) is built, but no USSD short code is registered and the channel isn't connected. The code in the simulator is a placeholder, not a number you can dial.
Session log
Every POST /api/channels/ussd/callback request and response.
// No requests yet. Dial *123# to begin.
Ready to build?
Get a test key and make your first call. Going live needs KYC and approval from FinVeil, so talk to us when you're ready.