Moniepoint Wallets API

Manage wallets and sub-wallets.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

moniepoint-wallets-api-openapi.yml Raw ↑
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.