openapi: 3.1.0 info: title: Moniepoint POS Push Payment Authentication Wallets API description: 'Push payment-request flow for Moniepoint POS terminals. ISV partners push an authenticated payment request to a registered terminal serial number; the merchant taps to accept and the terminal completes a card or bank-transfer collection routed through Moniepoint''s acquiring rails. API client credentials (client id and client secret) are issued from the Moniepoint Business dashboard. ' version: '1.0' contact: name: Moniepoint POS Developer Support url: https://teamapt.atlassian.net/wiki/spaces/EI servers: - url: https://pos.moniepoint.com description: Production security: - BasicAuth: [] tags: - name: Wallets description: Manage wallets and sub-wallets. paths: /api/v1/disbursements/wallet: post: summary: Monnify Create Wallet operationId: createWallet tags: - Wallets requestBody: required: true content: application/json: schema: type: object required: - walletReference - walletName - customerEmail - bvnDetails properties: walletReference: type: string walletName: type: string customerName: type: string customerEmail: type: string format: email bvnDetails: type: object properties: bvn: type: string bvnDateOfBirth: type: string format: date responses: '200': description: Wallet created. content: application/json: schema: $ref: '#/components/schemas/WalletEnvelope' get: summary: Monnify List Wallets operationId: listWallets tags: - Wallets parameters: - name: customerEmail in: query schema: type: string format: email responses: '200': description: Wallet list. content: application/json: schema: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: type: array items: $ref: '#/components/schemas/Wallet' /api/v1/disbursements/wallet-balance: get: summary: Monnify Get Wallet Balance operationId: getWalletBalance tags: - Wallets parameters: - name: accountNumber in: query required: true schema: type: string responses: '200': description: Available and ledger balance. content: application/json: schema: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: type: object properties: availableBalance: type: number ledgerBalance: type: number /api/v1/disbursements/wallet/transactions: get: summary: Monnify List Wallet Transactions operationId: listWalletTransactions tags: - Wallets parameters: - name: walletReference in: query required: true schema: type: string - name: pageNo in: query schema: type: integer default: 0 - name: pageSize in: query schema: type: integer default: 20 responses: '200': description: Wallet transaction page. content: application/json: schema: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: type: object properties: content: type: array items: $ref: '#/components/schemas/WalletTransaction' totalElements: type: integer totalPages: type: integer components: schemas: WalletEnvelope: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: $ref: '#/components/schemas/Wallet' Wallet: type: object properties: walletReference: type: string walletName: type: string accountNumber: type: string accountName: type: string bankCode: type: string bankName: type: string customerName: type: string customerEmail: type: string dateCreated: type: string format: date-time WalletTransaction: type: object properties: transactionReference: type: string amount: type: number type: type: string enum: - CREDIT - DEBIT narration: type: string balanceAfter: type: number dateCreated: type: string format: date-time securitySchemes: BasicAuth: type: http scheme: basic description: Basic auth using API client id and client secret from the Moniepoint Business dashboard.