Payment Gateway
One API in front of South African payment providers.
One collections API with provider adapters and signature-verified Paystack webhooks. Paystack card checkout is verified end to end in test mode; Yoco and PayFast run against sandbox credentials; the Ozow adapter is built but not yet connected. FinVeil has not processed live customer volume yet. Collections without a split settle into FinVeil’s Paystack merchant balance.
Integration architecture
One API. Multiple payment providers.
Your business systems trigger payments. FinVeil's routing engine selects a provider and rail for each one and records why.
Business triggers
FinVeil Gateway
Orchestration layer
Licensed providers
Payment providers
The providers behind FinVeil
Split payments settle at source to each party's Paystack subaccount. Other collections settle into FinVeil's Paystack merchant balance. Ozow and Stitch adapters are built but not yet connected.
Integration status
Paystack: Verified in test mode
Card collections, payment links and split payments verified end to end in Paystack test mode. Live processing is not switched on yet.
Integration status
Yoco: Sandbox
Card collection integration built. It runs against Yoco test credentials.
Integration status
PayFast: Sandbox
Integration built. It runs against the PayFast sandbox.
How it works
Three steps.
Single API call
POST /api/payments/collect with amount, email, provider.
Hosted checkout
The customer pays on the provider’s hosted checkout page. FinVeil does not store card numbers.
Verified webhooks
Paystack webhooks are verified with HMAC-SHA512 before a payment is marked as settled.
Benefits
Why teams choose Payment Gateway.
No automatic live failover
Failover along a recorded fallback order runs in test mode only. Automatic live failover is on the roadmap; it is deliberately off for real money to avoid double charges.
Explicit provider choice
You name the provider on each /api/payments/collect call. Scored routing across providers is part of the /v1 API.
Unified history
Transactions from every connected provider appear in one payment history.
ZAR today
Collections are in ZAR. Other currencies are not enabled yet.
Who it's for
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 docscurl -X POST https://api.finveil.money/api/payments/collect \
-H "Authorization: Bearer $FINVEIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "PAYSTACK",
"paymentMethod": "CARD",
"amount": 500.00,
"email": "customer@acme.co.za",
"callbackUrl": "https://acme.co.za/thanks"
}'
# => authorization_url redirects the customer to the hosted checkoutWorks with