Skip to main content

Overview

OPay is a leading Nigerian fintech company providing secure, PCI-compliant RESTful payment APIs for accepting and processing payments. The platform operates in Nigeria and Egypt, supporting NGN and USD currencies with comprehensive payment solutions through Express Checkout, Server-Side APIs, and Mobile SDKs.

Countries

Nigeria, Egypt

Currencies

NGN, USD

Integration

Cashier, Server APIs, Mobile SDKs

Fee Structure

Competitive rates (contact OPay for details)

Key Features

Express Checkout

Hosted payment page (OPay Cashier) for seamless integration

3DS Card Payments

3D Secure card payment integration with redirect flow

Bank Transfer

Generate virtual accounts for bank transfer payments

Bank Account Debit

Direct bank account debit with OTP/3DS verification

USSD Payment

USSD-based payment integration for offline payments

OPay Wallet

QR code payment via OPay Wallet

Payment Methods

Available Payment Methods:
  • BankCard: Visa/Mastercard with 3DS
  • BankTransfer: Bank transfer to virtual account
  • BankUssd: USSD payment
  • BankAccount: Direct bank account debit
  • OpayWalletNg: OPay Wallet payment
  • OpayWalletNgQR: OPay Wallet QR code
  • ReferenceCode: Reference code for POS/offline

Integration Options

Hosted payment page integration - redirect customers to OPay’s checkout.
POST /api/v1/international/cashier/create

{
  "reference": "unique-order-123",
  "country": "NG",
  "amount": {
    "total": 10000,
    "currency": "NGN"
  },
  "product": {
    "name": "Product Name",
    "description": "Product description"
  },
  "returnUrl": "https://yoursite.com/payment/success",
  "callbackUrl": "https://yoursite.com/webhook/opay"
}
View Documentation
Full control over checkout UI/UX with direct API integration.Available APIs:
  • 3DS Card Payment
  • Bank Transfer Payment
  • Bank USSD Payment
  • Bank Account Payment
  • POS Payment
  • Reference Code Payment
  • OPay Wallet QR Payment
View Server APIs Overview
Native SDKs for mobile platforms:
  • Android SDK: Java/Kotlin integration
  • iOS SDK: Swift/Objective-C integration
  • Flutter SDK: Cross-platform apps
  • React Native SDK: React Native module
View Mobile SDKs
  • WooCommerce: WordPress/WooCommerce payment gateway
  • Shopify: Payment integration for Shopify stores
  • Magento: Magento e-commerce integration
View WooCommerce Plugin

Authentication Methods

OPay uses two authentication methods:
Used for Cashier Create Payment API
Authorization: Bearer {PublicKey}
MerchantId: {YourMerchantId}

API Environments

EnvironmentBase URL
Sandbox (Testing)https://testapi.opaycheckout.com
Production (Live)https://liveapi.opaycheckout.com
Offline Paymentshttps://payapi.opayweb.com

Payment Status Values

StatusDescription
INITIALPayment created, awaiting customer action
PENDINGPayment in progress
SUCCESSPayment completed successfully
FAILPayment failed
CLOSEPayment closed/cancelled

Webhooks

OPay sends POST requests to your callback URL when transaction status changes.
{
  "payload": {
    "amount": "49160",
    "channel": "Web",
    "country": "NG",
    "currency": "NGN",
    "reference": "order-123",
    "status": "SUCCESS",
    "transactionId": "220507145660712931829"
  },
  "sha512": "9f605d69f04e94172875dc156537071...",
  "type": "transaction-status"
}
Verification Required: Always verify the webhook signature and query payment status via API before delivering value. View Webhook Documentation

Testing

OPay provides comprehensive test data for sandbox testing:
Card NumberCVVExpiryPINOTPStatus
506146041012111110456012/501104543210SUCCESS
506146041012111110556112/501105543210SUCCESS
506146041012111110656212/501106543210SUCCESS
506146041012111110756312/501107123456FAIL
Card NumberCVVExpiryStatus
450875001574101910012/50SUCCESS
512345000000000810012/50SUCCESS
222300000000000710012/50FAIL
FieldValue
Bank Code033
Account Number2215381184
Phone0000000000
DOB05-01-1990
BVN123456789
View Complete Test Data

Important Notes

  • All API requests must be made over HTTPS
  • Amounts are in minor units (100 kobos = 1 NGN, 100 cents = 1 USD)
  • Always verify webhooks by checking signature and calling Query Status API
  • Use idempotent references - each payment needs a unique reference
  • Sandbox environment available for testing before production

Using with AI Tools

Add OPay’s llms.txt to your AI context:
# Direct URL
https://documentation.opaycheckout.com/llms.txt

# Or use with Claude Desktop
{
  "mcpServers": {
    "opay": {
      "command": "npx",
      "args": ["-y", "@nigerianfintechllmstxt/server", "--provider", "opay"]
    }
  }
}

Resources

API Documentation

Complete developer documentation portal

Merchant Dashboard

Manage your account and API keys

Signature Calculator

HMAC-SHA512 signature generation tool

Support

Contact OPay support team

llms.txt File

The OPay llms.txt file is available at: Source: ~/workspace/source/opay/llms.txt Online: https://documentation.opaycheckout.com/llms.txt This file contains comprehensive documentation for:
  • Express Checkout integration
  • Server-side payment APIs
  • Mobile SDK integration
  • Authentication methods
  • Webhook handling
  • Error codes
  • Test credentials
  • Offline payments API

Build docs developers (and LLMs) love