Bonaventure OgetoBy Bonaventure Ogeto|

Building a Local Checkout Experience for South Africa

For a South Africa-optimised Paystack checkout: (1) enable channels: ["card", "bank", "eft"] — card and EFT are the dominant methods; (2) set currency: "ZAR"; (3) amounts in ZAR go to Paystack in cents (multiply by 100); (4) Instant EFT allows customers to pay directly from their bank account via internet banking; (5) major SA banks (ABSA, FNB, Nedbank, Standard Bank, Capitec) are all supported.

South Africa-Optimised Checkout Configuration

// South Africa-optimised transaction initialization
var response = await fetch('https://api.paystack.co/transaction/initialize', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    email: customer.email,
    amount: Math.round(orderAmountZAR * 100), // ZAR to cents
    currency: 'ZAR',
    reference: generateReference(),
    channels: ['card', 'bank', 'eft'], // Card and EFT for SA
    metadata: {
      order_id: order.id,
    },
  }),
});

Supported payment channels in South Africa via Paystack:

  • card — Visa, Mastercard (Amex via card network)
  • bank — Direct bank debit for supported SA banks
  • eft — Instant EFT via internet banking (ABSA, FNB, Nedbank, Standard Bank, Capitec)

Localisation Tips for South African Users

  • Currency display: Show as "R 1,000" or "ZAR 1,000" — the rand symbol R is universally recognised in South Africa.
  • EFT flow: Instant EFT redirects the customer to their bank's internet banking portal. They log in, confirm the payment, and are redirected back. Ensure your callback URL handles the return correctly.
  • 3D Secure: SA card transactions typically require 3DS authentication (OTP to customer's registered number). This adds 30-60 seconds to the checkout flow — set a reasonable timeout on your UX waiting states.
  • POPIA compliance: South Africa's POPIA Act applies to customer data you store. Include customer payment records in your data processing register and provide a privacy notice.

Learn More

Key Takeaways

  • Card and bank EFT are the dominant payment methods in South Africa — both are supported via Paystack.
  • ZAR amounts go to Paystack in cents (multiply ZAR by 100 — same as other Paystack currencies).
  • Instant EFT lets customers pay directly from their internet banking without card details.
  • Major SA banks — ABSA, FNB, Nedbank, Standard Bank, Capitec — are all supported.
  • South Africa has POPIA (Protection of Personal Information Act) which applies to customer payment data you store.
  • Set currency: "ZAR" explicitly in every transaction initialize call.

Frequently Asked Questions

Does Paystack support EFT in South Africa?
Yes. Paystack supports Instant EFT for South African transactions. Customers can pay directly from their ABSA, FNB, Nedbank, Standard Bank, or Capitec internet banking account. The EFT channel redirects them to their bank portal, confirms payment, then redirects back to your site.
Can Paystack accept ZAR payments from international Visa cards?
Yes. International Visa and Mastercard cards can pay in ZAR via Paystack. The card network handles the currency conversion on the issuing bank side. Customers see the ZAR amount at checkout; their statement shows the equivalent in their home currency.
Is Paystack available throughout South Africa or only in major cities?
Paystack's payment methods (card, EFT) work anywhere in South Africa with internet access. There is no geographic restriction within the country. However, mobile money is less developed in South Africa compared to East and West Africa — card and EFT are the primary channels.
What is the settlement timeline for ZAR transactions on Paystack?
Paystack typically settles ZAR transactions on a T+1 or T+2 basis (next business day or two business days after the transaction). Weekends and South African public holidays may extend settlement timelines. Check your specific settlement schedule in the Paystack dashboard under Settings → Settlement.

Ready to build real-world apps?

Join the McTaba Labs full-stack marathon (4 months full-time · 6 months part-time). Learn M-Pesa, USSD, and WhatsApp engineering while shipping 8 production apps.

Apply to the McTaba Marathon