Hey, let’s integrate GoPay
Licensed by the National Bank of Ethiopia under directive ONPS 02/2020 (PSO Licence No. NPS-PII/029/2026). Receive payments, make payouts, and get real-time settlement notifications. Simple, Secure, and Instant.
Accept Payments
Take customer payments through a hosted checkout — one signed API call returns a checkout URL
Make Transfers
Pay out to Telebirr, CBE Birr, Awash, Dashen, and Bank of Abyssinia from your merchant wallet
Webhooks
Receive signed, verifiable notifications the moment a transaction settles
How an Integration Works
1
Create your API key
Generate an Ed25519 key pair in the merchant dashboard — or bring your own key and register just the public half. Your private key never leaves your servers. See Authentication.
2
Sign and send a request
Sign each request with your private key and call
initiate-payment (C2B) or initiate-transfer (B2C). GoPay verifies the signature, checks replay protection, and processes the transaction.3
Receive the settlement webhook
When the transaction reaches a final state, GoPay POSTs a signed callback to your notify URL. Verify it with GoPay’s public key — no shared secrets involved.
Security by Design
Ed25519 Signatures
Public-key request signing in both directions. Neither a leaked database nor a compromised channel can forge requests or callbacks.
Replay Protection
Single-use request IDs, strict timestamp windows, and host-bound signatures stop replayed or redirected requests cold.
Defense in Depth
Per-key permissions and IP allowlists, per-merchant rate limits, and HTTPS-only callbacks — enforced on every request.
Developer Resources
Authentication
Ed25519 request signing with helpers in Node.js, Python, and Go
Errors
Error format, code taxonomy, and retry guidance
Payment Quick Start
Accept your first payment in minutes
Transfer Quick Start
Send your first payout in minutes
Code Examples
Complete API calls in Node.js, Python, and Go
Testing Guide
Test your integration end to end before going live
