Flutterwave · Capability

Flutterwave Payments API — Charges

Flutterwave Payments API — Charges. 6 operations covering charge lifecycle plus Orchestrator helpers. Lead operation: Flutterwave Create A Charge.

Flutterwave Payments API — Charges is a Naftiko capability published by Flutterwave, one of 18 capabilities the APIs.io network indexes for this provider. It bundles 6 operations across the POST, GET, and PUT methods rooted at /v4.

The capability includes 2 read-only operations and 4 state-changing operations. Lead operation: Flutterwave List Charges. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Flutterwave, Payments, and Charges.

Run with Naftiko FlutterwavePaymentsCharges

What You Can Do

GET
Listcharges — Flutterwave List Charges
/v4/charges
POST
Createcharge — Flutterwave Create A Charge
/v4/charges
GET
Getcharge — Flutterwave Retrieve A Charge
/v4/charges/{id}
PUT
Updatecharge — Flutterwave Update A Charge
/v4/charges/{id}
POST
Orchestratorcharge — Flutterwave Initiate An Orchestrator Charge
/v4/orchestration/direct-charges
POST
Orchestratororder — Flutterwave Initiate An Order With Orchestrator
/v4/orchestration/direct-orders

MCP Tools

flutterwave-list-charges

Flutterwave List Charges

read-only idempotent
flutterwave-create-charge

Flutterwave Create A Charge

flutterwave-get-charge

Flutterwave Retrieve A Charge

read-only idempotent
flutterwave-update-charge

Flutterwave Update A Charge

idempotent
flutterwave-orchestrator-charge

Flutterwave Initiate An Orchestrator Charge

flutterwave-orchestrator-order

Flutterwave Initiate An Order With Orchestrator

Capability Spec

payments-charges.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Flutterwave Payments API — Charges
  description: 'Flutterwave Payments API — Charges. 6 operations covering charge lifecycle plus Orchestrator helpers.
    Lead operation: Flutterwave Create A Charge.'
  tags: [Flutterwave, Payments, Charges]
  created: '2026-05-24'
  modified: '2026-05-24'
binds:
- namespace: env
  keys:
    FLUTTERWAVE_ACCESS_TOKEN: FLUTTERWAVE_ACCESS_TOKEN
capability:
  consumes:
  - type: http
    namespace: payments-charges
    baseUri: https://api.flutterwave.cloud/f4b/production
    description: Flutterwave Charges business capability.
    resources:
    - name: charges
      path: /charges
      operations:
      - { name: listcharges, method: GET, description: Flutterwave List Charges, outputRawFormat: json,
          outputParameters: [{ name: result, type: object, value: $. }] }
      - name: createcharge
        method: POST
        description: Flutterwave Create A Charge
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters: [{ name: body, in: body, type: object, required: true }]
    - name: charges-id
      path: /charges/{id}
      operations:
      - { name: getcharge, method: GET, description: Flutterwave Retrieve A Charge, outputRawFormat: json,
          outputParameters: [{ name: result, type: object, value: $. }] }
      - name: updatecharge
        method: PUT
        description: Flutterwave Update A Charge
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters: [{ name: body, in: body, type: object, required: true }]
    - name: orchestration-direct-charges
      path: /orchestration/direct-charges
      operations:
      - name: orchestratorcharge
        method: POST
        description: Flutterwave Initiate An Orchestrator Charge
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters: [{ name: body, in: body, type: object, required: true }]
    - name: orchestration-direct-orders
      path: /orchestration/direct-orders
      operations:
      - name: orchestratororder
        method: POST
        description: Flutterwave Initiate An Order With Orchestrator
        outputRawFormat: json
        outputParameters: [{ name: result, type: object, value: $. }]
        inputParameters: [{ name: body, in: body, type: object, required: true }]
    authentication:
      type: bearer
      value: '{{env.FLUTTERWAVE_ACCESS_TOKEN}}'
      placement: header
  exposes:
  - type: rest
    namespace: payments-charges-rest
    port: 8080
    description: REST adapter for Flutterwave Charges.
    resources:
    - path: /v4/charges
      name: charges
      operations:
      - { method: GET, name: listcharges, description: Flutterwave List Charges, call: payments-charges.listcharges,
          outputParameters: [{ type: object, mapping: $. }] }
      - method: POST
        name: createcharge
        description: Flutterwave Create A Charge
        call: payments-charges.createcharge
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v4/charges/{id}
      name: charges-id
      operations:
      - { method: GET, name: getcharge, description: Flutterwave Retrieve A Charge, call: payments-charges.getcharge,
          outputParameters: [{ type: object, mapping: $. }] }
      - method: PUT
        name: updatecharge
        description: Flutterwave Update A Charge
        call: payments-charges.updatecharge
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v4/orchestration/direct-charges
      name: orchestration-direct-charges
      operations:
      - method: POST
        name: orchestratorcharge
        description: Flutterwave Initiate An Orchestrator Charge
        call: payments-charges.orchestratorcharge
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
    - path: /v4/orchestration/direct-orders
      name: orchestration-direct-orders
      operations:
      - method: POST
        name: orchestratororder
        description: Flutterwave Initiate An Order With Orchestrator
        call: payments-charges.orchestratororder
        with: { body: rest.body }
        outputParameters: [{ type: object, mapping: $. }]
  - type: mcp
    namespace: payments-charges-mcp
    port: 9090
    transport: http
    description: MCP adapter for Flutterwave Charges.
    tools:
    - { name: flutterwave-list-charges, description: Flutterwave List Charges,
        hints: { readOnly: true, destructive: false, idempotent: true },
        call: payments-charges.listcharges, outputParameters: [{ type: object, mapping: $. }] }
    - name: flutterwave-create-charge
      description: Flutterwave Create A Charge
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: payments-charges.createcharge
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - { name: flutterwave-get-charge, description: Flutterwave Retrieve A Charge,
        hints: { readOnly: true, destructive: false, idempotent: true },
        call: payments-charges.getcharge, outputParameters: [{ type: object, mapping: $. }] }
    - name: flutterwave-update-charge
      description: Flutterwave Update A Charge
      hints: { readOnly: false, destructive: false, idempotent: true }
      call: payments-charges.updatecharge
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - name: flutterwave-orchestrator-charge
      description: Flutterwave Initiate An Orchestrator Charge
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: payments-charges.orchestratorcharge
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]
    - name: flutterwave-orchestrator-order
      description: Flutterwave Initiate An Order With Orchestrator
      hints: { readOnly: false, destructive: false, idempotent: false }
      call: payments-charges.orchestratororder
      with: { body: tools.body }
      outputParameters: [{ type: object, mapping: $. }]