Flutterwave · Arazzo Workflow

Flutterwave Order Checkout And Verify

Version 1.0.0

Create a customer, place a server-side order for them, then retrieve the order to confirm its status.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub PaymentsPayoutsMobile MoneyCardsAfricaFintechRemittanceVirtual AccountsChargebacksMulti-CurrencyArazzoWorkflows

Provider

flutterwave

Workflows

order-checkout-and-verify
Create a customer, place an order, and verify the order was recorded.
Creates the customer, creates an order referencing that customer with cart items, then retrieves the order to confirm its status.
3 steps inputs: accessToken, amount, currency, email, items, reference outputs: customerId, orderId, orderStatus
1
createCustomer
Create the customer that the order belongs to.
2
createOrder
Create the order capturing the cart amount and line items.
3
verifyOrder
Retrieve the order to confirm it was recorded and inspect its status.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Flutterwave Order Checkout And Verify
  summary: Create a customer, place a server-side order for them, then retrieve the order to confirm its status.
  description: >-
    A server-side checkout pattern. The workflow creates the customer, creates
    an order that captures the cart amount and line items, and retrieves the
    order to confirm it was recorded and inspect its status. This backs a hosted
    checkout session where the order object is the source of truth for what the
    customer is paying for. 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
sourceDescriptions:
- name: customersApi
  url: ../openapi/flutterwave-customers-api-openapi.yml
  type: openapi
- name: ordersApi
  url: ../openapi/flutterwave-orders-api-openapi.yml
  type: openapi
workflows:
- workflowId: order-checkout-and-verify
  summary: Create a customer, place an order, and verify the order was recorded.
  description: >-
    Creates the customer, creates an order referencing that customer with cart
    items, then retrieves the order to confirm its status.
  inputs:
    type: object
    required:
    - accessToken
    - email
    - amount
    - currency
    properties:
      accessToken:
        type: string
        description: OAuth2 client-credentials bearer token for the Authorization header.
      email:
        type: string
        description: Email address of the customer placing the order.
      amount:
        type: number
        description: Total order amount in the major currency unit.
      currency:
        type: string
        description: ISO currency code for the order.
      items:
        type: array
        description: Line items for the order.
        items:
          type: object
      reference:
        type: string
        description: Optional merchant reference for the order.
  steps:
  - stepId: createCustomer
    description: Create the customer that the order belongs to.
    operationId: createCustomer
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      customerId: $response.body#/id
  - stepId: createOrder
    description: Create the order capturing the cart amount and line items.
    operationId: createOrder
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    requestBody:
      contentType: application/json
      payload:
        amount: $inputs.amount
        currency: $inputs.currency
        customer_id: $steps.createCustomer.outputs.customerId
        items: $inputs.items
        reference: $inputs.reference
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      orderId: $response.body#/id
  - stepId: verifyOrder
    description: Retrieve the order to confirm it was recorded and inspect its status.
    operationId: getOrder
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: id
      in: path
      value: $steps.createOrder.outputs.orderId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      orderStatus: $response.body#/status
  outputs:
    customerId: $steps.createCustomer.outputs.customerId
    orderId: $steps.createOrder.outputs.orderId
    orderStatus: $steps.verifyOrder.outputs.orderStatus

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/flutterwave-order-checkout-and-verify-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.