Paga Business API

Disbursements, airtime/data, merchant payments, deposits, onboarding.

Operations 8

POST /paga-webservices/business-rest/secured/moneyTransfer Money transfer / disbursement #
POST /paga-webservices/business-rest/secured/airtimePurchase Airtime & data purchase #
POST /paga-webservices/business-rest/secured/merchantPayment Merchant / bill payment #
POST /paga-webservices/business-rest/secured/depositToBank Deposit to bank account #
POST /paga-webservices/business-rest/secured/validateDepositToBank Validate a bank deposit (name enquiry) #
POST /paga-webservices/business-rest/secured/accountBalance Account balance #
POST /paga-webservices/business-rest/secured/transactionHistory Transaction history #
POST /paga-webservices/business-rest/secured/registerCustomer Register a customer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/paga-business-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

paga-business-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Paga Developer Business API
  description: 'Paga (Pagatech Financial Services Limited) is a Nigerian mobile-money and payments company licensed by the Central Bank of Nigeria. This document models three REST product surfaces: the Business API (disbursements, airtime/data, merchant payments, bank deposits, customer onboarding), the Collect API (NGN collections via payment requests and persistent payment account numbers), and the Direct Debit API (bank-account mandate tokenization and recurring charges). All amounts are in Nigerian Naira (NGN). Every request carries a SHA-512 `hash` header computed over an operation-specific ordered concatenation of parameters plus the account hash key.'
  version: '1.0'
  contact:
    name: Paga Developer Support
    url: https://developer-docs.paga.com/
    email: businesssupport@paga.com
  termsOfService: https://www.paga.com/
servers:
- url: https://www.mypaga.com
  description: Business API - Live
- url: https://beta.mypaga.com
  description: Business API - Test / Sandbox
- url: https://collect.paga.com
  description: Collect API and Direct Debit API - Live
- url: https://beta-collect.paga.com
  description: Collect API and Direct Debit API - Test / Sandbox
security:
- pagaHash: []
tags:
- name: Business
  description: Disbursements, airtime/data, merchant payments, deposits, onboarding.
paths:
  /paga-webservices/business-rest/secured/moneyTransfer:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: moneyTransfer
      summary: Money transfer / disbursement
      description: Transfers money from the business Paga account to a recipient phone number or bank account. hash = SHA-512(referenceNumber + amount + destinationAccount + destinationBank + hashKey).
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              - amount
              - destinationAccount
              properties:
                referenceNumber:
                  type: string
                amount:
                  type: number
                  format: double
                destinationAccount:
                  type: string
                currency:
                  type: string
                  example: NGN
                destinationBank:
                  type: string
                senderPrincipal:
                  type: string
                sendWithdrawalCode:
                  type: boolean
      responses:
        '200':
          description: Transfer processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/airtimePurchase:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: airtimePurchase
      summary: Airtime & data purchase
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              - amount
              - destinationPhoneNumber
              properties:
                referenceNumber:
                  type: string
                amount:
                  type: number
                  format: double
                destinationPhoneNumber:
                  type: string
                mobileOperatorPublicId:
                  type: string
                isDataBundle:
                  type: boolean
      responses:
        '200':
          description: Purchase processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/merchantPayment:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: merchantPayment
      summary: Merchant / bill payment
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              - amount
              - merchantAccount
              properties:
                referenceNumber:
                  type: string
                amount:
                  type: number
                  format: double
                merchantAccount:
                  type: string
                merchantReferenceNumber:
                  type: string
                merchantService:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Merchant payment processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/depositToBank:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: depositToBank
      summary: Deposit to bank account
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              - amount
              - destinationBankUUID
              - destinationBankAccountNumber
              properties:
                referenceNumber:
                  type: string
                amount:
                  type: number
                  format: double
                destinationBankUUID:
                  type: string
                destinationBankAccountNumber:
                  type: string
                recipientPhoneNumber:
                  type: string
                recipientEmail:
                  type: string
      responses:
        '200':
          description: Deposit processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/validateDepositToBank:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: validateDepositToBank
      summary: Validate a bank deposit (name enquiry)
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              - amount
              - destinationBankUUID
              - destinationBankAccountNumber
              properties:
                referenceNumber:
                  type: string
                amount:
                  type: number
                  format: double
                destinationBankUUID:
                  type: string
                destinationBankAccountNumber:
                  type: string
      responses:
        '200':
          description: Account name resolved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/accountBalance:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: accountBalance
      summary: Account balance
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              properties:
                referenceNumber:
                  type: string
                sourceOfFunds:
                  type: string
      responses:
        '200':
          description: Balance returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/transactionHistory:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: transactionHistory
      summary: Transaction history
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              properties:
                referenceNumber:
                  type: string
                startDateUTC:
                  type: string
                  format: date-time
                endDateUTC:
                  type: string
                  format: date-time
      responses:
        '200':
          description: History returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/registerCustomer:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Business
      operationId: registerCustomer
      summary: Register a customer
      description: Creates a Paga customer wallet on behalf of the organization.
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              - customerPhoneNumber
              properties:
                referenceNumber:
                  type: string
                customerPhoneNumber:
                  type: string
                customerFirstName:
                  type: string
                customerLastName:
                  type: string
                customerEmail:
                  type: string
                customerDateOfBirth:
                  type: string
                  format: date
      responses:
        '200':
          description: Customer registered.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
components:
  schemas:
    GenericResponse:
      type: object
      properties:
        responseCode:
          type: integer
          example: 0
        message:
          type: string
        referenceNumber:
          type: string
        transactionId:
          type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Collect API and Direct Debit API use HTTP Basic authentication with base64(publicKey:secretKey), where publicKey is the account principal and secretKey is the account credential.
    pagaPrincipal:
      type: apiKey
      in: header
      name: principal
      description: Business API public key (principal / merchant public ID).
    pagaCredentials:
      type: apiKey
      in: header
      name: credentials
      description: Business API secret key (credential / password).
    pagaHash:
      type: apiKey
      in: header
      name: hash
      description: SHA-512 hash of an operation-specific ordered concatenation of request parameters plus the account hash key. Required on every operation.