---
title: "Transaction registration"
method: POST
path: "/api/v1/transaction/register"
tags: ["Transaction service API"]
---

# Transaction registration

`POST /api/v1/transaction/register`

## Request

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

## Request body

- TransactionRequestBody1
  - `merchantId` integer, required: Store 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 - makes all payment methods available</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>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>Note:</strong> To enable multiple channels simultaneously, add their values together.</p>
  - `waitForResult` boolean: This parameter determines whether the user is redirected back to the store immediately after making the payment or only after the transaction result (including payment confirmation) has arrived. <a href="#tag/Use-cases/How-to-enable-a-smooth-return-to-the-store-without-waiting-for-synchronous-payment-confirmation"><b>Read more</b></a>
  - `regulationAccept` boolean: Acceptance of the Przelewy24 terms and conditions: <br/>false - display the consent on the P24 page (default),<br/>true - consent has been granted; do not display it.<br/>When sending the value “true”, the Partner's website must include consent with the following wording: “I declare that I have read and accept the [terms and conditions](https://www.przelewy24.pl/regulamin) and the [information obligation](https://www.przelewy24.pl/obowiazekinformacyjny) of the Przelewy24 service.” <br/>The words <i>terms and conditions</i> and <i>information obligation</i> must link to the pages containing these documents. The checkbox must not be selected by default.
  - `shipping` integer: Delivery or shipping cost.
  - `transferLabel` string: Description displayed in the transfer title. Allowed characters: `[a-z A-Z 0-9 ęółśążźćńĘÓŁŚĄŻŹĆŃ . /\ :- ]`.
  - `mobileLib` 1: Sending this parameter is required when using SDK libraries. Set <b>mobileLib</b> to 1 and use the <b>sdkVersion</b> parameter to specify the version of the library to be used.
  - `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>"str",<font color="brown">"merchantId":</font>int,<font color="brown">"amount":</font>int,<font color="brown">"currency":</font>"str",<font color="brown">"crc":</font>"str"} <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
  - `methodRefId` string: Special parameter required for certain payment processes, e.g. BLIK and one-click cards.
  - `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>
  - `additional` AdditionalProperties
    - `shipping` object: Additional delivery data
      - `type` 0 | 1 | 2 | 3, required: Delivery type:<br><br>`0` - courier;<br>`1` - delivery to a pickup point;<br>`2` - parcel locker;<br>`3` - in-store pickup.
      - `address` string, required: Delivery address: street and number
      - `zip` string, required: Postal code
      - `city` string, required: Shipping-address city
      - `country` string, required: Shipping-address country
    - `PSU` object: Payment Service User<br> <b><font color="#DB2053">IMPORTANT!</font></b><br> This object is required when using the <b><a href="#tag/BLIK-API/operation/chargeBlikByCode">blikChargeByCode</a></b> or <b><a href="#tag/BLIK-API/paths/~1api~1v1~1paymentMethod~1blik~1chargeByAlias/post">blikChargeByAlias</a></b> methods.
      - `IP` string: IPv4 or IPv6
      - `userAgent` string: `userAgent` is a string that identifies the browser and operating system.

## 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, 2 info
  - removed the enum value `1.00` of the request property `channel`
  - removed the enum value `128.00` of the request property `channel`
  - removed the enum value `16.00` of the request property `channel`
  - removed the enum value `16384.00` of the request property `channel`
  - …19 more
- **2024-09-18** `e9d9982466d8`: 1 breaking, 1 warning, 2 info
  - added `#/components/schemas/AdditionalProperties` to the `additional` request property `allOf` list
  - removed the request property `additional/shipping`
  - added the new `16384.00` enum value to the request property `channel`
  - added the new `8192.00` enum value to the request property `channel`

[Operation history](https://skmtc.dev/przelewy24/apis/przelewy24-rest-api-documentation/changes/api/v1/transaction/register/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)
