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.