Moniepoint Mandates API

Create and manage direct-debit mandates.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

moniepoint-mandates-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Moniepoint POS Push Payment Authentication Mandates 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: Mandates
  description: Create and manage direct-debit mandates.
paths:
  /api/v1/direct-debit/mandate:
    post:
      summary: Monnify Create Direct Debit Mandate
      operationId: createMandate
      tags:
      - Mandates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMandateRequest'
      responses:
        '200':
          description: Mandate created (pending activation).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MandateEnvelope'
  /api/v1/direct-debit/mandate/{mandateCode}:
    get:
      summary: Monnify Get Direct Debit Mandate
      operationId: getMandate
      tags:
      - Mandates
      parameters:
      - name: mandateCode
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Mandate details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MandateEnvelope'
    delete:
      summary: Monnify Cancel Direct Debit Mandate
      operationId: cancelMandate
      tags:
      - Mandates
      parameters:
      - name: mandateCode
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Mandate cancelled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MandateEnvelope'
  /api/v1/direct-debit/mandate/activation:
    post:
      summary: Monnify Activate Direct Debit Mandate
      description: Submit the activation code to move a mandate from PENDING to ACTIVATED.
      operationId: activateMandate
      tags:
      - Mandates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - mandateCode
              - activationCode
              properties:
                mandateCode:
                  type: string
                activationCode:
                  type: string
      responses:
        '200':
          description: Mandate activated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MandateEnvelope'
components:
  schemas:
    MandateEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          $ref: '#/components/schemas/Mandate'
    CreateMandateRequest:
      type: object
      required:
      - mandateDescription
      - mandateAmount
      - customerName
      - customerAccountNumber
      - customerBankCode
      - startDate
      - endDate
      properties:
        mandateDescription:
          type: string
        mandateAmount:
          type: number
        customerName:
          type: string
        customerEmail:
          type: string
          format: email
        customerPhoneNumber:
          type: string
        customerAccountNumber:
          type: string
        customerBankCode:
          type: string
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        frequency:
          type: string
          enum:
          - DAILY
          - WEEKLY
          - MONTHLY
          - QUARTERLY
          - YEARLY
          - AD_HOC
        amountType:
          type: string
          enum:
          - FIXED
          - VARIABLE
        debitReference:
          type: string
        contractCode:
          type: string
    Mandate:
      type: object
      properties:
        mandateCode:
          type: string
        mandateDescription:
          type: string
        mandateAmount:
          type: number
        customerName:
          type: string
        customerAccountNumber:
          type: string
        customerBankCode:
          type: string
        status:
          type: string
          enum:
          - PENDING
          - FAILED
          - CANCELLED
          - ACTIVATED
          - EXPIRED
        frequency:
          type: string
        amountType:
          type: string
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
        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.