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.
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: $. }]