---
title: "Create single payment"
method: POST
path: "/single"
tags: ["Single Payment"]
---

# Create single payment

`POST /single`

Creates a Single Payment

**Required scope:** <code style="background:#e8f0fe;color:#1a73e8;padding:2px 8px;border-radius:12px;font-size:0.85em">single:create</code>

## Request body

- object
  - `type` 'sale' | 'authorisation' — Specifies the type of financial operation being performed. TYPE | DESCRIPTION | ---------|----------| sale | a complete transaction where funds are immediately captured. | authorisation | a temporary hold on funds pending a future capture. |
  - `capture` CreateCapture — The Capture object contains all the necessary information for executing a fund capture action. It defines how and where the funds should be routed upon capturing a transaction. This object is essential for finalizing transactions and ensuring the correct allocation of funds. Object required when the operation type is Sale.
    - `descriptive` string, required — A text field that describes the transaction as it will appear on the end user's account statement. This is typically used to provide clear, recognizable information about the payment, such as "Payment of Invoice Nº 1982652" or "Ticket for Queen".
    - `transaction_key` string — A customizable text field for users to input their own identifier for the resource. This can be any string that helps the user uniquely identify or reference the resource in their own system.
    - `account` CaptureAccount — An object within the capture request that specifies the details of the account to which the funds should be routed, different from the initially requested account. This ensures that the captured funds are directed to the correct destination as per the specific routing requirements.
      - `id` string, required — The unique identifier of the account where the captured funds will be routed. This ID corresponds to an existing account in the system and is used to specify the destination for the capture transaction.
    - `capture_date` string, date — The date when the action should be executed. This field specifies the exact day for capturing the transaction, formatted as "YYYY-MM-DD" (e.g., "2024-06-30"). It is optional and defaults to the current date if not specified.
    - `splits` CaptureSplitCreate[] — An array of split objects defining how funds should be divided among multiple accounts. Each split specifies an account, an amount, and optional margin details. This is useful for marketplace or multi-vendor scenarios where transaction proceeds need to be distributed across different parties.
      - `split_key` string — A customizable text field for users to input their own identifier for the split.
      - `split_descriptive` string — A text field that describes the transaction as it will appear on the end user's account statement. This is typically used to provide clear, recognizable information about the payment, such as "Payment of Invoice Nº 1982652" or "Ticket for Queen".
      - `account` object — The account to receive the split funds
        - `id` string, required
      - `value` number, double, required — The monetary amount for the transaction. This field specifies the value of the payment in the designated currency. It must be a positive decimal number representing the exact amount to be processed.
      - `clearing_period` string — The clearing period must follow the format 1Y, 10W or 30D. Y for Years, W for weeks, D for days. Minimum is 7 days, maximum is 1 year.
      - `margin_account` object — The account to which the margin value should be routed. This field specifies the destination account for the margin portion of the funds, ensuring that the correct recipient receives the designated margin value.
        - `id` string, required
      - `margin_value` number, double — The margin amount to be deducted from this split
      - `reward` object — Reward credits to generate from this split. The credits are associated with the customer provided at the top level of the payment request and can only be redeemed by that customer. Reward funds expire after the specified period. See the [Rewards & Redemptions guide](/docs/guides/rewards-and-redemptions) for the full flow.
        - `account` object, required — The account to which the reward credits should be routed.
          - `id` string, required
        - `value` number, double, required — The reward amount to be generated from this split.
        - `expiration_date` string, date — The date until which the reward credits are valid. Defaults to 12 months from the transaction date if not specified.
    - `reward_redemption` RewardRedemption — Apply accumulated reward credits to reduce the payment value. Supports full or partial redemption of available reward balance. See the [Rewards & Redemptions guide](/docs/guides/rewards-and-redemptions) for the full flow.
      - `account` object, required — The reward account to debit credits from.
        - `id` string, required
      - `value` number, double, required — The reward amount to apply. Must not exceed the available reward balance or the payment value.
  - `expiration_time` string — The last possible time to make the payment. Applicable in Multibanco payments. This field is deprecated, use multibanco.expiration_time instead.
  - `currency` string — ISO 4217 currency code. If not specified, the default currency is set to EUR.
  - `value` number, double, required — The monetary amount for the transaction. This field specifies the value of the payment in the designated currency. It must be a positive decimal number representing the exact amount to be processed.
  - `method` 'CC' | 'VI' | 'DD' | 'MB' | 'MBW' | 'GP' | 'AP' | 'SW' | 'IPP', required — Enumerates the possible values for the payment method used in the transaction. This field helps to identify the selected payment method. Possible values include: METHOD | DESCRIPTION | ---------|--------------------| CC | Credit Card | VI | Digital IBAN | DD | Direct Debit | MB | Multibanco | MBW | MB WAY | GP | Google Pay* | AP | Apple Pay* | SW | Samsung Wallet* | IPP | In-Person Payment | <p style="color: red;"><b>*payment only available through checkout yet</b></p>
  - `terminal` object — An object that holds the details specific to the terminal used in the transaction. Required when `method` is `IPP`.
    - `id` string, uuid, required — The unique identifier of the terminal.
  - `key` string — A customizable text field for users to input their own identifier for the resource. This can be any string that helps the user uniquely identify or reference the resource in their own system.
  - `customer` Customer — The Customer object contains the necessary details about the customer involved in the transaction. This includes identification information, contact details, and preferences. All fields are optional unless specified otherwise.
    - `id` string, uuid — Unique identifier for the customer. When provided, it links the transaction to an existing customer record.
    - `name` string — Full name of the customer. This is typically displayed on receipts and statements.
    - `email` string, email — Customer's email address. Used for sending receipts, notifications, and payment confirmations.
    - `phone` string — The contact phone number of the customer, excluding the country code indicator (e.g., "+351"). This field is used for communication purposes. If the payment method is MB WAY, the phone_number is required and is used to send the MB WAY push notification.
    - `phone_indicative` string — The country code indicator for the customer's phone number (e.g., "351" for Portugal). This field is used in conjunction with the phone number to ensure proper international dialing and communication.
    - `fiscal_number` string — Customer's tax identification number or fiscal number. Format may vary by country.
    - `key` string — A customizable text field for users to input their own identifier for the customer. This can be any string that helps the user uniquely identify the customer in their own system.
    - `language` 'PT' | 'EN' | 'ES' — Preferred language for customer communications. Uses ISO 639-1 language codes.
  - `multibanco` object — An object that holds the details specific to a Multibanco transaction.
    - `expiration_time` string, date-time, required — The end timestamp indicating the deadline by which the Multibanco Reference must be paid. It defines the final time within which the payment must be completed. The format follows RFC3339 (e.g., "2024-06-30T21:38:31Z").
    - `start_time` string, date-time — The starting timestamp indicating when the Multibanco Reference becomes valid for payment. It defines the initial time from which the payment can be made. The format follows RFC3339 (e.g., "2024-06-30T21:38:31Z"). This field is optional and defaults to the current timestamp if not specified, or if the sent value is in the past.
    - `product` 'FILE' | 'SPG' | 'CHECKDIGIT' — This field is used to select the desired product. Below, the supported features for each product are listed. The default value is CHECKDIGIT. Additional costs may apply depending on the selected product. **Product Features:** | Product Type | Immediate Issuance | Expiration Date | Start Date | |--------------|-------------------|-----------------|------------| | CHECKDIGIT | ✓ | ✓ | ✗ | | SPG | ✗ | ✓ | ✓ | | FILE | ✗ | ✓ | ✓ | **Descriptions:** - **CHECKDIGIT**: Standard Multibanco references with immediate issuance - **SPG**: Special purpose group references with scheduling capabilities - **FILE**: File-based references for batch processing
  - `mbway` object — An object that holds the details specific to an MB WAY transaction. Only applicable when `method` is `MBW`; it is ignored for any other method.
    - `phone` string — The phone number to charge for the MB WAY payment, in full E.164 format (leading `+` and country code). When present, this number is charged instead of the one built from `customer.phone_indicative` and `customer.phone`, and `customer.phone` becomes optional. `customer.phone` is left untouched.
  - `sdd_mandate` SddMandate — The SDD Mandate object contains the necessary fields to create a SEPA Direct Debit mandate. This object ensures that all required information is provided to authorize and process SEPA Direct Debit transactions. Object required when method is Direct Debit.
    - `iban` string, required — The International Bank Account Number (IBAN) of the debtor's account. This field is used to uniquely identify the debtor's bank account across international borders, ensuring accurate and efficient processing of SEPA Direct Debit transactions. The IBAN is a standardized format that includes the country code, check digits, bank code, and account number.
    - `key` string — A customizable text field for users to input their own identifier for the SDD mandate.
    - `name` string, required — Full name of the account holder as it appears on the bank account.
    - `email` string, email, required — Email address of the account holder for mandate-related communications.
    - `phone` string, required — Phone number of the account holder without country code.
    - `account_holder` string, required — The name of the person or entity that holds the bank account. This field is used to identify the owner of the bank account involved in the transaction, ensuring that the correct account is credited or debited.
    - `country_code` string — ISO 3166-1 alpha-2 country code of the customer's country.
    - `max_num_debits` string — Maximum number of debits allowed under this mandate.
    - `billing_entity` string — The entity responsible for billing in the context of the SEPA Direct Debit (SDD) mandate.
  - `notification` Notification — Notification settings for payment methods.
    - `customer_method_instructions_email` boolean — Specifies whether an email containing the payment instructions (e.g., Multibanco reference or Virtual IBAN details) should be sent to the customer's email address when the selected payment method is Multibanco or Virtual IBAN.

