Developers
REST API
GuidesErrorsLogin
Get API Keys
API Navigation
  • Overview
  • Quick start
  • Authentication
  • Collect a payment
  • Payment status
  • Refunds
  • Testing
  • Production
  • Security
API reference
  • Create API keys POST
  • List API keys GET
  • Get API key GET
  • Delete API key DEL
  • Collect with MTN POST
  • MTN payment status GET
  • Collect with Airtel POST
    Create and pay
  • Create order POST
  • Order fee POST
  • Pay order with card POST
  • Pay order with bank POST
  • Status and verify
  • Order status POST
  • Verify order POST
  • Cards and tokens
  • Save card POST
  • Tokenize charge GET
  • Refunds
  • Refund order POST
  • Lists and stats
  • List orders GET
  • Get order GET
  • List banks GET
  • Order stats GET
  • List transactions GET
  • Get transaction GET
  • Transaction statuses GET
Errors and limits
  1. Docs
  2. Guides
  3. Production

Production

A complete guide to taking your integration live: KYC verification, security checklists, polling queues, and operational runbooks.

Transitioning to Live Financial Rails

Going live connects your software to real telecommunication networks and banking rails over https://payment-service-mh2d.onrender.com/api. Before accepting live customer funds, complete every requirement in the Go-Live Checklist below to ensure security, idempotency, and operational reliability.

Production Readiness Checklist

Review and fulfill each item prior to routing live customer transactions:

CategoryRequirementVerification ActionCriticality
IdentityKYC VerificationEnsure merchant kycStatus is VERIFIED in the dashboard (mandatory for TransactPay orders).Blocker
CredentialsProduction Gateway KeysGenerate production keys via POST/developer/gatewayConfigs. Store apiSecret securely.Blocker
Secret VaultZero Client ExposureStore apiSecret and tokens exclusively in server environment variables or secret vaults.Security
IdempotencyUUID v4 Idempotency KeysSupply unique Idempotency-Key on all payment calls to prevent duplicate debits on network retry.Reliability
ResiliencyBackground Status PollingRun status polling from a decoupled background queue (BullMQ, Celery) with exponential backoff.Architecture
Rate Limits15 Req/Min IP AwarenessQueue requests and handle HTTP 429 responses with exponential backoff.Performance
Audit & LogsPCI Compliance ScrubbingNever write full card numbers (PANs), CVVs, or apiSecret to server logs.Compliance
SupportReference ID IndexingAlways index transactionReferenceId in your internal order records for support follow-up.Operations

Environment differences

A separate sandbox is not confirmed. Treat every call on the configured API host as capable of reaching the provider environment stored on the server.

  • MTN phoneNumber must be 8–15 digits, with an optional leading +.
  • The paying customer does not need a Ziba Pay account. The merchant cannot collect from their own phone number.
  • Examples on this site use RWF and +250 to match the default mtnrwanda and Airtel RW/RWF configuration. They are illustrative.
  • Card checkout uses TransactPay when PGW_* credentials are configured on payment-service.

Support Escalation & Reconciliation Runbook

If a customer reports a debited transaction that did not automatically mark your local order as complete:

  • Query the status endpoint using the saved transactionReferenceId.
  • Check whether the status returned is COMPLETED, FAILED, or PENDING.
  • If the customer was debited but the status remains FAILED or EXPIRED, provide Ziba Pay Merchant Support with the transactionReferenceId, date, amount, and customer phone number for upstream telco investigation.

Related

SecurityErrors and limitsCreate API keys
Was this page helpful?

Let us know how we can make our API documentation better.

PreviousTesting
NextSecurity