One API. Get paid by every South African bank.
Bucala is a payment platform built for South Africa. One integration, with the request formats, objects and webhooks developers already know, connects you to South African bank rails: PayShap, EFT and DebiCheck first, with cards to follow.
Bucala is in development. The sandbox uses simulated banks, and no real money moves yet.
Create a payment
POST https://api.bucala.co.za/v1/payment_intents
amount=15000
currency=zar
payment_method_types[]=za_payshap
bucala_payer_shap_id=0820000001@capitec
confirm=true
How a payment moves
Every step is a clear API object and a signed event your system can act on.
-
You create a PaymentIntent
Send the amount in cents and the payment method, such as
za_payshap. Bucala returns a PaymentIntent with its status and the next step. -
The payer approves in their banking app
With PayShap Request, the payer approves the payment where they already bank. Your checkout shows a short "check your banking app" screen.
-
The bank confirms and the ledger records it
The PaymentIntent moves to
succeeded, and a balanced double-entry record is written. Your webhook receives a signedpayment_intent.succeededevent. -
Funds become available
A balance transaction tracks the money from pending to available, on a schedule you can see.
-
You pay out
Send available funds to any South African bank account by PayShap in seconds, or by EFT the next day. Bucala checks the account with the bank before any money moves.
Payment methods
One integration for the ways South Africans pay. "In the sandbox" means you can build and test against it today with simulated banks.
| Method | What it does | Status |
|---|---|---|
| PayShap Request | The payer approves a payment request in their banking app. | In the sandbox |
| PayShap payouts | Pay a supplier, seller or customer to their ShapID in seconds. | In the sandbox |
| Refunds | Refund a PayShap payment in full or in part, straight back to the payer. | In the sandbox |
| EFT payouts | Next-day payouts to any bank account, checked with the bank first. | In the sandbox |
| DebiCheck | Debit orders the customer approves in their banking app, for subscriptions, insurance and loans. | In the sandbox |
| Bank pay-by-bank | Capitec Pay, Absa Pay and Nedbank Direct, inside each bank's own app. | Planned |
| Cards and wallets | Visa, Mastercard, Apple Pay and Google Pay, with 3-D Secure. | Planned |
| QR and cash | SnapScan, Zapper and cash at the till for customers without cards. | Planned |
Who Bucala is for
Online businesses and software companies
Integrate once with a modern payments API and add South African bank payments, without building to each bank separately.
Businesses that collect every month
Insurers, lenders, gyms, schools and landlords need debit orders that customers authorise, and fast money when a collection fails.
Platforms and marketplaces
Take payments for many sellers and pay each of them out, with Bucala holding the funds as the licensed payment provider.
Built so money is never lost
A payment provider is only as good as its books. These rules are in the code and in the database.
- Every cent in a double-entry ledger
- Each entry balances to zero, and records are never changed or deleted. Corrections are new entries.
- No double payments
- Requests are idempotent, and Bucala asks the bank for a payment's status before it ever retries.
- Signed webhooks
- Every event is signed with HMAC-SHA256 so you can check it came from Bucala, and failed deliveries retry for three days.
- Hosted in South Africa
- Personal and payment data stays in South African data centres, in line with POPIA.
- Security standards
- Bucala is being built for PCI DSS Level 1 certification before card payments go live.
Pricing
Simple, published prices with no setup or monthly fees. These are proposed prices; final prices will be published before launch.
| Method | Proposed price (excluding VAT) |
|---|---|
| PayShap and PayShap Request | R2.50 per payment |
| Pay-by-bank | 1.5%, capped at R25 per payment |
| Local cards | 2.7% + R1 |
| Next-day EFT payouts | Free |
| Instant payouts | A small flat fee per payout |
South Africa first, then Namibia
Bucala plans a Namibian gateway on the same API, so a business that trades in both countries can use one integration and one dashboard, with rand and Namibian dollar accounts kept separate.
Try the sandbox
The sandbox runs on simulated South African banks. Use a test ShapID such as 0820000001@capitec to see a payment succeed, or 0820000002@capitec to see the payer decline it.
curl -u "$BUCALA_KEY:" https://api.bucala.co.za/v1/payment_intents \
-d amount=15000 -d currency=zar \
-d "bucala_payer_shap_id=0820000001@capitec" \
-d confirm=true
To get sandbox access or talk about your payments, email hello@bucala.co.za.