Flutterwave PaymentMethods API

Tokenize, register, and look up payment methods (cards, mobile money, bank, USSD).

OpenAPI Specification

flutterwave-paymentmethods-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Flutterwave Banks AccountResolution PaymentMethods API
  description: 'Flutterwave v4 reference data APIs for supported banks, bank branches,

    mobile networks, and bank account name resolution. These endpoints are

    used to populate dropdowns and validate destination accounts before

    initiating payouts.

    '
  version: 4.0.0
  contact:
    name: Flutterwave
    url: https://developer.flutterwave.com
    email: developers@flutterwavego.com
  license:
    name: Flutterwave Terms of Service
    url: https://flutterwave.com/us/terms
servers:
- url: https://api.flutterwave.cloud/f4b/production
  description: Production
- url: https://api.flutterwave.cloud/f4b/sandbox
  description: Sandbox
security:
- OAuth2: []
tags:
- name: PaymentMethods
  description: Tokenize, register, and look up payment methods (cards, mobile money, bank, USSD).
paths:
  /payment-methods:
    get:
      summary: List Payment Methods
      operationId: listPaymentMethods
      tags:
      - PaymentMethods
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethodList'
    post:
      summary: Create A Payment Method
      operationId: createPaymentMethod
      tags:
      - PaymentMethods
      parameters:
      - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentMethodRequest'
      responses:
        '201':
          description: Payment Method Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethod'
  /payment-methods/{id}:
    parameters:
    - in: path
      name: id
      required: true
      schema:
        type: string
    get:
      summary: Retrieve A Payment Method
      operationId: getPaymentMethod
      tags:
      - PaymentMethods
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentMethod'
components:
  schemas:
    PaymentMethodList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethod'
    PaymentMethodRequest:
      type: object
      required:
      - type
      properties:
        type:
          type: string
        card:
          type: object
          description: Encrypted card fields with `nonce`.
        mobile_money:
          type: object
        bank_transfer:
          type: object
        ussd:
          type: object
        opay:
          type: object
    PaymentMethod:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - card
          - mobile_money
          - bank_transfer
          - ussd
          - opay
        card:
          type: object
        mobile_money:
          type: object
        bank_transfer:
          type: object
        client:
          type: object
        device_fingerprint:
          type: string
        created_datetime:
          type: string
          format: date-time
  parameters:
    IdempotencyKey:
      in: header
      name: X-Idempotency-Key
      required: false
      description: UUID-style key used to safely retry POST requests.
      schema:
        type: string
        format: uuid
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://idp.flutterwave.com/realms/flutterwave/protocol/openid-connect/token
          scopes: {}