Moniepoint Invoices API

Create, list, and manage invoices.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

moniepoint-invoices-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Moniepoint POS Push Payment Authentication Invoices 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: Invoices
  description: Create, list, and manage invoices.
paths:
  /api/v1/invoice/create:
    post:
      summary: Monnify Create Invoice
      operationId: createInvoice
      tags:
      - Invoices
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInvoiceRequest'
      responses:
        '200':
          description: Invoice created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceEnvelope'
  /api/v1/invoice/{invoiceReference}/details:
    get:
      summary: Monnify Get Invoice Details
      operationId: getInvoice
      tags:
      - Invoices
      parameters:
      - name: invoiceReference
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Invoice details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceEnvelope'
  /api/v1/invoice/all:
    get:
      summary: Monnify List Invoices
      operationId: listInvoices
      tags:
      - Invoices
      responses:
        '200':
          description: Invoice list.
          content:
            application/json:
              schema:
                type: object
                properties:
                  requestSuccessful:
                    type: boolean
                  responseMessage:
                    type: string
                  responseCode:
                    type: string
                  responseBody:
                    type: array
                    items:
                      $ref: '#/components/schemas/Invoice'
  /api/v1/invoice/{invoiceReference}/cancel:
    delete:
      summary: Monnify Cancel Invoice
      operationId: cancelInvoice
      tags:
      - Invoices
      parameters:
      - name: invoiceReference
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Invoice cancelled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceEnvelope'
components:
  schemas:
    CreateInvoiceRequest:
      type: object
      required:
      - amount
      - invoiceReference
      - description
      - currencyCode
      - contractCode
      - customerEmail
      - customerName
      - expiryDate
      properties:
        amount:
          type: number
        invoiceReference:
          type: string
        description:
          type: string
        currencyCode:
          type: string
          default: NGN
        contractCode:
          type: string
        customerEmail:
          type: string
          format: email
        customerName:
          type: string
        expiryDate:
          type: string
          format: date-time
        paymentMethods:
          type: array
          items:
            type: string
            enum:
            - CARD
            - ACCOUNT_TRANSFER
        redirectUrl:
          type: string
          format: uri
        incomeSplitConfig:
          type: array
          items:
            type: object
            properties:
              subAccountCode:
                type: string
              feePercentage:
                type: number
              splitPercentage:
                type: number
              feeBearer:
                type: boolean
    InvoiceEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          $ref: '#/components/schemas/Invoice'
    Invoice:
      type: object
      properties:
        invoiceReference:
          type: string
        amount:
          type: number
        currencyCode:
          type: string
        customerEmail:
          type: string
        customerName:
          type: string
        checkoutUrl:
          type: string
          format: uri
        accountNumber:
          type: string
        accountName:
          type: string
        bankCode:
          type: string
        bankName:
          type: string
        status:
          type: string
          enum:
          - PENDING
          - PAID
          - OVERPAID
          - PARTIALLY_PAID
          - EXPIRED
          - CANCELLED
        expiryDate:
          type: string
          format: date-time
        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.