---
title: "Split Payment"
method: POST
path: "/api/v1/transaction/register/splitpayment"
tags: ["Additional API functionality"]
---

# Split Payment

`POST /api/v1/transaction/register/splitpayment`

## Request

- Base URL: `https://sandbox.przelewy24.pl`
- URL: `https://sandbox.przelewy24.pl/api/v1/transaction/register/splitpayment`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/docs/api/v1/transaction/register/splitpayment/post.ts> (a function with typed inputs; its response is checked against the schema)

A Split Payment is processed using a previously registered token, in a process analogous to <a href="#tag/Transaction-service-API/operation/registerTransaction"><b>transaction/register</b></a>. When registering the token, add the <b>splitPaymentDetails</b> object intended for this transaction type.

## Request body

- TransactionSplitPayment
  - `merchantId` integer, required: Merchant ID
  - `posId` integer, required: Store ID (merchant ID by default)
  - `sessionId` string, required: Unique identifier from the merchant's system
  - `amount` integer, required: Transaction amount expressed in grosz, e.g. `1.23 PLN = 123`.
  - `currency` string, required: Currency code compliant with ISO 4217, e.g. `PLN`.
  - `description` string, required: Transaction description
  - `email` string, email, required: Customer's email address
  - `client` string: Customer's full name
  - `address` string: Customer's address
  - `zip` string: Customer postal code
  - `city` string: Customer city
  - `country` string, required: Country codes compliant with ISO 3166-1 alpha-2, e.g. `PL`, `DE`.
  - `phone` string: Customer's phone number in the format `481321132123`.
  - `language` string, required: One of the following language codes compliant with ISO 639-1: bg, cs, de, en, es, fr, hr, hu, it, nl, pl, pt, se, sk, ro
  - `method` integer: Payment method identifier. The list of methods is available in the panel or through the API.
  - `urlReturn` string, uri, required: Return URL after the transaction is completed
  - `urlStatus` string, uri: URL to which the transaction status is sent
  - `timeLimit` integer: Time limit for completing the transaction, in minutes: `0` means no limit, and the maximum value is `99`.
  - `channel` integer: <p><strong>Payment channel bitmask.</strong></p> <p>To enable multiple channels, add their values together.</p> <blockquote> <strong>Example:</strong><br> bank transfers (<code>2</code>) + traditional transfer (<code>4</code>) = <code>6</code> </blockquote> <p><strong>Available bit values:</strong></p> <table> <tr><th>Value</th><th>Description</th></tr> <tr><td><code>1</code></td><td>cards + Apple Pay + Google Pay</td></tr> <tr><td><code>2</code></td><td>bank transfers</td></tr> <tr><td><code>4</code></td><td>traditional transfer</td></tr> <tr><td><code>8</code></td><td>N/A</td></tr> <tr><td><code>16</code></td><td>all 24/7 methods</td></tr> <tr><td><code>32</code></td><td>use advance payment</td></tr> <tr><td><code>64</code></td><td>pay-by-link methods only</td></tr> <tr><td><code>128</code></td><td>installment methods</td></tr> <tr><td><code>256</code></td><td>digital wallets</td></tr> <tr><td><code>4096</code></td><td>cards</td></tr> <tr><td><code>8192</code></td><td>BLIK</td></tr> <tr><td><code>16384</code></td><td>all methods except BLIK</td></tr> </table> <p><strong>Example:</strong> bank transfers + traditional transfer → <code>channel=6</code></p>
  - `shipping` integer: Delivery or shipping cost.
  - `transferLabel` string: Description displayed in the transfer title. Allowed characters: `[a-z A-Z 0-9 ęółśążźćńĘÓŁŚĄŻŹĆŃ . /\ :- ]`.
  - `sdkVersion` string: Mobile library version. Specifies whether the transaction is processed on a mobile device.
  - `sign` string, required: <br>Parameter checksum:<br>{<font color="brown">"sessionId":</font>"string",<font color="brown">"merchantId":</font>int,<font color="brown">"amount":</font>int,<font color="brown">"currency":</font>"string",<font color="brown">"crc":</font>"string"} <br><br>Calculated using the SHA-384 algorithm<br><br><b><font color="#DB2053">IMPORTANT!</font></b><br>When using the `json_encode` function, apply the following flags:<br>"JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES"
  - `encoding` string: Character encoding system: ISO-8859-2, UTF-8, Windows-1250
  - `cart` CartParameters[]: Cart
    - `sellerId` string, required: Store ID in the partner's system.
    - `sellerCategory` string, required: Store category
    - `name` string: Product name<br/><br/><font color="red">Required for the PayPal payment method</font>
    - `description` string: Product description<br/><br/><font color="red">Required for the PayPal payment method</font>
    - `quantity` integer: Product quantity<br/><br/><font color="red">Required for the PayPal payment method</font>
    - `price` integer: Product price<br/><br/><font color="red">Required for the PayPal payment method</font>
    - `number` string: Product number<br/><br/><font color="red">Required for the PayPal payment method</font>
  - `methodRefId` string: Special parameter required for certain payment processes, e.g. BLIK and one-click cards.
  - `splitPaymentDetails` object, required
    - `vatAmount` integer, required: VAT amount
    - `invoiceNumber` string, required: Invoice number
    - `nip` string, required: Tax identification number
    - `iban` string: International Bank Account Number (IBAN).

## Response `200`

OK

- TransactionRegistrationResponse
  - `data` object
    - `token` string
  - `responseCode` number

## Other responses

- `400`: Bad Request
- `401`: Unauthorized

## Changes

- **2026-09-03** `5861a691aa36`: 20 breaking, 1 warning, 1 info
  - the request's body type changed from no type to `object`
  - removed the enum value `1` of the request property `channel`
  - removed the enum value `128` of the request property `channel`
  - removed the enum value `16` of the request property `channel`
  - …18 more
- **2024-09-18** `e9d9982466d8`: 2 info
  - added the new `16384` enum value to the request property `channel`
  - added the new `8192` enum value to the request property `channel`

[Operation history](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/changes/api/v1/transaction/register/splitpayment/post.md)

---

[API](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation.md) - [All operations](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/revisions/5861a691aa36?raw)
