Finmid Payment Request API
The Payment Request API from Finmid — 6 operation(s) for payment request.
The Payment Request API from Finmid — 6 operation(s) for payment request.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/finmid:finmid-payment-request-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: B2B Payments Payment Request API
version: v2.3
servers:
- url: https://sandbox.finmid.com
description: Sandbox
- url: https://api.finmid.com
description: Live
security:
- apiKeyScheme: []
tags:
- name: Payment Request
paths:
/api/v2/b2b-payments/payment-requests:
post:
tags:
- Payment Request
operationId: create-payment-request-v2
summary: Create Payment Request
description: 'The create payment request resource endpoint creates a loan and reserves the specified order amount. This process is called authorisations. When you authorise, finmid will generate a unique id that you''ll use to reference the transaction moving forward.
For creating a new payment request, you need the following things:
1. Create a new ID for this payment request (we recommend using the invoice number),
2. Choose repayment term days,
3. Buyer''s ID specified on creation,
4. Seller ID
5. Total order amount.
7. (Optional) Invoice due date, which can be added now, or via the update endpoint.
> ⚠️ Invoice Number
>
> Invoice number is optional upon payment request creation. However, it must be provided prior to capturing the payment request. Invoice number can be provided via the Update Payment Request endpoint'
requestBody:
content:
application/json:
schema:
required:
- repayment_term_days
- buyer_id
- currency
- id
- total_amount
- seller_id
type: object
properties:
id:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
repayment_term_days:
description: Repayment period term in days.
type: integer
minimum: 0
example: 30
buyer_id:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
seller_id:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
- description: seller of the payment request
metadata:
type: object
additionalProperties:
type: string
currency:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1buyers~1{id}~1payment-limit/get/parameters/1/schema/allOf/0'
- description: Three-letter currency code (ISO 4217).
total_amount:
allOf:
- description: The amount with up to 2 decimal places.
type: number
pattern: ^(?:\+|-)?[0-9]+(?:\.[0-9]+)$
example: 1000
- description: The total amount of the order with up to 2 decimal places.
example: 1000
invoice_number:
description: Invoice ID corresponding to the transactions in the payment request.
type: string
maxLength: 100
invoice_due_date:
type: string
format: date
example: '2023-08-01'
total_fee_override:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/responses/200/content/application~1json/schema/properties/financing_portion/allOf/0/properties/portion/allOf/0'
description: The percentage value expressed relative to the total intent amount, which overrides the default total fee deducted upon payout(s).
payout_maximum_now:
type: boolean
description: If set to true, the payment request will be paid-out immediately after creation.
required: true
responses:
'200':
description: The created payment request.
content:
application/json:
schema:
type: object
required:
- id
- status
- creation_time
- buyer_id
- total_amount
- financing_portion
- amount_details
- amounts_breakdown
- currency
- repayment_term_days
- repayment_date
properties:
id:
description: ID of the payment request.
type: string
status:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1list/get/parameters/2/schema/items'
- description: Current status of the payment request.
creation_time:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1reports~1settlement/get/responses/200/content/application~1json/schema/properties/created_at/allOf/0'
- description: Creation time of the payment request (ISO 8601 datetime).
buyer_id:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
- description: ID of the buyer associated with the payment request.
order_id:
type: string
description: 'The ID of the order associated with the payment request. Use this ID to perform read/update actions on the order.
'
total_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Total amount of the transaction.
example: 1000
financing_portion:
allOf:
- type: object
required:
- portion
- amount
properties:
portion:
allOf:
- type: number
description: Percentage expressed in decimal form (between 0 and 1).
pattern: ^(?:\+|-)?[0-9]+(?:\.[0-9]+)$
example: 0.5
- description: Percentage of total payment request amount that can be financed/paid out.
amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Total amount that can be paid out.
example: 1000
- description: Represents the financing condition for the payment request, in terms of how much can be paid out.
amount_details:
deprecated: true
type: object
required:
- original_amount
- platform_fee_amount
- buyer_fee_amount
- sellers_fee_amount
properties:
original_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Original amount as requested.
platform_fee_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Applying platform fees.
buyer_fee_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Applying buyer fees.
sellers_fee_amount:
type: object
description: 'Map of fees applied per seller. Key is seller id, value is amount of the fee in payment request currency
'
additionalProperties:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Applying sellers fees.
amounts_breakdown:
type: object
required:
- total_amount
- fees
- payout_amount
properties:
total_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Total amount as requested.
fees:
type: object
required:
- total_fee_amount
- details
properties:
total_fee_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Total fee being charged on the payment request. Deducted upon payout(s).
details:
type: object
required:
- service_fee_amount
- platform_markup_amount
properties:
service_fee_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Fee being charged to platform by finmid. Deducted from total_fee_amount, and calculated against net payout amount.
platform_markup_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Markup platform receives via settlement. Difference between total_fee and service_fee.
payout_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Total amount deducted of total fee.
currency:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1buyers~1{id}~1payment-limit/get/parameters/1/schema/allOf/0'
- description: Three-letter currency code (ISO 4217).
repayment_term_days:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/repayment_term_days'
repayment_type:
deprecated: true
description: Repayment type to use in responses.
type: string
enum:
- SCT
- SDD
example: SCT
repayment_date:
type: string
format: date
example: '2023-08-01'
metadata:
description: 'Set of **key-value pairs** that are attached to the payment request. Used for sharing extra data.
'
type: object
invoice_number:
description: Invoice ID corresponding to the transactions in the payment request.
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/invoice_number'
invoice_due_date:
type: string
format: date
example: '2023-08-01'
payouts:
description: A result set containing payouts for the given payment request.
type: array
items:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1payouts/post/responses/200/content/application~1json/schema'
'401':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/401'
'500':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/500'
/api/v2/b2b-payments/payment-requests/list:
get:
tags:
- Payment Request
operationId: get-payment-requests-v2
summary: Get Payment Requests
description: Returns a list of payment requests. Cursor-based pagination is supported and you can make use of filter parameters to change sorting or limit the results to only payment requests with certain status.
parameters:
- name: from
in: query
required: true
schema:
type: string
format: date
description: Creation date of the first payment request to be included in the results.
example: '2022-01-01'
- name: to
in: query
required: true
schema:
type: string
format: date
description: Creation date of the last payment request to be included in the results.
example: '2022-01-31'
- name: status
in: query
required: false
schema:
type: array
description: 'List of payment request status. Providing one or more status only includes payment requests that have one of the provided status.
'
items:
type: string
enum:
- PENDING
- PROCESSING
- PENDING_REPAYMENT
- CANCELLED
- CLOSED
- DEFAULT
- name: sort_by
in: query
required: false
schema:
description: Sorting of the results.
type: string
enum:
- CREATED_ASC
- CREATED_DESC
- name: cursor
in: query
required: false
schema:
description: A cursor used for pagination.
example: cGktMTIzNDV8MjAyMi0wNC0yOFQwNjowOToxNyswMDowMAo=
type: string
- name: limit
in: query
required: false
schema:
description: Limits the amount of results per page.
example: 20
type: integer
format: int32
default: 100
minimum: 1
maximum: 100
responses:
'200':
description: A result set containing payment requests.
content:
application/json:
schema:
type: object
properties:
metadata:
type: object
properties:
next_cursor:
type: string
description: A cursor pointing to the beginning of the next page.
example: TkVYVHxmMzA1ZjBlNi00YzM2LTQwZmEtOTI5YS0yZjJiODJlYjU2ZjR8MjAyMi0xMC0yOFQxMDoxMDoyOS4zMTkzMDlafA
previous_cursor:
type: string
description: A cursor pointing to the beginning of the previous page.
example: UFJFVklPVVN8ZjhjODRmYzctZDIyMS00NzYxLThlMTktN2QxYTM5ZTIyZDgxfDIwMjItMTEtMDJUMTM6NTE6MTkuMzI3MTk1Wnw
data:
description: List of payment requests.
type: array
items:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/responses/200/content/application~1json/schema'
'401':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/401'
'500':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/500'
/api/v2/b2b-payments/payment-requests/{id}:
get:
tags:
- Payment Request
operationId: get-payment-request-v2
summary: Get Payment Request
description: For getting a certain payment request's details, you'll only need the payment request's ID specified on creation.
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: The payment request.
content:
application/json:
schema:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/responses/200/content/application~1json/schema'
'401':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/401'
'500':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/500'
/api/v2/b2b-payments/payment-requests/{id}/cancel:
put:
tags:
- Payment Request
operationId: cancel-payment-request-v2
summary: Cancel Payment Request
description: 'Cancels an existing payment request and releases the loan amount reserved for the payment. For this you''ll only need the payment request ID specified on creation.
> 📘
>
> This operation is only permitted if the seller has captured no items in the order. Please note that cancelling a payment request is not reversible.'
parameters:
- name: id
in: path
required: true
schema:
allOf:
- type: string
pattern: ^[a-zA-Z0-9_\.\-]{1,100}$
maxLength: 100
- description: ID of the payment request.
example: pi-12345
responses:
'200':
description: The payment request is canceled.
content:
application/json:
schema:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/responses/200/content/application~1json/schema'
'401':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/401'
'500':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/500'
/api/v2/b2b-payments/payment-requests/{id}/payouts:
post:
tags:
- Payment Request
operationId: create-payment-request-payout
summary: Create Payout
description: 'The payout payment request endpoint triggers a payment to the seller associated with the loan initially reserved during the creation of the payment request. As soon as a payout is created, the payment is processed immediately through finmid.
After a payout is created, the payment request status will change to PROCESSING if the payment request amount is only partially paid. Once the max payout amount is fully paid out, the status will then change to PENDING_REPAYMENT.
To create a payout for a certain payment request, you''ll need four things:
1. The payment request ID specified during creation.
2. The Payout ID, a unique identifier within the payment request of your choice for this payout.
3. The payout type, which can be PERCENTAGE, AMOUNT, or MAX.
4. The payout value, which is related to the payout type and is only required for percentage and amount types.
For instance, if the payout type is percentage and the value is 50, then 50% of the payment request will be paid out.
The payout response body includes:
- Gross amount: This is the total amount of the payout relative to the payment request including fees.
- Net amount: This is the amount the seller actually receives, calculated as the gross amount minus fees.
- Status: This reflects the state of the seller''s payment, with three possible statuses: `PENDING`, `PAID_OUT`, and `REJECTED`.'
parameters:
- name: id
in: path
required: true
schema:
type: string
description: Id of the payment request for which to create a payout.
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- required:
- id
- value
- payout_type
properties:
id:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
description: Id given to the payout, must be unique within a payment request.
payout_type:
type: string
enum:
- AMOUNT
value:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- required:
- id
- payout_type
- value
properties:
id:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
description: Id given to the payout, must be unique within a payment request.
payout_type:
type: string
enum:
- PERCENTAGE
value:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/responses/200/content/application~1json/schema/properties/financing_portion/allOf/0/properties/portion/allOf/0'
description: The percentage to payout (between 0 and 1), as expressed relative to the total payment request amount.
- required:
- id
- payout_type
properties:
id:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
description: Id given to the payout, must be unique within a payment request.
payout_type:
type: string
enum:
- MAX
responses:
'200':
description: The payout request has been successfully created.
content:
application/json:
schema:
type: object
required:
- id
- status
- seller_id
- gross_amount
- net_amount
- currency
- creation_time
properties:
id:
description: ID of the payment request.
type: string
status:
type: string
enum:
- PENDING
- PAID_OUT
- REJECTED
description: Current status of the payout.
seller_id:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
- description: ID of the seller.
example: seller-321
gross_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Gross amount of the payout.
example: 1000
net_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: Net amount of the payout (Gross minus any fees charged on the payout).
example: 990
currency:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1buyers~1{id}~1payment-limit/get/parameters/1/schema/allOf/0'
- description: Three-letter currency code (ISO 4217).
creation_time:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1reports~1settlement/get/responses/200/content/application~1json/schema/properties/created_at/allOf/0'
- description: Creation time of the payout (ISO 8601 datetime).
booking_time:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1reports~1settlement/get/responses/200/content/application~1json/schema/properties/created_at/allOf/0'
- description: Booking time of the payout (ISO 8601 datetime).
'401':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/401'
'500':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/500'
/api/v2/b2b-payments/payment-requests/{id}/update:
patch:
tags:
- Payment Request
operationId: update-payment-request-v2
summary: Update Payment Request
description: Allows for the updating of invoice number and invoice due date fields. Invoice number must be provided to execute a payout.
parameters:
- name: id
in: path
required: true
schema:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests~1{id}~1cancel/put/parameters/0/schema/allOf/0'
- description: ID of the payment request.
example: pi-12345
requestBody:
content:
application/json:
schema:
type: object
properties:
invoice_number:
description: Invoice ID corresponding to the transactions in the payment request.
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/invoice_number'
invoice_due_date:
type: string
format: date
example: '2023-08-01'
total_amount:
allOf:
- $ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/requestBody/content/application~1json/schema/properties/total_amount/allOf/0'
- description: The new total amount of the Payment Request with up to 2 decimal places.
example: 1000
required: true
responses:
'200':
description: The payment request is updated.
content:
application/json:
schema:
$ref: '#/paths/~1api~1v2~1b2b-payments~1payment-requests/post/responses/200/content/application~1json/schema'
'401':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/401'
'500':
$ref: '#/paths/~1api~1v2~1b2b-payments~1buyers/post/responses/500'
components:
securitySchemes:
apiKeyScheme:
type: apiKey
in: header
name: X-API-KEY
x-provenance:
method: searched
source: https://docs.finmid.com/reference
harvested: '2026-10-14'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.finmid.com/reference/cancel-payment-request-v2.md
- https://docs.finmid.com/reference/create-buyer-v2.md
- https://docs.finmid.com/reference/create-payment-request-payout.md
- https://docs.finmid.com/reference/create-payment-request-v2.md
- https://docs.finmid.com/reference/create-seller-v2.md
- https://docs.finmid.com/reference/get-buyer-limit-v2.md
- https://docs.finmid.com/reference/get-buyer-v2.md
- https://docs.finmid.com/reference/get-buyers-for-platform.md
- https://docs.finmid.com/reference/get-payment-request-v2.md
- https://docs.finmid.com/reference/get-payment-requests-v2.md
- https://docs.finmid.com/reference/get-seller-v2.md
- https://docs.finmid.com/reference/get-sellers-for-platform.md
- https://docs.finmid.com/reference/get-tasks.md
- https://docs.finmid.com/reference/simulate-buyer-v2.md
- https://docs.finmid.com/reference/simulate-payment-request-repayment-v2.md
- https://docs.finmid.com/reference/simulate-seller-v2.md
- https://docs.finmid.com/reference/update-buyer-v2.md
- https://docs.finmid.com/reference/update-payment-request-v2.md
- https://docs.finmid.com/reference/update-seller-bank-account-v2.md
- https://docs.finmid.com/reference/update-seller-v2.md
- https://docs.finmid.com/reference/upload-payment-request-documents.md
merge:
pages: 21
deduped: 119
conflicts_kept_first: 0