openapi: 3.1.0 info: title: Moniepoint POS Push Payment Authentication Debits 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: Debits description: Initiate debits against an active mandate. paths: /api/v1/direct-debit/mandate/debit: post: summary: Monnify Debit Direct Debit Mandate description: Debit a configured amount against an active mandate. Supports incomeSplit (April 2026). operationId: debitMandate tags: - Debits requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DebitMandateRequest' responses: '200': description: Debit accepted. content: application/json: schema: $ref: '#/components/schemas/DebitEnvelope' components: schemas: DebitEnvelope: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: type: object properties: mandateCode: type: string debitReference: type: string amount: type: number transactionReference: type: string status: type: string enum: - SUCCESS - FAILED - PENDING dateCreated: type: string format: date-time DebitMandateRequest: type: object required: - mandateCode - amount - debitReference - narration properties: mandateCode: type: string amount: type: number debitReference: type: string narration: type: string incomeSplit: type: array description: Optional split of the debited amount across sub-accounts (April 2026). items: type: object properties: subAccountCode: type: string splitPercentage: type: number splitAmount: type: number feeBearer: type: boolean securitySchemes: BasicAuth: type: http scheme: basic description: Basic auth using API client id and client secret from the Moniepoint Business dashboard.