Payment Gateway SLAs and What They Actually Cover
What payment gateway SLAs typically cover: API availability (can you reach their servers). What they typically exclude: bank network issues (if the acquiring bank is down, they are not liable), mobile money network issues (Safaricom STK push failures are not Paystack's liability), settlement timing delays (often listed as "best efforts"), fraud screening effectiveness. SLA credits are usually small (one month's fees) compared to revenue lost during downtime. Evaluate real reliability by checking status page history, developer community reports, and running your own uptime monitoring — not by reading the SLA document.
What SLAs Cover and What They Exclude
| SLA Coverage Area | Typically Covered | Typically Excluded |
|---|---|---|
| API availability | Yes — if their API returns 5xx, it counts against uptime | Degraded performance (slow but not down) |
| Bank network issues | No | If your bank's clearing system is down, Paystack is not liable |
| Mobile money network | No | Safaricom/MTN network issues are excluded |
| Settlement timing | Usually "best efforts" only | Settlement delays from bank side |
| Fraud screening | Not typically in SLA | False positive rates, missed fraud |
| Webhook delivery | Sometimes — with retry commitments | Final delivery guarantee is rare |
| Maintenance windows | Excluded — planned maintenance does not count against uptime | Depends on notice period given |
Measuring real reliability independently:
// Simple uptime monitor — ping Paystack API health endpoint
const https = require('https');
function checkPaystackHealth() {
return new Promise((resolve) => {
var start = Date.now();
https.get('https://api.paystack.co/bank', {
headers: { Authorization: 'Bearer ' + process.env.PAYSTACK_SECRET_KEY },
timeout: 5000,
}, (res) => {
var latency = Date.now() - start;
resolve({ healthy: res.statusCode === 200, latency, statusCode: res.statusCode });
}).on('error', (err) => {
resolve({ healthy: false, latency: Date.now() - start, error: err.message });
});
});
}
// Run every minute; alert when unhealthy
setInterval(async () => {
var result = await checkPaystackHealth();
if (!result.healthy) {
await sendAlert('Paystack health check failed: ' + JSON.stringify(result));
}
}, 60000);
Learn More
See gateway failover design for responding to outages when they occur despite monitoring.
Key Takeaways
- ✓99.9% uptime = 8.7 hours downtime/year; 99.5% = 43.8 hours; 99% = 87.6 hours — know what you are accepting.
- ✓SLAs typically cover API availability only — not bank network, mobile money, or settlement timing.
- ✓SLA credits (usually a month's fees) are much smaller than revenue lost during a payment outage.
- ✓Check the status page history (status.paystack.com) for real historical uptime data.
- ✓Run your own uptime monitor — ping the API health endpoint every minute and page on failure.
Frequently Asked Questions
- What is Paystack's historical uptime?
- Paystack maintains a status page at status.paystack.com with incident history. Historical uptime for the core API has generally been in the 99.5-99.9% range, though individual periods have had degraded performance during bank network issues or infrastructure updates. Major full-outage incidents are rare. Check the last 90 days on their status page before signing contracts that depend on high availability.
- Are SLA credits worth anything if the gateway goes down?
- Rarely. If Paystack goes down for 2 hours during a product launch and you lose NGN 2M in transactions, the SLA credit (typically one month's gateway fees, perhaps NGN 100,000-200,000) does not make you whole. SLA credits are a contractual acknowledgment, not compensation. The value of an SLA is in establishing expectations and in the gateway's internal incentive to hit the target. Budget for outage risk separately from SLA credits.
- Should I include Paystack's SLA in contracts with my own clients?
- Carefully. If you promise your client 99.9% payment availability, you are taking on uptime risk that you partially pass on to Paystack but cannot fully transfer. Your client's SLA with you should be weaker than your gateway's SLA with you, and should explicitly exclude third-party service (payment gateway, bank network) failures. Consult a lawyer for the contract language.
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