Moniepoint · Arazzo Workflow

Moniepoint POS Push Payment

Version 1.0.0

Push a payment request to a Moniepoint POS terminal, then poll the terminal until the customer completes it.

1 workflow 1 source API 1 provider
View Spec View on GitHub AfricaNigeriaPaymentsBankingFintechAcquiringPoint-of-SaleCollectionDisbursementsVirtual AccountsDirect DebitBills PaymentSMBWorking CapitalUnicornArazzoWorkflows

Provider

moniepoint

Workflows

pos-push-payment
Push a payment to a POS terminal, then poll until the customer completes it.
Push a payment request to a registered terminal serial number, then poll the push-payment status until the terminal reaches a terminal state.
2 steps inputs: amount, currency, description, expiresIn, reference, terminalSerialNumber outputs: finalStatus, paymentMethod, reference
1
pushPayment
Push a payment request to the terminal serial number; the terminal prompts the cashier and customer to complete it.
2
pollPushStatus
Poll the push-payment status until the terminal reaches a terminal state of COMPLETED, DECLINED, EXPIRED, or FAILED.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Moniepoint POS Push Payment
  summary: Push a payment request to a Moniepoint POS terminal, then poll the terminal until the customer completes it.
  description: >-
    ISV partners push an authenticated payment request to a registered
    Moniepoint POS terminal and wait for the customer to tap to pay. This
    workflow pushes a payment request to a terminal serial number to obtain a
    reference, then polls the push-payment status until the terminal reaches a
    terminal state of COMPLETED, DECLINED, EXPIRED, or FAILED. Authentication is
    HTTP Basic using the API client id and client secret issued from the
    Moniepoint Business dashboard, applied by the runtime per the spec's
    security requirement. Every step spells out its request inline so the flow
    can be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-1340.10
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-1340.10
      capability_name: Payment Initiation Management
      spec: moniepoint-push-payments-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: pushPaymentsApi
  url: ../openapi/moniepoint-push-payments-api-openapi.yml
  type: openapi
workflows:
- workflowId: pos-push-payment
  summary: Push a payment to a POS terminal, then poll until the customer completes it.
  description: >-
    Push a payment request to a registered terminal serial number, then poll the
    push-payment status until the terminal reaches a terminal state.
  inputs:
    type: object
    required:
    - terminalSerialNumber
    - amount
    - reference
    - currency
    properties:
      terminalSerialNumber:
        type: string
        description: Serial number of the registered POS terminal to push to.
      amount:
        type: number
        description: Amount to collect at the terminal.
      reference:
        type: string
        description: Unique ISV reference for the push payment.
      currency:
        type: string
        description: ISO currency code for the payment (e.g. NGN).
      description:
        type: string
        description: Optional description shown for the payment.
      expiresIn:
        type: integer
        description: Seconds before the terminal cancels the request.
  steps:
  - stepId: pushPayment
    description: >-
      Push a payment request to the terminal serial number; the terminal prompts
      the cashier and customer to complete it.
    operationId: pushPaymentRequest
    requestBody:
      contentType: application/json
      payload:
        terminalSerialNumber: $inputs.terminalSerialNumber
        amount: $inputs.amount
        reference: $inputs.reference
        currency: $inputs.currency
        description: $inputs.description
        expiresIn: $inputs.expiresIn
    successCriteria:
    - condition: $statusCode == 200
    - condition: $.requestSuccessful == true
      context: $response.body
      type: jsonpath
    outputs:
      reference: $response.body#/responseBody/reference
      status: $response.body#/responseBody/status
  - stepId: pollPushStatus
    description: >-
      Poll the push-payment status until the terminal reaches a terminal state
      of COMPLETED, DECLINED, EXPIRED, or FAILED.
    operationId: pushPaymentStatus
    parameters:
    - name: reference
      in: path
      value: $steps.pushPayment.outputs.reference
    successCriteria:
    - condition: $statusCode == 200
    - condition: $.responseBody.status == 'COMPLETED' || $.responseBody.status == 'DECLINED' || $.responseBody.status == 'EXPIRED' || $.responseBody.status == 'FAILED'
      context: $response.body
      type: jsonpath
    retryAfter: 5
    retryLimit: 12
    outputs:
      status: $response.body#/responseBody/status
      paymentMethod: $response.body#/responseBody/paymentMethod
      completedAt: $response.body#/responseBody/completedAt
  outputs:
    reference: $steps.pushPayment.outputs.reference
    finalStatus: $steps.pollPushStatus.outputs.status
    paymentMethod: $steps.pollPushStatus.outputs.paymentMethod

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/moniepoint-pos-push-payment-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.