---
title: "Create Payment Intent"
method: POST
path: "/payments/v1/intents"
tags: ["Payment Intents"]
---

# Create Payment Intent

`POST /payments/v1/intents`

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.

## Request body

- object
  - `customer_id` string, uuid, required — The Customer you want to make a payment.
  - `amount` number, float, required — The amount that should be charged to the customer.
  - `currency` string, required — The currency that the customer will make the payment in.
  - `description` string — 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` string — Payment destination for where funds are settled into.
  - `purpose_code` 'FIS' | 'TCS' | 'MWP' | 'OAT' | 'IFS' | 'RNT' | 'LNC' | 'PIN' | 'GDS' — 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. **Supported values:** - `FIS` – Financial services - `TCS` – Telecommunication services - `MWP` – Mobile wallet card payments - `OAT` – Own account transfer - `IFS` – Information services - `RNT` – Rent payments - `LNC` – Loan charges - `PIN` – Personal investments - `GDS` – Goods bought or sold

## Response `200`

- PaymentIntent
  - `payment_intent_id` string, uuid, required — The unique identifier for the Payment Intent.
  - `customer_id` string, required — The Customer object associated with the Payment Intent.
  - `amount` number, float, required — The amount that should be charged to the customer.
  - `currency` string, required — The currency that the customer will make the payment in.
  - `description` string, required — 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` Payment[], required — 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.
    - `id` string, uuid, required — The unique identifier for this payment.
    - `payment_intent_id` string, uuid, required — The Payment Intent identifier responsible for generating the Payment.
    - `payment_source_id` string, uuid, required — The identifier for the payment source object from which the payment was initiatied.
    - `sender_details` object, required — The account details for the customer sending the payment. Includes account number, name of the account holder and IBAN.
      - `account_number` string, required
      - `iban` string, required
      - `name` string, required
    - `recipient_details` object, required — Details for the recipient of the Payment, generated from the details available in the payment_destination.
      - `account_number` string, required
      - `iban` string, required
      - `name` string, required
    - `amount` number, required — The amount the charge was initiated for.
    - `currency` string, required — The currency the payment was initiated with.
    - `description` string, required — 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` string, required — The time the Payment Initiation was submitted.
    - `initiation_timestamp` string, required — The time the Payment Initiation was started.
    - `status` 'AWAITING_LOGIN_MFA' | 'AWAITING_PAYMENT_MFA' | 'AWAITING_APP_AUTH' | 'FAILED' | 'PENDING_WITH_BANK' | 'ACCEPTED_BY_BANK', required — The current status of the payment - see Payments Errors for a list of available MFAs.
    - `bank_transaction_reference` string, required — The transaction reference number supplied by the initiating bank on successful initiation of a transfer. Can be used for reconciliation.
  - `payment_destination` object, required
    - `id` string, uuid, required — The unique identifier for the Payment Destination object.
    - `status` 'CONFIRMED' | 'PENDING', required — The status of the Destination
    - `default` string, required — When `true` this Destination is automatically populated into Payment Intents where an alternative `payment_destination_id` is not provided.
    - `name` string, required — The name of the legal entity that owns the account.
    - `iban` string — The IBAN of the account. This is required for all countries except for the US.
    - `display_name` string, required — The friendly display name for the account. This is rendered in the LinkSDK when referencing the Destination.
    - `address` string, required — The address of the owner of the destination bank account has registered with the bank.
    - `city` string, required — The city that the holding financial institution is located in.
    - `country` string, required — The three letter ISO code for the holding financial institution's country.
    - `swift_code` string — The SWIFT Code for the bank account - required for most international destinations
    - `account_number` string, required — The account number for the account.
    - `customer_id` string — 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` 'APPLICATION' | 'CUSTOMER' — Establishes the ownership of the Destination

---

[API](https://skmtc.net/leantech/apis/auth.md) · [All operations](https://skmtc.net/leantech/apis/auth/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/leantech/auth/revisions/c2e46d54d886/schema)
