Paga Reference API

Look-up operations - banks, mobile operators, status.

OpenAPI Specification

paga-reference-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Paga Developer Business Reference 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: Reference
  description: Look-up operations - banks, mobile operators, status.
paths:
  /banks:
    servers:
    - url: https://collect.paga.com
    - url: https://beta-collect.paga.com
    post:
      tags:
      - Reference
      operationId: getCollectBanks
      summary: Get supported banks (Collect)
      description: Retrieves the list of supported banks and their unique Paga bank IDs, used to populate payer/payee objects. hash = SHA-512(referenceNumber + hashKey).
      security:
      - basicAuth: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              properties:
                referenceNumber:
                  type: string
      responses:
        '200':
          description: Bank list returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/getBanks:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Reference
      operationId: getBusinessBanks
      summary: Get supported banks (Business)
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              properties:
                referenceNumber:
                  type: string
      responses:
        '200':
          description: Bank list returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/getMobileOperators:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Reference
      operationId: getMobileOperators
      summary: Get mobile operators
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              properties:
                referenceNumber:
                  type: string
      responses:
        '200':
          description: Operator list returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericResponse'
  /paga-webservices/business-rest/secured/getOperationStatus:
    servers:
    - url: https://www.mypaga.com
    - url: https://beta.mypaga.com
    post:
      tags:
      - Reference
      operationId: getOperationStatus
      summary: Get operation status
      security:
      - pagaPrincipal: []
        pagaCredentials: []
        pagaHash: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - referenceNumber
              properties:
                referenceNumber:
                  type: string
      responses:
        '200':
          description: Operation status returned.
          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.