Lean Technologies Payment Intents API
The Payment Intents API from Lean Technologies — 2 operation(s) for payment intents.
The Payment Intents API from Lean Technologies — 2 operation(s) for payment intents.
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/lean-technologies-payment-intents-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: UAE - V2 Payment Intents API
description: ''
version: 1.0.0
servers:
- url: https://sandbox.leantech.me
description: Sandbox
- url: https://api2.leantech.me
description: Production / Pre-live
security:
- bearer: []
tags:
- name: Payment Intents
paths:
/payments/v1/intents:
post:
summary: Create Payment Intent
deprecated: false
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()` or `checkout()` method of the LinkSDK.
operationId: createPaymentIntent
tags:
- Payment Intents
parameters: []
requestBody:
content:
application/json:
schema:
type: object
properties:
customer_id:
type: string
format: uuid
description: The Customer you want to make a payment.
amount:
type: number
description: The amount that should be charged to the customer.
format: float
examples:
- 120.43
currency:
type: string
minLength: 3
maxLength: 3
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.
payment_destination_id:
type: string
description: Payment destination for where funds are settled into.
purpose_code:
type: string
description: "A category code that relates to the type of services or goods that corresponds to the underlying purpose of the payment. The code must conform to the payment purpose code list. \n**Supported values:** \n- `FIS` – Financial services\n- `TCS` – Telecommunication services\n- `MWP` – Mobile wallet card payments\n- `OAT` – Own account transfer\n- `IFS` – Information services\n- `RNT` – Rent payments\n- `LNC` – Loan charges\n- `PIN` – Personal investments\n- `GDS` – Goods bought or sold"
enum:
- FIS
- TCS
- MWP
- OAT
- IFS
- RNT
- LNC
- PIN
- GDS
required:
- customer_id
- amount
- currency
responses:
'200':
description: ''
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: CONFIRMED
address: Acme Towers, 51st Floor
country: ARE
city: Dubai
default: true
owner_type: APPLICATION
headers: {}
security:
- bearer: []
get:
summary: List Payment Intents
deprecated: false
description: List all Payment Intents
operationId: listPaymentIntents
tags:
- Payment Intents
parameters:
- name: page
in: query
description: Set which page to fetch (indexed to 0)
required: true
example: 0
schema:
type: integer
- name: size
in: query
description: Set the page size to be returned
required: true
example: 50
schema:
type: integer
- 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: ''
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: CONFIRMED
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
headers: {}
security:
- bearer: []
/payments/v1/intents/{payment_intent_id}:
get:
summary: Get Payment Intent
deprecated: false
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.
operationId: getPaymentIntentById
tags:
- Payment Intents
parameters:
- name: payment_intent_id
in: path
description: ''
required: true
schema:
type: string
responses:
'200':
description: ''
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: CONFIRMED
address: Acme Towers, 51st Floor
country: ARE
city: Dubai
default: true
owner_type: APPLICATION
headers: {}
security:
- bearer: []
components:
schemas:
PaymentIntent:
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'
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
Pagination:
type: object
properties:
number:
type: integer
description: The current page being returned by the API
size:
type: integer
description: The page size requested
total_elements:
type: integer
description: The total number of elements in all pages
total_pages:
type: integer
description: The total number of pages retrievable
required:
- number
- size
- total_elements
- total_pages
Payment:
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
securitySchemes:
bearer:
type: http
scheme: bearer