Fincept Terminal Payments API

The payments API from Fincept Terminal — 12 operation(s) for payments.

GitHub OpenAPI

Operations 12

GET /cashfree/plans Get Plans #
GET /cashfree/config Get Config #
POST /cashfree/create-order Create Order #
GET /cashfree/order/{order_id} Get Order Status #
GET /cashfree/payments/{order_id} Get Order Payments #
GET /cashfree/subscription Get User Subscription #
GET /cashfree/payments Get User Payments #
GET /cashfree/usage Get Credit Usage #
POST /cashfree/webhook Handle Webhook #
GET /cashfree/admin/stuck-payments List Stuck Payments #
POST /cashfree/admin/reconcile/{order_id} Reconcile Payment #
POST /cashfree/admin/retry-activation/{order_id} Retry Activation #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fincept-in:fincept-in-payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.

OpenAPI Specification

fincept-in-payments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fincept In Payments API
  version: 3.0.0
  description: 'Operations tagged payments across 2 of this provider''s published API definitions: fincept-in-openapi.json, fincept-in-openapi.json. Each path carries the servers of the definition it was published in.'
tags:
- name: Payments
paths:
  /cashfree/plans:
    get:
      tags:
      - Payments
      summary: Get Plans
      description: 'The plans Fincept sells (Free and Pro), in display order.

        Public endpoint - no authentication required.


        Entitlement fields (cost_per_request, modules, limits, feature lines) come

        from plans.py; price, credits and validity come from the subscription_plans

        row, so a repriced plan is reflected immediately.'
      operationId: get_plans_cashfree_plans_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /cashfree/config:
    get:
      tags:
      - Payments
      summary: Get Config
      description: Get Cashfree configuration and supported currencies
      operationId: get_config_cashfree_config_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /cashfree/create-order:
    post:
      tags:
      - Payments
      summary: Create Order
      description: 'Create Cashfree payment order for a plan purchase


        Reference: https://www.cashfree.com/docs/api-reference/payments/latest/orders/create'
      operationId: create_order_cashfree_create_order_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
  /cashfree/order/{order_id}:
    get:
      tags:
      - Payments
      summary: Get Order Status
      description: 'Get Cashfree order status (own orders only)


        Reference: https://www.cashfree.com/docs/api-reference/payments/latest/orders/get'
      operationId: get_order_status_cashfree_order__order_id__get
      security:
      - APIKeyHeader: []
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          title: Order Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /cashfree/payments/{order_id}:
    get:
      tags:
      - Payments
      summary: Get Order Payments
      description: 'Get all payment attempts for an order (own orders only)


        Reference: https://www.cashfree.com/docs/api-reference/payments/latest/payments/get-payments-for-order'
      operationId: get_order_payments_cashfree_payments__order_id__get
      security:
      - APIKeyHeader: []
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          title: Order Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /cashfree/subscription:
    get:
      tags:
      - Payments
      summary: Get User Subscription
      description: Get user's current subscription details
      operationId: get_user_subscription_cashfree_subscription_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /cashfree/payments:
    get:
      tags:
      - Payments
      summary: Get User Payments
      description: Get user's payment history with pagination
      operationId: get_user_payments_cashfree_payments_get
      security:
      - APIKeyHeader: []
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Page
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /cashfree/usage:
    get:
      tags:
      - Payments
      summary: Get Credit Usage
      description: 'Deprecated — use GET /user/usage for full usage dashboard.

        Kept for backward compatibility with a credit-focused summary.'
      operationId: get_credit_usage_cashfree_usage_get
      deprecated: true
      security:
      - APIKeyHeader: []
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: integer
          default: 30
          title: Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /cashfree/webhook:
    post:
      tags:
      - Payments
      summary: Handle Webhook
      description: 'Production-grade Cashfree webhook handler.


        Guarantees:

        - Idempotent: a redelivery of an event that already completed is ignored

        - Race-safe: SELECT FOR UPDATE serializes concurrent handlers on the payment

        - Atomic: payment status + credit addition in a single DB commit

        - Retryable: an internal failure answers 5xx so Cashfree redelivers, and the

        event row is only final ("processed") after a successful commit, so the

        redelivery is reprocessed instead of being dropped as a duplicate


        State machine: pending -> processing -> activated | activation_failed | failed | cancelled'
      operationId: handle_webhook_cashfree_webhook_post
      parameters:
      - name: x-webhook-timestamp
        in: header
        required: false
        schema:
          type: string
          title: X-Webhook-Timestamp
      - name: x-webhook-signature
        in: header
        required: false
        schema:
          type: string
          title: X-Webhook-Signature
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /cashfree/admin/stuck-payments:
    get:
      tags:
      - Payments
      summary: List Stuck Payments
      description: 'List payments stuck in pending (>1 hour) or activation_failed state.


        Also surfaces recently swept "cancelled" orders: the sweeper cancels two

        hours after checkout but the Cashfree order lives 30 days, so a cancelled

        row is not proof the money was never taken — only Cashfree is. Scoped to the

        order lifetime so the 4k-row historical backlog does not drown the list.'
      operationId: list_stuck_payments_cashfree_admin_stuck_payments_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      security:
      - APIKeyHeader: []
  /cashfree/admin/reconcile/{order_id}:
    post:
      tags:
      - Payments
      summary: Reconcile Payment
      description: Verify payment status with Cashfree API and compare against local record.
      operationId: reconcile_payment_cashfree_admin_reconcile__order_id__post
      security:
      - APIKeyHeader: []
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          title: Order Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /cashfree/admin/retry-activation/{order_id}:
    post:
      tags:
      - Payments
      summary: Retry Activation
      description: 'Retry credit activation for a payment that succeeded at Cashfree

        but failed during local activation. Verifies with Cashfree first.'
      operationId: retry_activation_cashfree_admin_retry_activation__order_id__post
      security:
      - APIKeyHeader: []
      parameters:
      - name: order_id
        in: path
        required: true
        schema:
          type: string
          title: Order Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    CreateOrderRequest:
      properties:
        plan_id:
          type: string
          title: Plan Id
        currency:
          type: string
          title: Currency
          default: USD
        return_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Return Url
        customer_phone:
          anyOf:
          - type: string
          - type: 'null'
          title: Customer Phone
      type: object
      required:
      - plan_id
      title: CreateOrderRequest
      description: Request model for creating Cashfree payment order
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
x-refined-from:
- fincept-in-openapi.json
- fincept-in-openapi.json
x-provenance:
  method: harvested
  publisher: Fincept Terminal
  source: https://api.fincept.in/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)