Bonaventure OgetoBy Bonaventure Ogeto|

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 AreaTypically CoveredTypically Excluded
API availabilityYes — if their API returns 5xx, it counts against uptimeDegraded performance (slow but not down)
Bank network issuesNoIf your bank's clearing system is down, Paystack is not liable
Mobile money networkNoSafaricom/MTN network issues are excluded
Settlement timingUsually "best efforts" onlySettlement delays from bank side
Fraud screeningNot typically in SLAFalse positive rates, missed fraud
Webhook deliverySometimes — with retry commitmentsFinal delivery guarantee is rare
Maintenance windowsExcluded — planned maintenance does not count against uptimeDepends 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.

Sign up for the McTaba newsletter

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