Method Financial Payments API

Electronic transfers between a source and destination account.

Documentation

Specifications

Other Resources

OpenAPI Specification

method-fi-payments-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Method Financial Accounts Payments API
  description: The Method API enables developers to connect, retrieve, and pay down a consumer's liabilities (credit cards, student loans, auto loans, mortgages, and personal loans) across a network of financial institutions. Core resources are Entities, Accounts, Payments, Merchants, Connect, Transactions, and Webhooks. All requests are authenticated with a Bearer API key.
  termsOfService: https://methodfi.com/legal/platform-agreement
  contact:
    name: Method Support
    url: https://docs.methodfi.com
    email: support@methodfi.com
  version: '2026-03-30'
servers:
- url: https://production.methodfi.com
  description: Production
- url: https://sandbox.methodfi.com
  description: Sandbox
- url: https://dev.methodfi.com
  description: Development (simulations enabled)
security:
- bearerAuth: []
tags:
- name: Payments
  description: Electronic transfers between a source and destination account.
paths:
  /payments:
    post:
      operationId: createPayment
      tags:
      - Payments
      summary: Create a payment
      description: Pulls funds from a source account and sends them to a destination liability or asset account. Settlement occurs in 1-3 business days.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentCreateRequest'
      responses:
        '200':
          description: Payment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
    get:
      operationId: listPayments
      tags:
      - Payments
      summary: List payments
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PageLimit'
      responses:
        '200':
          description: A list of payments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentListResponse'
  /payments/{pmt_id}:
    parameters:
    - $ref: '#/components/parameters/PaymentId'
    get:
      operationId: getPayment
      tags:
      - Payments
      summary: Retrieve a payment
      responses:
        '200':
          description: The payment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
    delete:
      operationId: deletePayment
      tags:
      - Payments
      summary: Delete a pending payment
      responses:
        '200':
          description: The deleted payment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
  /payments/{pmt_id}/reversals:
    parameters:
    - $ref: '#/components/parameters/PaymentId'
    post:
      operationId: createPaymentReversal
      tags:
      - Payments
      summary: Create a payment reversal
      description: Balances funds for an unsuccessful payment.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Reversal
          content:
            application/json:
              schema:
                type: object
    get:
      operationId: listPaymentReversals
      tags:
      - Payments
      summary: List payment reversals
      responses:
        '200':
          description: Reversals
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    PaymentResponse:
      type: object
      properties:
        id:
          type: string
        source:
          type: string
        destination:
          type: string
        amount:
          type: integer
        description:
          type: string
        status:
          type: string
          enum:
          - pending
          - processing
          - sent
          - settled
          - failed
          - reversed
          - canceled
        error:
          nullable: true
          type: object
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    PaymentListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PaymentResponse'
    PaymentCreateRequest:
      type: object
      required:
      - amount
      - source
      - destination
      properties:
        amount:
          type: integer
          description: Amount in cents (100 to 100000000).
          minimum: 100
          maximum: 100000000
        source:
          type: string
          description: Source account ID.
        destination:
          type: string
          description: Destination account ID.
        description:
          type: string
          maxLength: 10
        metadata:
          type: object
  parameters:
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
    PaymentId:
      name: pmt_id
      in: path
      required: true
      schema:
        type: string
      description: The payment identifier (e.g. pmt_xxx).
    PageLimit:
      name: page_limit
      in: query
      required: false
      schema:
        type: integer
        default: 50
        maximum: 100
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Provide your Method API key as a Bearer token in the Authorization header. Optionally send a Method-Version header (e.g. 2026-03-30).