---
title: "Create payment"
method: POST
path: "/payments"
---

# Create payment

`POST /payments`

## Request body

- object
  - `version` '1.8' — API version to use for this request
  - `withEndToEndId` boolean — If true, generates an End-to-End identification for the payment transaction
  - `merchantId` string — A unique identifier for the merchant, required if orgMerchantId is not configured.
  - `redirectUrl` string — An optional url link to which the user will be redirected after the journey is done. If nothing is set than the url will be taken from the organization settings or the journey will just close
  - `externalId` string — An optional id that can be given to a payment
  - `includeFakeProviders` boolean — If true, this payment can be used with fake providers
  - `redirectFinalizePath` string — An optional path that is appended to the tppRedirectUrl in open banking payments. During the finalize step of the payment process, the user will be redirected to this specified path instead of the Open-Finance URL.
  - `psuId` string — The national id or passport number of the person paying
  - `psuCorporateId` string — The ID of a customer (business ID / national ID)
  - `psuIdType` string
  - `providerIds` string[]
  - `allowBusiness` boolean — If true this payment will allow business accounts
  - `isBusiness` boolean — If true this payment will be only of business type
  - `language` 'he' | 'en' — The language to use in the consent journey, if not set the user will be able to choose the language
  - `paymentProduct` string
  - `paymentService` 'masav' | 'fp' | 'zahav' — The type of the payment service
  - `iframe` boolean — indicates whether the payment journey would be displayed inside an iframe
  - `directPayOnly` boolean — Activates Direct Payment method, used to complete a payment without the need of an Open Banking connection
  - `paymentInformation` object, required — The information of the payment. amount, currency and description are required.
    - `amount` number, required — The amount of the payment (must be greater than 0)
    - `currency` string, required — The currency of the payment
    - `description` string, required — the description of the payment
    - `creditorAccountType` 'bban' | 'iban' — The type of the account number of the creditor
    - `creditorAccountNumber` string — The account number of the creditor. Must be in bban format if creditorAccountType is bban, and in iban format if creditorAccountType is iban. Example of bban: '10-944-50151142'. Example of iban: 'IL123456789012345678901'
    - `debtorId` string — Optional reference ID to a pre-configured debtor account. When provided, debtorAccountNumber and debtorAccountType must NOT be provided (mutually exclusive).
    - `debtorAccountType` 'bban' | 'iban' — The type of the account number of the debtor. Required when debtorId is not provided. Must be omitted when debtorId is provided.
    - `debtorAccountNumber` string — The account number of the debtor. Required when debtorId is not provided. Must be omitted when debtorId is provided. Must be in bban format if debtorAccountType is bban, and in iban format if debtorAccountType is iban. Example of bban: '10-944-50151142'. Example of iban: 'IL123456789012345678901'
    - `creditorName` string — The name of the creditor, must be a valid name with no special characters
    - `debtorName` string — The name of the debtor. must be a valid name with no special characters
  - `bulkPaymentInformation` object
    - `batchBookingPreferred` boolean
    - `paymentInformationId` string
    - `requestedExecutionDate` string, date
    - `requestedExecutionTime` string, date-time
    - `debtorAccountNumber` string, required
    - `debtorAccountType` 'iban' | 'bban', required
    - `payments` object[], required
      - `amount` number, required
      - `currency` string, required
      - `description` string, required
      - `creditorAccountType` 'iban' | 'bban'
      - `creditorAccountNumber` string
      - `creditorName` string
      - `merchantId` string
  - `periodicPaymentInformation` object — The information for periodic/recurring payments (only one of paymentInformation, bulkPaymentInformation, periodicPaymentInformation, or paymentId should be provided)
    - `merchantId` string — The merchant id instead of providing creditorAccountNumber & creditorName
    - `amount` number, required — The amount of each periodic payment
    - `currency` string, required — ISO 4217 Alpha 3 currency code
    - `description` string, required — Remittance information for the periodic payment
    - `creditorAccountType` 'iban' | 'bban' — The receiving account type
    - `creditorAccountNumber` string — The receiving account number
    - `creditorName` string — The creditor name
    - `debtorAccountNumber` string, required — The giving account number
    - `debtorAccountType` 'iban' | 'bban', required — The giving account type
    - `debtorName` string — The debtor name
    - `startDate` string, date, required — The first applicable day of execution. The first payment will be on this date or the following working day.
    - `endDate` string, date — The last applicable day of execution. If not provided, the standing order will be infinite.
    - `frequency` 'Daily' | 'Weekly' | 'EveryTwoWeeks' | 'Monthly' | 'EveryTwoMonths' | 'Quarterly' | 'SemiAnnual' | 'Annual' | 'MonthlyVariable', required — The frequency of the recurring payment
    - `executionRule` 'following' | 'preceding' — Defines behavior when payment date falls on weekend/holiday
    - `dayOfExecution` string — Day of month for execution (1-31, where 31 means ultimo)
    - `monthsOfExecution` string[] — Array of months (1-12) for execution. Only valid when frequency is 'MonthlyVariable'
  - `callbackInformation` object — Information regarding callbacks and webhooks for the payment
    - `webhooks` object
      - `enabled` boolean — Indicates if webhooks are enabled
      - `successUrl` string — URL to be called upon successful payment
      - `failUrl` string — URL to be called upon failed payment
      - `oauth` object
        - `enabled` boolean — Indicates if OAuth is enabled
        - `clientId` string — OAuth client ID
        - `clientSecret` string — OAuth client secret
        - `audience` string — OAuth audience
        - `scope` string — OAuth scope
        - `tokenUrl` string — OAuth token URL
      - `customHeaders` object — Custom headers to include in the callback

## Response `201`

Response

- object
  - `id` string — A unique identifier for the payment
  - `payUrl` string — A link forwarding the end-user to the payment journey

## Other responses

- `400` — Bad request - Validation errors, business rule violations, or missing required fields.
- `401` — Unauthorized - Invalid or missing access token
- `403` — Forbidden - Access token missing required permissions
- `404` — Not found - Merchant or token-related issues
- `500` — Internal server error

---

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