Lean Technologies Payment Intents API

The Payment Intents API from Lean Technologies — 2 operation(s) for payment intents.

Operations 3

POST /payments/v1/intents Create Payment Intent #
GET /payments/v1/intents List Payment Intents #
GET /payments/v1/intents/{payment_intent_id} Get Payment Intent #

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/lean-technologies-payment-intents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lean-technologies-payment-intents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lean Technologies Payment Intents API
  version: 1.0.0
  description: 'Operations tagged Payment Intents across 2 of this provider''s published API definitions: lean-technologies-payments-core-openapi.yml, lean-technologies-payments-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://sandbox.leantech.me
  description: Sandbox
- url: https://api2.leantech.me
  description: Production
tags:
- name: Payment Intents
  x-displayName: Payment Intents
paths:
  /payments/v1/intents:
    post:
      operationId: createPaymentIntent
      summary: Create Payment Intent
      description: The Payment intent is the contract between your backend and Lean to certify that you will request a payment from your customer of a specified amount and currency. In order to initiate a payment, the `payment_intent_id` must be provided into the `pay()` method of the LinkSDK.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                customer_id:
                  description: The Customer you want to make a payment.
                  type: string
                  format: uuid
                amount:
                  description: The amount that should be charged to the customer.
                  type: number
                  format: float
                currency:
                  description: The currency that the customer will make the payment in.
                  type: string
                  maxLength: 3
                  minLength: 3
                description:
                  description: The description submitted to the bank as a reference when initiating a payment. Can be used for reconciliation. By default this value is a the Payment Intent UUID without hyphens but you can also specify the description upon creation of a payment intent.
                  type: string
                payment_destination_id:
                  description: Payment destination for where funds are settled into.
                  type: string
              required:
              - customer_id
              - amount
              - currency
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntent'
              example:
                payment_intent_id: 77f0c07e-7b7b-4677-bb05-6261f9eead0c
                customer_id: 89bf7bf8-89cb-42e5-8332-eeef869a2524
                amount: 61.4
                currency: AED
                description: 77f0c07e7b7b4677bb056261f9eead0c
                payments: []
                payment_destination:
                  id: 95c29647-c568-40d7-8710-3e330de1b5f2
                  bank_identifier: HSBC_UAE
                  name: Acme Corp.
                  iban: AE870200000XXXXXXXXXXXX
                  display_name: Acme Corp.
                  account_number: XXXXXXXXXXXX
                  swift_code: BBMEAEAD
                  status: ACTIVE
                  address: Acme Towers, 51st Floor
                  country: ARE
                  city: Dubai
                  default: true
                  owner_type: APPLICATION
      deprecated: false
      tags:
      - Payment Intents
      security:
      - bearerAuth: []
    get:
      operationId: listPaymentIntents
      summary: List Payment Intents
      description: List all Payment Intents
      parameters:
      - name: page
        in: query
        description: Set which page to fetch (indexed to 0)
        required: true
        schema:
          type: integer
        example: 0
      - name: size
        in: query
        description: Set the page size to be returned
        required: true
        schema:
          type: integer
        example: 50
      - name: customer_id
        in: query
        description: Filter Payment Intents by Customer
        required: false
        schema:
          type: string
          format: uuid
      - name: from
        in: query
        description: Fetch Payment Intents created after this date-time
        required: false
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        description: Fetch Payment Intents created before this date-time
        required: false
        schema:
          type: string
          format: date-time
      - name: status
        in: query
        description: Filter the results to a specific status
        required: false
        schema:
          type: string
          enum:
          - CREDENTIALS_UPDATE_REQUIRED
          - AWAITING_END_USER_AUTHORIZATION
          - AWAITING_LOGIN_MFA_TOKEN
          - AWAITING_APP_AUTH
          - AWAITING_PAYMENT_MFA_TOKEN
          - AWAITING_PAYMENT_SECURITY_QUESTIONS
          - INVALID_CREDENTIALS
          - INVALID_LOGIN_MFA
          - INVALID_PAYMENT_MFA
          - BENEFICIARY_NOT_FOUND
          - MFA_ATTEMPTS_EXHAUSTED
          - SECURITY_QUESTION_ANSWER_ATTEMPTS_EXHAUSTED
          - PENDING_WITH_BANK
          - AWAITING_AUTHORIZATION
          - FAILED
          - AWAITING_AUTHORIZATION_LOGIN_MFA
          - INVALID_AUTHORIZATION_LOGIN_MFA
          - AWAITING_AUTHORIZATION_LOGIN_SECURITY_QUESTION
          - AWAITING_AUTHORIZATION_LOGIN_SECURITY_QUESTION_ANSWER
          - INVALID_AUTHORIZATION_LOGIN_SECURITY_QUESTION_ANSWER
          - AUTHORIZATION_LOGIN_SECURITY_QUESTION_ANSWER_ATTEMPTS_EXHAUSTED
          - AUTHORIZATION_FAILED
          - AWAITING_AUTHORIZATION_PAYMENT_MFA
          - INVALID_AUTHORIZATION_PAYMENT_MFA
          - PARTIAL_ACCEPTED_BY_BANK
          - AUTHORIZATION_MFA_ATTEMPTS_EXHAUSTED
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PaymentIntent'
                  page:
                    $ref: '#/components/schemas/Pagination'
                required:
                - data
                - page
              example:
                data:
                - payment_intent_id: 77f0c07e-7b7b-4677-bb05-6261f9eead0c
                  customer_id: 89bf7bf8-89cb-42e5-8332-eeef869a2524
                  amount: 61.4
                  currency: AED
                  description: 77f0c07e7b7b4677bb056261f9eead0c
                  payments:
                  - id: 25c90cc6-67dc-4193-a6e9-a7c875fcc0af
                    payment_intent_id: 77f0c07e-7b7b-4677-bb05-6261f9eead0c
                    payment_source_id: b6fba7da-1054-5e82-8a9a-afd3ab4d1710
                    sender_details:
                      account_number: XXXXXXXXXXXX
                      iban: AE940030011XXXXXXXXXXXX
                      name: John Doe
                    recipient_details:
                      account_number: XXXXXXXXXXXX
                      iban: AE870200000XXXXXXXXXXXX
                      name: Al Fulani
                    amount: 61.4
                    currency: AED
                    description: 77f0c07e7b7b4677bb056261f9eead0c
                    submission_timestamp: '2021-05-18T13:58:03.427045Z'
                    initiation_timestamp: '2021-05-18T13:58:42.445103Z'
                    status: ACCEPTED_BY_BANK
                    bank_transaction_reference: 0492981211381081
                  payment_destination:
                    id: 95c29647-c568-40d7-8710-3e330de1b5f2
                    bank_identifier: HSBC_UAE
                    name: Acme Corp.
                    iban: AE870200000XXXXXXXXXXXX
                    display_name: Acme Corp.
                    account_number: XXXXXXXXXXXX
                    swift_code: BBMEAEAD
                    status: ACTIVE
                    address: Acme Towers, 51st Floor
                    country: ARE
                    city: Dubai
                    default: true
                    owner_type: APPLICATION
                page:
                  number: 0
                  size: 50
                  total_elements: 1
                  total_pages: 1
      deprecated: false
      tags:
      - Payment Intents
      security:
      - bearerAuth: []
    servers:
    - url: https://sandbox.leantech.me
      description: Sandbox
    - url: https://api2.leantech.me
      description: Production
  /payments/v1/intents/{payment_intent_id}:
    get:
      operationId: getPaymentIntentById
      summary: Get Payment Intent
      description: The Payment intent is the contract between your backend and Lean to certify that you will request a payment from your customer of a specified amount and currency. In order to initiate a payment, the `payment_intent_id` must be provided into the `pay()` method of the LinkSDK.
      parameters:
      - name: payment_intent_id
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentIntent'
              example:
                payment_intent_id: 77f0c07e-7b7b-4677-bb05-6261f9eead0c
                customer_id: 89bf7bf8-89cb-42e5-8332-eeef869a2524
                amount: 61.4
                currency: AED
                description: 77f0c07e7b7b4677bb056261f9eead0c
                payments:
                - id: 25c90cc6-67dc-4193-a6e9-a7c875fcc0af
                  payment_intent_id: 77f0c07e-7b7b-4677-bb05-6261f9eead0c
                  payment_source_id: b6fba7da-1054-5e82-8a9a-afd3ab4d1710
                  sender_details:
                    account_number: XXXXXXXXXXXX
                    iban: AE940030011XXXXXXXXXXXX
                    name: John Doe
                  recipient_details:
                    account_number: XXXXXXXXXXXX
                    iban: AE870200000XXXXXXXXXXXX
                    name: Al Fulani
                  amount: 61.4
                  currency: AED
                  description: 77f0c07e7b7b4677bb056261f9eead0c
                  submission_timestamp: '2021-05-18T13:58:03.427045Z'
                  initiation_timestamp: '2021-05-18T13:58:42.445103Z'
                  status: ACCEPTED_BY_BANK
                  bank_transaction_reference: 0492981211381081
                payment_destination:
                  id: 95c29647-c568-40d7-8710-3e330de1b5f2
                  bank_identifier: HSBC_UAE
                  name: Acme Corp.
                  iban: AE870200000XXXXXXXXXXXX
                  display_name: Acme Corp.
                  account_number: XXXXXXXXXXXX
                  swift_code: BBMEAEAD
                  status: ACTIVE
                  address: Acme Towers, 51st Floor
                  country: ARE
                  city: Dubai
                  default: true
                  owner_type: APPLICATION
      deprecated: false
      tags:
      - Payment Intents
      security:
      - bearerAuth: []
    servers:
    - url: https://sandbox.leantech.me
      description: Sandbox
    - url: https://api2.leantech.me
      description: Production