## Response `201`

Created

- object
  - `status` 'ok' | 'error' — Indicates the overall status of the API response. 'ok' means the request was successful, 'error' indicates there was a problem.
  - `message` string[] — An array of messages providing details about the response status. These messages give additional context about the operation result.
  - `id` string, uuid
  - `method` MethodOnPostResponse — Method information returned in POST responses after creating a payment
    - `type` 'MB' | 'CC' | 'DD' | 'MBW' | 'VI' | 'AP' | 'GP' | 'SW' — The payment method type
    - `status` 'waiting' | 'pending' | 'active' | 'deleted' | 'success' — The current status of the payment method
    - `entity` string — Multibanco entity (for Multibanco payments)
    - `reference` string — Multibanco reference (for Multibanco payments)
    - `expiration_date` string — Expiration date of the payment method formatted as MM/DD
    - `url` string, uri — Payment URL (for certain payment methods)
    - `sdd_mandate` SddMandateResponseOnDetail — SDD Mandate information as returned in detail responses
      - `id` string — Mandate ID
      - `iban` string — International Bank Account Number (IBAN) in standard format
      - `key` string — Mandate key
      - `name` string — Account holder name
      - `email` string, email — Account holder email
      - `phone` string — Account holder phone
      - `account_holder` string — Account holder name as registered with bank
      - `country_code` string — Country code
      - `max_num_debits` string — Maximum number of debits allowed
      - `billing_entity` string — Billing entity identifier
      - `reference_adc` string
    - `mbway` ResponseMbway — An object that holds the details specific to an MB WAY payment.
      - `phone` string — The phone number charged for the MB WAY payment, in full E.164 format (leading `+` and country code).
  - `customer` object
    - `id` string, uuid
  - `capture` object
    - `id` string, uuid
    - `splits` CaptureSplitResponse[]
      - `id` string, required
      - `status` string, required — The current state of this split. `pending` while the split is queued, `success` once the funds have been routed, `failed` if processing errored, `refunded` if the split was reversed.
      - `split_key` string — A customizable text field for users to input their own identifier for the split.
      - `split_descriptive` string — A text field that describes the transaction as it will appear on the end user's account statement. This is typically used to provide clear, recognizable information about the payment, such as "Payment of Invoice Nº 1982652" or "Ticket for Queen".
      - `account` object — The account to receive the split funds
        - `id` string, required
      - `value` number, double, required — The monetary amount for the transaction. This field specifies the value of the payment in the designated currency. It must be a positive decimal number representing the exact amount to be processed.
      - `clearing_date` string, date — The clearing date refers to the specific date when a financial transaction is finalized and the funds are transferred from one account to another. This is the point at which the payment is officially completed and the amount is debited from the payer’s account and credited to the payee’s account.
      - `margin_account` object — The account to which the margin value should be routed. This field specifies the destination account for the margin portion of the funds, ensuring that the correct recipient receives the designated margin value.
        - `id` string, required
      - `margin_value` number, double — The margin amount to be deducted from this split
      - `reward` object — Reward credits generated from this split. The credits are associated with the customer provided at the top level of the payment request and can only be redeemed by that customer. Reward funds expire after the specified period.
        - `account` object, required — The account to which the reward credits are routed.
          - `id` string, required
        - `value` number, double, required — The reward amount generated from this split.
        - `expiration_date` string, date, required — The date until which the reward credits are valid.
      - `reverts` SplitReverts
        - `id` string, uuid — The unique identifier for the split associated with the capture.
        - `value` number, double — The monetary amount requested for the transaction. This field is formatted as a double, and will be rounded to two decimal places (e.g., "100.00"). The value must be greater than or equal to 0.5.
        - `margin_value` number, double — The monetary amount designated as the margin in a split payment. This field is formatted as a double, and will be rounded to two decimal places (e.g., "10.00"). The value must be less than the total value of the split. This specifies the portion of the funds that should be routed to the margin account.
    - `reward_redemption` object — Reward credits redeemed in this payment.
      - `account` object
        - `id` string, required
      - `value` number, double — The redeemed reward amount.
  - `multibanco` ResponseMultibanco — An object that holds the details specific to a Multibanco transaction response.
    - `expiration_time` string, date-time, nullable — When the Multibanco reference expires
    - `start_time` string, date-time — When the Multibanco reference becomes valid
    - `product` 'SPG' | 'CHECKDIGIT' | 'FILE' — The Multibanco product type used
  - `notification` Notification — Notification settings for payment methods.
    - `customer_method_instructions_email` boolean — Specifies whether an email containing the payment instructions (e.g., Multibanco reference or Virtual IBAN details) should be sent to the customer's email address when the selected payment method is Multibanco or Virtual IBAN.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `412` — Pre condition failed
- `500` — Internal Server Error

---

[API](https://skmtc.net/easypay/apis/easypay-payments-api.md) · [All operations](https://skmtc.net/easypay/apis/easypay-payments-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/easypay/easypay-payments-api/versions/cdf25a9ad7b2/schema)