components:
  schemas:
    Payment:
      type: object
      properties:
        id:
          description: The unique identifier for this payment.
          type: string
          format: uuid
        payment_intent_id:
          description: The Payment Intent identifier responsible for generating the Payment.
          type: string
          format: uuid
        payment_source_id:
          description: The identifier for the payment source object from which the payment was initiatied.
          type: string
          format: uuid
        sender_details:
          description: The account details for the customer sending the payment. Includes account number, name of the account holder and IBAN.
          type: object
          properties:
            account_number:
              type: string
            iban:
              type: string
            name:
              type: string
          required:
          - account_number
          - iban
          - name
        recipient_details:
          description: Details for the recipient of the Payment, generated from the details available in the payment_destination.
          type: object
          properties:
            account_number:
              type: string
            iban:
              type: string
            name:
              type: string
          required:
          - account_number
          - iban
          - name
        amount:
          description: The amount the charge was initiated for.
          type: number
        currency:
          description: The currency the payment was initiated with.
          type: string
        description:
          description: The description submitted to the bank as a reference when initiating a payment. Can be used for reconciliation. By default this value is a the Payment Intent UUID without hyphens but you can also specify the description upon creation of a payment intent.
          type: string
        submission_timestamp:
          description: The time the Payment Initiation was submitted.
          type: string
          format: date-time
        initiation_timestamp:
          description: The time the Payment Initiation was started.
          type: string
          format: date-time
        status:
          description: 'The current status of the payment - see Payments Errors for a list of available MFAs. '
          type: string
          enum:
          - AWAITING_LOGIN_MFA
          - AWAITING_PAYMENT_MFA
          - AWAITING_APP_AUTH
          - FAILED
          - PENDING_WITH_BANK
          - ACCEPTED_BY_BANK
        bank_transaction_reference:
          description: The transaction reference number supplied by the initiating bank on successful initiation of a transfer. Can be used for reconciliation.
          type: string
      required:
      - id
      - payment_intent_id
      - payment_source_id
      - sender_details
      - recipient_details
      - amount
      - currency
      - description
      - submission_timestamp
      - initiation_timestamp
      - status
      - bank_transaction_reference
    PaymentIntent:
      type: object
      properties:
        payment_intent_id:
          description: The unique identifier for the Payment Intent.
          type: string
          format: uuid
        customer_id:
          description: The Customer object associated with the Payment Intent.
          type: string
        amount:
          description: The amount that should be charged to the customer.
          type: number
          format: float
        currency:
          description: The currency that the customer will make the payment in.
          type: string
          maxLength: 3
          minLength: 3
        description:
          description: The description submitted to the bank as a reference when initiating a payment. Can be used for reconciliation. By default this value is a the Payment Intent UUID without hyphens but you can also specify the description upon creation of a payment intent.
          type: string
        payments:
          description: An array of Payment Initiation(s) - currently there will only ever be one Payment object within the array once a user has started to complete a payment.
          type: array
          items:
            $ref: '#/components/schemas/Payment'
        payment_destination:
          type: object
          properties:
            id:
              description: The unique identifier for the Payment Destination object.
              type: string
              format: uuid
            status:
              description: The status of the Destination
              type: string
              const: ACTIVE
            default:
              description: When `true` this Destination is automatically populated into Payment Intents where an alternative `payment_destination_id` is not provided.
              type: boolean
            name:
              description: The name of the legal entity that owns the account.
              type: string
            iban:
              description: 'The IBAN of the account.

                This is required for all countries except for the US.'
              type: string
            display_name:
              description: The friendly display name for the account. This is rendered in the LinkSDK when referencing the Destination.
              type: string
            address:
              description: The address of the owner of the destination bank account has registered with the bank.
              type: string
            city:
              description: The city that the holding financial institution is located in.
              type: string
            country:
              description: The three letter ISO code for the holding financial institution's country.
              type: string
            swift_code:
              description: The SWIFT Code for the bank account - required for most international destinations
              type: string
            account_number:
              description: The account number for the account.
              type: string
            customer_id:
              description: The Customer object associated with this account. This field is optional, and will designate the Destination as owned by the application if not provided.
              type: string
            owner_type:
              description: Establishes the ownership of the Destination
              type: string
              enum:
              - APPLICATION
              - CUSTOMER
          required:
          - id
          - status
          - default
          - name
          - display_name
          - address
          - city
          - country
          - account_number
      required:
      - payment_intent_id
      - customer_id
      - amount
      - currency
      - description
      - payments
      - payment_destination
    Pagination:
      type: object
      properties:
        number:
          description: The current page being returned by the API
          type: integer
        size:
          description: The page size requested
          type: integer
        total_elements:
          description: The total number of elements in all pages
          type: integer
        total_pages:
          description: The total number of pages retrievable
          type: integer
      required:
      - number
      - size
      - total_elements
      - total_pages
    Payment_2:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for this payment.
          format: uuid
        payment_intent_id:
          type: string
          description: The Payment Intent identifier responsible for generating the Payment.
          format: uuid
        payment_source_id:
          type: string
          description: The identifier for the payment source object from which the payment was initiatied.
          format: uuid
        sender_details:
          type: object
          properties:
            account_number:
              type: string
            iban:
              type: string
            name:
              type: string
          required:
          - account_number
          - iban
          - name
          description: The account details for the customer sending the payment. Includes account number, name of the account holder and IBAN.
        recipient_details:
          type: object
          properties:
            account_number:
              type: string
            iban:
              type: string
            name:
              type: string
          required:
          - account_number
          - iban
          - name
          description: Details for the recipient of the Payment, generated from the details available in the payment_destination.
        amount:
          type: number
          description: The amount the charge was initiated for.
        currency:
          type: string
          description: The currency the payment was initiated with.
        description:
          type: string
          description: The description submitted to the bank as a reference when initiating a payment. Can be used for reconciliation. By default this value is a the Payment Intent UUID without hyphens but you can also specify the description upon creation of a payment intent.
        submission_timestamp:
          type: string
          description: The time the Payment Initiation was submitted.
        initiation_timestamp:
          type: string
          description: The time the Payment Initiation was started.
        status:
          type: string
          enum:
          - AWAITING_LOGIN_MFA
          - AWAITING_PAYMENT_MFA
          - AWAITING_APP_AUTH
          - FAILED
          - PENDING_WITH_BANK
          - ACCEPTED_BY_BANK
          description: 'The current status of the payment - see Payments Errors for a list of available MFAs. '
        bank_transaction_reference:
          type: string
          description: The transaction reference number supplied by the initiating bank on successful initiation of a transfer. Can be used for reconciliation.
      required:
      - id
      - payment_intent_id
      - payment_source_id
      - sender_details
      - recipient_details
      - amount
      - currency
      - description
      - submission_timestamp
      - initiation_timestamp
      - status
      - bank_transaction_reference
    PaymentIntent_2:
      type: object
      properties:
        payment_intent_id:
          type: string
          format: uuid
          description: The unique identifier for the Payment Intent.
        customer_id:
          type: string
          description: The Customer object associated with the Payment Intent.
        amount:
          type: number
          description: The amount that should be charged to the customer.
          format: float
        currency:
          type: string
          minLength: 3
          maxLength: 3
          examples:
          - AED
          - USD
          description: The currency that the customer will make the payment in.
        description:
          type: string
          description: The description submitted to the bank as a reference when initiating a payment. Can be used for reconciliation. By default this value is a the Payment Intent UUID without hyphens but you can also specify the description upon creation of a payment intent.
        payments:
          type: array
          items:
            $ref: '#/components/schemas/Payment_2'
          description: An array of Payment Initiation(s) - currently there will only ever be one Payment object within the array once a user has started to complete a payment.
        payment_destination:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: The unique identifier for the Payment Destination object.
            status:
              type: string
              enum:
              - CONFIRMED
              - PENDING
              description: The status of the Destination
            default:
              type: string
              description: When `true` this Destination is automatically populated into Payment Intents where an alternative `payment_destination_id` is not provided.
            name:
              type: string
              description: The name of the legal entity that owns the account.
            iban:
              type: string
              description: 'The IBAN of the account.

                This is required for all countries except for the US.'
            display_name:
              type: string
              description: The friendly display name for the account. This is rendered in the LinkSDK when referencing the Destination.
            address:
              type: string
              description: The address of the owner of the destination bank account has registered with the bank.
            city:
              type: string
              description: The city that the holding financial institution is located in.
            country:
              type: string
              description: The three letter ISO code for the holding financial institution's country.
            swift_code:
              type: string
              description: The SWIFT Code for the bank account - required for most international destinations
            account_number:
              type: string
              description: The account number for the account.
            customer_id:
              type: string
              description: The Customer object associated with this account. This field is optional, and will designate the Destination as owned by the application if not provided.
            owner_type:
              type: string
              description: Establishes the ownership of the Destination
              enum:
              - APPLICATION
              - CUSTOMER
          required:
          - id
          - status
          - default
          - name
          - display_name
          - address
          - city
          - country
          - account_number
      required:
      - payment_intent_id
      - customer_id
      - amount
      - currency
      - description
      - payments
      - payment_destination
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    bearer:
      type: http
      scheme: bearer
x-refined-from:
- lean-technologies-payments-core-openapi.yml
- lean-technologies-payments-openapi.yml