openapi: 3.1.0 info: version: 2.1.0 title: PayU GPO Europe REST API license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html x-logo: url: >- https://poland.payu.com/wp-content/themes/global-website/assets/src/images/payu-logo.svg description: >- # Overview This reference is designed to assist you in effectively utilizing the PayU REST API to enhance your online payment capabilities. Whether you're running an e-commerce store or developing applications that require secure and seamless payment processing, our API offers a range of features to meet your needs. Our API offers a comprehensive set of endpoints to empower you with full control over your payment processes. With these endpoints, you can seamlessly create, capture, cancel, and retrieve orders, conduct payouts, and access essential reports. For more details on the integration, please refer to the official PayU documentation. It provides comprehensive explanations, code samples, and best practices for seamless integration of the PayU API into your applications. ## Testing ### Production Environment For a basic integration, including only a redirection to PayU hosted payment page, it is perfectly enough to use the public test point of sale. However, if you would like to test a full set of endpoints, including e.g. refunds, consider registering for a sandbox account. **Public Test POS (point of sale)** | Key name | Value | | ------------------------------ | -------------------------------: | | POS ID (pos_id) | 145227 | | OAuth protocol - client_id | 145227 | | Second key (MD5) | 13a980d4f851f3d9a1cfc792fb1f5e50 | | OAuth protocol - client_secret | 12f071174cb7eb79d4aac5bc2f07563f | ### Sandbox Environment Sandbox is an almost identical copy of PayU production system. It can be used for integration and testing purposes. **Public Test POS (Point of Sale)** Although it is best to create your own account to later be able to configure it as needed, you may also use a public sandbox test POS without registering: | Key name | Value | | ------------------------------ | -------------------------------: | | POS ID (pos_id) | 300746 | | OAuth protocol - client_id | 300746 | | Second key (MD5) | b6ca15b0d1020e8094d9b5f8d163db54 | | OAuth protocol - client_secret | 2ee86a66e5d97e3fadc400c9f19b065d | The availability of the sandbox environment can be checked on the Status page. **Testing Card Payments** In order to test card payments on sandbox, please use credentials displayed on the Sandbox documentation page. servers: - url: https://secure.payu.com description: Production Server - url: https://secure.snd.payu.com description: Sandbox Test Server tags: - name: Authorize description: >- Authentication involves generating an OAuth token, which is used for further communication with PayU servers. To create a standard OAuth token, you will need client_id and client_secret keys, which can be found in your merchant panel, in the POS. - name: Payment-Methods x-displayName: Payment Methods description: >- Retrieving payment methods allows you to remove the threat of presenting a disabled payment method with white-label integration. It also gives you the ability to retrieve stored tokens and customer card data. - name: Order x-displayName: Order description: >- Order is the basic payment request for the standard integration with PayU. > If the response to the payment creation request is returned with an **HTTP 200** status and in HTML format, make sure that the tool used to communicate with PayU has automatic redirect handling disabled. Only in this case is it possible to receive the correct JSON response with an **HTTP 302** status code. - name: Shop description: >- Shop is the main entity in the management panel. It is the place where you can manage incoming transactions processed by PayU. - name: Refund description: >- The PayU system fully supports refunds for the processed payments, the balance of which is transferred directly to the buyer's account. - name: Payout description: To widthraw funds from the PayU account you need to create a payout. - name: Token description: >- With tokenization, we are confident that your customers' card data is protected from third parties. - name: MCP x-displayName: Multi-Currency Pricing description: >- We can convert your customers' payments to the currency of your shop set up with PayU. - name: FX-Reference x-displayName: FX Reference description: >- According to regulations in the European Union countries, payment service providers and parties providing currency conversion services at the point of sale are obliged to express the total currency conversion charges as a percentage mark-up over the latest available euro foreign exchange reference rates issued by the European Central Bank (ECB). - name: Marketplace-Seller x-displayName: Marketplace Seller description: >- In PayU, as a marketplace, you have the capability to manage various aspects of your submerchants. - name: Marketplace-Verification x-displayName: Marketplace Verification description: >- PayU is required by the Anti-Money Laundering Act to verify customers in this context. For this purpose, we provide a collection of endpoints to make it easier for you to verify sellers. - name: Card Installments x-displayName: Card Installments description: >- Retrieve available card installments options for specific card. For merchants operating on the Romanian market (Requires contact with a Payu representative first). - name: Statements x-displayName: Statements description: >- Statements in PayU are comprehensive reports that provide a detailed summary of completed purchase transactions, refunds, and payouts. - name: Partner-Merchant-Registration x-displayName: Partner Merchant Registration description: >- Below are the endpoints that enable you to create the necessary entities (Firm, Url, Shop, POS) for your partner. - name: PF-Submerchant-Registration x-displayName: Payment Facilitator Submerchant Registration description: >- Payment Facilitator (PF) is an advanced form of partnership where PayU cedes much of its own responsibilities, like e.g. Know Your Customer (KYC) and verification, customer support and settlement (payouts) to the PF. Below are the endpoints for registering and handling PF submerchants. paths: /pl/standard/user/oauth/authorize: post: tags: - Authorize summary: Create OAuth Token security: [] description: > Each payment should be authorized in one of three available modes: - client_credentials - used for standard integration, - trusted_merchant - used for authentication of requests made for logged-in shop/application users with fixed extCustomerId, - partner - special type of a token meant for creating entities (e.g. Shop, POS, URL) within partner firm. Generated access token is valid for 43199 seconds. operationId: oauth requestBody: content: application/x-www-form-urlencoded: schema: discriminator: propertyName: grant_type mapping: client_credentials: '#/components/schemas/ClientCredentials' trusted_merchant: '#/components/schemas/TrustedMerchant' partner: '#/components/schemas/Partner' anyOf: - $ref: '#/components/schemas/ClientCredentials' - $ref: '#/components/schemas/TrustedMerchant' - $ref: '#/components/schemas/Partner' responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: access_token: type: string description: Token used for authentication of API calls. format: uuid token_type: type: string enum: - bearer refresh_token: type: string format: uuid expires_in: type: integer description: Token expiration time (in seconds). enum: - 43199 grant_type: type: string description: Token authentication mode. enum: - client_credentials - trusted_merchant '400': x-summary: Bad Request description: '' content: application/json: schema: type: object required: - error - error_description properties: error: type: string description: Cause of the error. error_description: type: string description: Error description. '401': x-summary: Unauthorized description: '' content: application/json: schema: type: object required: - error - error_description properties: error: type: string description: Cause of the error. error_description: type: string description: Error description. /api/v2_1/paymethods: get: tags: - Payment-Methods summary: Retrieve All Available Payment Methods. security: - Bearer: - client_credentials - trusted_merchant operationId: retrieve-payment-methods parameters: - name: lang in: query example: lang: pl description: >- Language code, ISO-639-1 compliant, determins language of description in name field required: false schema: type: string examples: lang: summary: lang parameter value example value: lang: pl - name: features in: query description: Determine the availability and parameters of specific features. required: false schema: type: string examples: features: summary: features parameter value example value: features: clickToPay - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object description: Section containing payment methods available for the buyer. properties: blikTokens: $ref: '#/components/schemas/blikTokens' cardTokens: $ref: '#/components/schemas/cardTokens' payByLinks: $ref: '#/components/schemas/payByLinks' status: type: object properties: statusCode: type: string enum: - SUCCESS '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/orders: post: tags: - Order summary: Create an Order security: - Bearer: - client_credentials - trusted_merchant description: Create a new order request. operationId: create-an-order parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object description: Parameters for OrderCreateRequest required: - customerIp - merchantPosId - description - currencyCode - totalAmount - products properties: continueUrl: type: string description: >- Address for redirecting the customer after payment is commenced. example: www.example.com/path maxLength: 1024 format: RFC 3986 notifyUrl: type: string description: The address for sending notifications example: https://your.eshop.com/notify maxLength: 1024 format: RFC 3986 customerIp: type: string description: >- Payer's IP address. Value is accepted in following formats: examples: - 127.0.0.1 - 127.0.0.2 - 8d33:56b2:24aa:b822:9b2f:1db7:c21d:04e1 merchantPosId: type: string description: Point of sale ID. examples: - '140332' - '145227' description: type: string description: Description of the order. maxLength: 4000 additionalDescription: type: string description: Additional description of the order. maxLength: 1024 visibleDescription: type: string maxLength: 80 description: >- Order/Payment description visible for Buyer on the PayU payment page. statementDescription: type: string maxLength: 22 description: >- Payment recipient name followed by payment description (order ID, ticket number etc) visible on card statement. The name should be easy to recognize by the cardholder. If field is not provided, static name configured by PayU will be used. extOrderId: type: string description: >- ID of an order used in merchant system. Order identifier assigned by the merchant. It enables merchants to find a specific order in their system. This value must be unique within a single POS. maxLength: 1024 currencyCode: type: string description: Currency code compliant with ISO 4217 (e.g EUR). examples: - EUR - PLN - USD totalAmount: type: string description: >- Total price of the order in pennies (e.g. 1000 is 10.00 EUR). Applies also to currencies without subunits (e.g. 1000 is 10 HUF). example: '1000' validityTime: type: string description: >- Duration for the validity of an order (in seconds), during which time payment must be made. Default value 86400. example: '100000' cardOnFile: type: string description: >- Information about party initializing order or a transaction with Buyer consent to save card token. "cardOnFile" parameter cannot be used with "recurring" parameter. enum: - FIRST - STANDARD_CARDHOLDER - STANDARD_MERCHANT example: FIRST recurring: type: string description: >- Marks the order as recurring payment: recurring parameter cannot be used with cardOnFile parameter . enum: - FIRST - STANDARD example: FIRST donation: $ref: '#/components/schemas/donation' buyer: $ref: '#/components/schemas/buyer' shoppingCarts: $ref: '#/components/schemas/shoppingCarts' products: $ref: '#/components/schemas/products' payMethods: $ref: '#/components/schemas/payMethods' mcpData: $ref: '#/components/schemas/mcpData' threeDsAuthentication: $ref: '#/components/schemas/threeDsAuthentication' riskData: $ref: '#/components/schemas/riskData' credit: $ref: '#/components/schemas/credit' submerchant: $ref: '#/components/schemas/submerchant' settings: $ref: '#/components/schemas/settings' deviceFingerprint: type: string description: Hashed identifier of the user or its device. example: 3e9fae0b3e6003a4093358167bc1079e maxLength: 255 responses: '201': x-summary: Created description: SUCCESS content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string redirectUri: type: string qrCode: type: string description: >- Based64 encoded QR code image. **It is returned only for transparent QR code payment type**. orderId: type: string example: WZHF5FFDRJ140731GUEST000P01 iframeAllowed: type: boolean example: true threeDsProtocolVersion: type: string enum: - 3DS2 example: 3DS2 extOrderId: type: string challengeParameters: type: object properties: threeDsServerTransactionId: type: string example: 0016f22b-f988-4358-b2c6-8917bba22037 acsTransID: type: string example: d7c1ee99-9478-44a6-b1f2-391e29c6b340 acsReferenceNumber: type: string example: 3DS_LOA_ACS_201_13579 acsSignedContent: type: string example: c29tZUJhc2U2NGVuY29kZWRTdHJpbmc= '302': x-summary: Found description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string description: Response code example: SUCCESS severity: type: string redirectUri: type: string description: Url redirection address with payment summary. example: >- https://merch-prod.snd.payu.com/pay/?orderId=WZHF5FFDRJ140731GUEST000P01&token=eyJhbGciOiJIUzI1NiJ9.eyJvcmRlcklkIjoiV1pIRjVGRkRSSjE0MDczMUdVRVNUMDAwUDAxIiwicG9zSWQiOiJhYmMxMjM0IiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXSwicGF5ZXJFbWFpbCI6InRlc3RAdGVzdC5jb20iLCJleHAiOjE2NzI3NjE4NjEsImlzcyI6IlBBWVUiLCJhdWQiOiJhcGktZ2F0ZXdheSIsInN1YiI6IlBheVUgc3ViamVjdCIsImp0aSI6IjYzMTA3M2Y0LThmMzgtNDNlZS1iOTc1LWVlNWIwZGI0ZWFiZSJ9.tBThoQDVgo9mpmh2AUDC5hkfecwtqO0L9LSCdXRYruk iframeAllowed: type: boolean example: true threeDsProtocolVersion: type: string enum: - 3DS2 orderId: type: string description: Order identifier given by PayU. example: WZHF5FFDRJ140731GUEST000P01 extOrderId: type: string description: Order identifier given by merchant. example: my_ext_order_id payMethods: type: object properties: payMethod: type: object properties: card: type: object properties: number: type: string description: Card number. example: 4444333322221111 expirationMonth: type: integer description: Card expiration month. example: 9 expirationYear: type: integer description: Card expiration year. example: 2026 type: type: string enum: - CARD_TOKEN value: type: string example: TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: >- Incorrect authentication. Check signature parameters and implementation of the signature algorithm. content: application/json: schema: $ref: '#/components/schemas/401' '403': x-summary: Forbidden description: '' content: application/json: schema: $ref: '#/components/schemas/403' '500': x-summary: Internal server error description: '' content: application/json: schema: $ref: '#/components/schemas/500' /api/v2_1/orders/{orderId}: get: tags: - Order summary: Retrieve an Order description: Retrieve the status and details of an order. operationId: retrieve-an-order parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: orders: type: array description: Array of order objects. items: type: object properties: shippingMethod: type: object properties: country: type: string description: Two-letter country code compliant with ISO-3166 example: PL price: type: string description: Shipping cost example: 2000 name: type: string description: Shipping method name example: parcell orderId: type: string description: Order ID generated by the PayU system. example: VVLR1HXK2S160929GUEST000P01 extOrderId: type: string description: External order ID (assigned by the shop). example: '343242' orderCreateDate: type: string description: Order creation timestamp. example: '2023-01-03T14:58:17.443+01:00' notifyUrl: type: string description: Address for sending notifications. example: http://localhost/OrderNotify/ customerIp: type: string description: >- Customer's IP address. Note: 0.0.0.0 is not accepted. example: 127.0.0.1 merchantPosId: type: string description: Point of sale ID. example: '145227' description: type: string description: Description for order. example: New Order additionalDescription: type: string description: Additional description for order. example: New Order validityTime: type: string description: >- Duration for the validity of an order (in seconds), during which time payment must be made. default: '86400' currencyCode: type: string description: Currency code compliant with ISO 4217. example: PLN totalAmount: type: string description: Total price of the order. example: '3200' buyer: $ref: '#/components/schemas/buyer' payMethod: type: object properties: amount: type: string example: 20000 type: type: string enum: - PBL - CARD_TOKEN - PAYMENT_WALL - BLIK_AUTHORIZATION_CODE - BLIK_TOKEN products: $ref: '#/components/schemas/products' shoppingCarts: $ref: '#/components/schemas/shoppingCarts' status: type: string description: Order status. enum: - NEW - PENDING - WAITING_FOR_CONFIRMATION - COMPLETED - CANCELED example: COMPLETED properties: $ref: '#/components/schemas/properties' '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '404': x-summary: Not found description: '' content: application/json: schema: $ref: '#/components/schemas/404' delete: tags: - Order summary: Cancel an Order description: Cancel (reject) orders processed by the PayU system. operationId: cancel-an-order parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: orderId: type: string description: Order identifier in PayU's system. example: WZHF5FFDRJ140731GUEST000P01 extOrderId: type: string description: Order identifier in merchant's system. example: 3e5cac39-7e38-4139-8fd6-30adc06a61bd status: type: object properties: statusCode: type: string description: Status after update. example: SUCCESS '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '403': x-summary: Forbidden description: '' content: application/json: schema: $ref: '#/components/schemas/403' '404': x-summary: Not Found description: '' content: application/json: schema: $ref: '#/components/schemas/404' '500': x-summary: Internal server error description: '' content: application/json: schema: $ref: '#/components/schemas/500' /api/v2_1/orders/{orderId}/captures: post: tags: - Order summary: Capture Authorized Order description: Capture whole order and update its status to COMPLETED (ended). operationId: capture-authorized-order parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/Full' - $ref: '#/components/schemas/Partial' responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string description: Status after update. example: SUCCESS statusDesc: type: string description: Status message. example: Status was updated '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '500': x-summary: Internal server error description: '' content: application/json: schema: $ref: '#/components/schemas/500' /api/v2_1/orders/{orderId}/status: put: tags: - Order summary: (deprecated) Capture Authorized Order description: Capture an order and update its status to COMPLETED (ended). operationId: capture-authorized-order-deprecated parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - orderId - orderStatus properties: orderId: type: string description: Identifier of the order you want to update. example: VVLR1HXK2S160929GUEST000P01 orderStatus: type: string description: Status of the order after update. example: COMPLETED responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string description: Status after update. example: SUCCESS statusDesc: type: string description: Status message. example: Status was updated '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '500': x-summary: Internal server error description: '' content: application/json: schema: $ref: '#/components/schemas/500' /api/v2_1/orders/{orderId}/transactions: get: tags: - Order summary: Retrieve a Transaction description: >- Retrieve the details of transactions created for an order with specified `orderId`. operationId: retrieve-a-transaction security: - Bearer: - oAuth token parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: oneOf: - $ref: '#/components/schemas/card' - $ref: '#/components/schemas/pbl' - $ref: '#/components/schemas/blik' - $ref: '#/components/schemas/wire' '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '404': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/404' /api/v2_1/shops/{shopId}: get: tags: - Shop summary: Retrieve Shop Data operationId: retrieve-shop-data description: Retrieve your PayU shop balance, id, etc. parameters: - name: shopId in: path example: a1B2C3x description: ShopId value generated by PayU assigned to Shop required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: shopId: type: string description: ShopId value generated by PayU assigned to Shop. example: a1B2C3x name: type: string description: Shop name assigned by Merchant. example: Test Shop currencyCode: type: string description: >- ISO 4217 currency code of currency in which Shop balance is kept. example: PLN balance: $ref: '#/components/schemas/balance' '400': x-summary: Error description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string example: ERROR redirectUri: type: string example: '{payment_summary_redirection_url}' '401': x-summary: Unauthorized description: '' content: application/json: schema: type: object properties: error: type: string error_description: type: string '404': x-summary: Not Found description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string description: Error type. severity: type: string statusDesc: type: string description: Error description. /api/v2_1/orders/{orderId}/refunds: post: tags: - Refund summary: Create a Refund description: >- Create new refund - this request is idempotent, so if exactly same data will be provided, response will return data of already previously created refund instead of creating new refund. operationId: create-a-refund parameters: - name: orderId in: path example: WZGF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true schema: type: string content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - refund properties: refund: type: object required: - description description: Contains detailed information about a refund. properties: description: type: string description: Refund description. example: Test refund amount: type: string description: > Amount of the refund. If this is left blank, all funds will be returned to the buyer. Specify prices using the **lowest currency unit**. For instance, in the case of PLN (Polish Złoty), the lowest currency unit is the penny, which equals 1/100 PLN. Therefore, if the price is 1000 in the lowest currency unit, it would be equivalent to 10 PLN. However, HUF (Hungarian Forint) is an exception to this rule. For HUF, you should multiply the amount by 100. example: '10000' extRefundId: type: string description: External refund ID. example: 3e5cac39-7e38-4139-8fd6-30adc06a61bd currencyCode: type: string description: Currency code compliant with ISO 4217. example: PLN bankDescription: type: string description: Bank operation description. example: Bank transfer refund type: type: string description: >- Specifies the method by which the refund will be processed: enum: - REFUND_PAYMENT_STANDARD - FAST default: REFUND_PAYMENT_STANDARD example: REFUND_PAYMENT_STANDARD responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: orderId: type: string description: ID of refunded order. example: WZGF5FFDRJ140731GUEST000P01 refund: type: object description: Refund details. properties: refundId: type: string description: Refund identifier. example: '5000000142' description: type: string description: Refund description example: Test refund amount: type: string description: >- Amount of the refund. If this is left blank, all funds will be returned to the buyer. example: '10000' extRefundId: type: string description: External refund ID. example: 3e5cac39-7e38-4139-8fd6-30adc06a61bd currencyCode: type: string description: Currency code compliant with ISO 4217. example: PLN bankDescription: type: string description: Bank operation description. example: Bank transfer refund creationDateTime: type: string description: Date of refund creation. example: '2020-07-02T09:19:03.896+02:00' status: type: string description: Refund status code. enum: - PENDING - CANCELED - FINALIZED example: PENDING statusDatetime: type: string description: Timestamp of the status. example: '2020-07-02T09:19:04.013+02:00' status: type: object properties: statusCode: type: string description: Status of the refund. example: SUCCESS statusDesc: type: string description: Description og given status. example: Refund queued for processing '400': x-summary: Bad request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/404' get: tags: - Refund summary: Retrieve ALL Refunds Data for the Specified Order operationId: retrieve-all-refunds-for-the-specified-order parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true schema: type: string content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: array items: - $ref: '#/components/schemas/refundRetrievePending' - $ref: '#/components/schemas/refundRetrieveCanceled' '404': x-summary: Not Found description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string description: Error type. severity: type: string statusDesc: type: string description: Error description. /api/v2_1/orders/{orderId}/refunds/{refundId}: get: tags: - Refund summary: Retrieve Specific Refund Data operationId: retrieve-specific-refund parameters: - name: orderId in: path example: WZHF5FFDRJ140731GUEST000P01 description: Order ID generated by the PayU system required: true schema: type: string content: application/json: schema: type: string - name: refundId in: path example: '5000000142' description: Refund identifier in the PayU system. required: true schema: type: string content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object discriminator: propertyName: status mapping: FINALIZED: '#/components/schemas/refundRetrieveFinalized' PENDING: '#/components/schemas/refundRetrievePending' CANCELED: '#/components/schemas/refundRetrieveCanceled' anyOf: - $ref: '#/components/schemas/refundRetrieveFinalized' - $ref: '#/components/schemas/refundRetrievePending' - $ref: '#/components/schemas/refundRetrieveCanceled' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/404' '404': x-summary: Not Found description: '' content: application/json: schema: type: object properties: status: type: object properties: statusCode: type: string description: Error type. severity: type: string statusDesc: type: string description: Error description. /api/v2_1/payouts: post: tags: - Payout summary: Create a Payout description: Create a payout with the selected destination of funds. operationId: create-a-payout parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: description: Parameters for creating payouts. content: application/json: schema: oneOf: - $ref: '#/components/schemas/StandardPayout' - $ref: '#/components/schemas/BankAccountPayout' - $ref: '#/components/schemas/CardPayout' - $ref: '#/components/schemas/MarketplacePayout' - $ref: '#/components/schemas/FxPayout' responses: '201': x-summary: Created description: '' content: application/json: schema: type: object properties: payout: type: object properties: payoutId: type: string extPayoutId: type: string extCustomerId: type: string amount: type: long example: 10000 currencyCode: type: string example: PLN status: type: string enum: - PENDING - WAITING - CANCELLED - REALIZED fxData: type: object properties: currencyCode: type: string example: EUR amount: type: long example: 2500 rate: type: double example: 0.25 partnerId: type: string tableId: type: string status: type: object properties: statusCode: type: string '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: type: object properties: error: type: string error_description: type: string '403': x-summary: Forbidden description: '' content: application/json: schema: $ref: '#/components/schemas/403' '404': x-summary: Not found description: '' content: application/json: schema: $ref: '#/components/schemas/404' /api/v2_1/payouts/{payoutId}: get: tags: - Payout summary: Retrieve a Payout description: Retrieve data of a specified payout. operationId: retrieve-a-payout parameters: - name: payoutId in: path example: fefa25e021b14970bfac9ebfb20761dc description: Payout ID generated by the PayU system required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: payout: type: object properties: payoutId: type: string extPayoutId: type: string amount: type: long example: 10000 description: type: string status: type: string enum: - PENDING - WAITING - CANCELLED - REALIZED fxData: type: object properties: currencyCode: type: string amount: type: long example: 2500 rate: type: double example: 0.25 partnerId: type: string tableId: type: string status: type: object properties: statusCode: type: string '400': x-summary: Bad request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '403': x-summary: Forbidden description: '' content: application/json: schema: $ref: '#/components/schemas/403' '404': x-summary: Not found description: '' content: application/json: schema: $ref: '#/components/schemas/404' /api/v2_1/tokens/{token}: delete: tags: - Token summary: Delete a Token security: - Bearer: - trusted_merchant description: >- In case the customer terminates the user account in your shop or chooses to remove the stored card from the user account, you need to delete the token. operationId: delete-a-token parameters: - name: token in: path example: TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=trusted_merchant. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad Request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/mcp-partners/{mcpPartnerId}/fx-table: get: tags: - MCP summary: Retrieve Rate Table description: Retrieve current table with the conversion rates for the currencies. operationId: retrieve-rate-table parameters: - name: mcpPartnerId in: path example: 6283a549-8b1a-430d-8a62-eea64327440e required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: id: type: string example: 802438 description: >- rate table id (corresponds with mcpFxTableId in OrderCreateRequest) validTo: type: string format: '2017-06-27T20:20:00Z' example: '2023-01-02T20:18:00Z' description: >- table validity time (always in UTC). New table should be retrieved right after the validity ends. currencyPairs: type: array description: >- Section containing pairs of chosen term currency and base currencies items: type: object properties: baseCurrency: type: string example: PLN description: >- initial currency code - this is the currency in which the payer will be charged (card settlement currency) compliant with ISO 4217 exchangeRate: type: number example: 0.23753 description: exchange rate from base currency to term currency termCurrency: type: string example: USD description: >- final currency code - this is the currnecy of the shop at which the payment will be processed (currency set for the shop in the PayU system) compliant with ISO 4217 '400': x-summary: Bad request description: '' content: application/json: schema: $ref: '#/components/schemas/400' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' '404': x-summary: Not found description: '' content: application/json: schema: $ref: '#/components/schemas/404' /api/v2_1/fx-providers/ecb/fx-rates: get: tags: - FX-Reference summary: Retrieve Reference Rates description: >- You can retrieve a reference rate table that is updated daily. This table encompasses rates released by the European Central Bank (ECB) against EUR, as well as additional rates that are triangulated using EUR (e.g., PLN/USD, CZK/GBP, etc.). operationId: retrieve-reference-rates parameters: - name: termCurrency in: query example: termCurrency: PLN required: true schema: type: string examples: termCurrency: summary: Currency code compliant with ISO 4217 value: termCurrency: PLN - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: effectiveDate: type: string example: '2023-01-03' description: >- reference rate table validity. You need to refresh the table daily fxRates: type: array description: >- Section containing pairs of chosen term currency and base currencies items: type: object properties: baseCurrency: type: string description: >- initial currency - this is the currency in which the payer will be charged (card settlement currency) termCurrency: type: string description: >- final currency - this is the currnecy of the shop at which the payment will be processed (currency set for the shop in the PayU system) midRate: type: number example: 3.141 description: >- midrate to be used to calculate the percentage mark-up '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/customers/ext/{extCustomerId}/status: get: tags: - Marketplace-Seller summary: Retrieve Seller Status description: You can check the verification status of your submerchants. operationId: retrieve-seller-status parameters: - name: extCustomerId in: path description: Submerchant identifier. required: true content: application/json: schema: type: string - name: currencyCode in: query example: PLN description: Currency code according to ISO-4217. required: true schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: customVerificationStatus: type: string enum: - Verified - NotVerified description: Submerchant status. name: type: string description: Name of the company. taxId: type: string description: >- Company NIP. For companies registered abroad the field contains Tax ID or VAT UE. regon: type: string description: Regon number of the company '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/customers/ext/{extCustomerId}/balances: get: tags: - Marketplace-Seller summary: Retrieve Seller Balance operationId: retrieve-seller-balance parameters: - name: extCustomerId description: Submerchant identifier. in: path required: true content: application/json: schema: type: string - name: currencyCode in: query example: PLN required: true description: Currency code according to ISO-4217. schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: balance: type: object properties: availableAmount: type: string description: Available funds. totalAmount: type: string description: Total submerchant funds (including blocked funds) status: type: object properties: statusCode: type: string description: Response Status '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/customers/ext/{extCustomerId}/operations: get: tags: - Marketplace-Seller summary: Retrieve Seller Operation History operationId: retrieve-seller-operation-history parameters: - name: extCustomerId in: path description: Submerchant identifier. required: true content: application/json: schema: type: string - name: currencyCode in: query description: >- Currency code according to ISO-4217. You can enter multiple values. Subsequent entries should be separated by a comma. required: false schema: type: string - name: type in: query description: >- Operation type. You can enter multiple values. Subsequent entries should be separated by a comma. required: false schema: type: string enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - name: eventDateFrom in: query description: >- Start of the search range for "eventDate". Date must be url encoded. required: true schema: type: string format: 2019-01-30T20%3A59%3A00%2B02%3A00 - name: eventDateTo in: query description: >- End of the search range for "eventDate". Date must be url encoded. required: true schema: type: string format: 2019-04-30T20%3A59%3A00%2B02%3A00 - name: creationDateFrom in: query description: >- Start of the search range for "creationDate". Date must be url encoded. required: false schema: type: string format: 2019-04-30T20%3A59%3A00%2B02%3A00 - name: creationDateTo in: query description: >- End of the search range for "creationDate". Date must be url encoded. required: false schema: type: string format: 2019-04-30T20%3A59%3A00%2B02%3A00 - name: limit in: query description: Number of records per page. required: false schema: type: string - name: offset in: query description: Page number (indexing from 0). required: false schema: type: string - name: sortBy in: query description: >- Sorting field. Additional sign "+" or "-" before field name defines sorting order. Default is ascending. required: false schema: type: string enum: - eventDate - creationDate - type - currencyCode examples: ascending: value: +eventDate summary: sorting ascending by eventDate. descending: value: '-eventDate' summary: sorting descending by eventDate. - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: anyOf: - $ref: '#/components/schemas/PAYMENT_RECEIVED' - $ref: '#/components/schemas/REFUND_SENT' - $ref: '#/components/schemas/PAYOUT' - $ref: '#/components/schemas/RETURN' - $ref: '#/components/schemas/CHARGEBACK' - $ref: '#/components/schemas/ADMIN_CORRECTION' '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/customers/ext/{extCustomerId}/feeDebitTransfer: post: tags: - Marketplace-Seller summary: Transfer Funds from Seller to Marketplace Balance operationId: transfer-funds-from-seller-to-marketplace-balance parameters: - name: extCustomerId in: path description: Submerchant identifier. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object properties: amount: type: number description: Transfer amount. currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Description of the operation. extTransferId: type: string description: Unique transfer identifier for given marketplace. responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: extCustomerId: type: string description: Unique submerchant identifier. extTransferId: type: string description: Unique transfer identifier for given marketpalce. status: type: object properties: statusCode: type: string description: Response status. example: SUCCESS '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/customers/ext/{extCustomerId}/feeCreditTransfer: post: tags: - Marketplace-Seller summary: Transfer Funds from Marketplace to Seller Balance description: '' operationId: transfer-funds-from-marketplace-to-seller-balance parameters: - name: extCustomerId in: path description: Unique submerchant identifier. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object properties: amount: type: number description: Transfer amount. currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Description of the operation. extTransferId: type: string description: Unique transfer identifier for given marketplace. responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: extCustomerId: type: string description: Unique submerchant identifier. extTransferId: type: string description: Unique transfer identifier for given marketpalce. status: type: object properties: statusCode: type: string description: Response status. example: SUCCESS '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/aml-verification/v1/verification-advice: get: tags: - Marketplace-Verification summary: Retrieve Verification Advice description: >- Verify, on the basis of a Personal Identification Number or NIP number, whether a given individual/company has already been registered in the PayU system. operationId: retrieve-marketplace-verification-advice parameters: - name: companyTaxId in: query required: true description: >- Company tax id of a entity. Required if you want to check a status of a company. content: application/json: schema: type: string - name: pesonalIdentificationNumber in: query required: true description: >- Personal identification number of individual. Required if you want to check a status of a private person. content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: Advised verify action. content: application/json: schema: type: object properties: advice: type: string enum: - FULL_ONBOARDING_REQUIRED - BANK_ACCOUNT_VERIFICATION_REQUIRED description: > * **FULL_ONBOARDING_REQUIRED** - full boarding process required, * **BANK_ACCOUNT_VERIFICATION_REQUIRED** - only a verification transfer is required for verification purposes. '400': x-summary: Bad request description: Invalid input query values. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Marketplace not found. content: application/json: schema: $ref: '#/components/schemas/401' /api/aml-verification/v1/verification: get: tags: - Marketplace-Verification summary: Retrieve Marketplace Verification Status description: Retrieve the status of the verification with the specific `Id`. operationId: retrieve-marketplace-verification-status parameters: - name: id in: query description: >- Value of the query `id` parameter is the same as the `verificationId`. example: aZl6Ja required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: >- Verification found. Http 200 will return body which will contain one of below statuses. content: application/json: schema: $ref: '#/components/schemas/200' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' post: tags: - Marketplace-Verification summary: Create Marketplace Verification description: Initialize the verification process of the seller. operationId: create-marketplace-verification parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - sellerId - type properties: sellerId: type: string description: >- Unique id of seller (submerchant) given by marketplace side. This id must be constant for every verification concerning the same seller (submerchant). maxLength: 50 type: type: string description: >- Verification type. Possible values descriptions: enum: - PAYOUT_ACCOUNT_DATA - FULL - UPDATE - REVERIFICATION - PERSONAL_ID_TAX_ID_CHANGE - CONVERSION overridePayouts: type: boolean description: '' responses: '200': x-summary: OK description: SUCCESS content: application/json: schema: type: object properties: verificationId: type: string description: Unique id of the verification provided by PayU. example: aZl6Ja status: type: string description: > Current status of the verification: * **WAITING_FOR_DATA** - status after initialization of the verification, when PayU is waiting for data or after exceeding transaction limits for the occasional transaction flow. * **WAITING_FOR_VERIFICATION** - set when all the data were send to PayU (after complete). * **REJECTED** - set when there are some errors in the provided data. These status is send with error codes. * **POSITIVE** - final status for approved verification. * **NEGATIVE** - final rejection status. example: WAITING_FOR_DATA sellerId: type: string example: seller_27 '400': x-summary: Bad request description: Invalid input data. content: application/json: schema: $ref: '#/components/schemas/400' '409': x-summary: Conflict description: Verification may be already in progress. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/seller: post: tags: - Marketplace-Verification summary: Add Seller's Data description: This method allows to send data of the seller (submerchant). operationId: add-sellers-data parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/CompanyData' - $ref: '#/components/schemas/PrivatePerson' responses: '204': x-summary: No Content description: Data accepted for further verification. '400': x-summary: Bad Request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/associates: post: tags: - Marketplace-Verification summary: Add Associates Data description: >- Send the data of the associates (representatives and beneficiaries according to the relevant instructions from PayU). operationId: add-associates-data parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId - associateId - associateType - associateName - associateSurname - associateCitizenship - associateCountryOfBirth properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: aZx65uY associateId: type: string description: Associate id. Unique on seller level. maxLength: 100 example: dsada65 associateType: type: string description: Type of the associate. enum: - BENEFICIARY - REPRESENTATIVE associateName: type: string description: Associate first name. maxLength: 200 example: Jan associateSurname: type: string description: Associate last name. maxLength: 200 example: Kowalski associateBirthDate: type: string description: >- Associate date of birth. Required for non-polish associates. format: YYYY-MM-DD example: '1980-01-27' associateIdentityNumber: type: string description: >- Unique associate identification number. PESEL in Poland. Required for polish associates. maxLength: 150 example: '90120789112' associateCitizenship: type: string description: Two letter ISO country code. format: ISO Country Code maxLength: 255 example: PL associateCountryOfBirth: type: string description: Two letter ISO country code. maxLength: 255 example: PL pepStatement: type: string enum: - 'true' - 'false' description: '' example: 'true' verified: type: string enum: - 'true' - 'false' description: '' example: 'true' externalVerificationData: type: object description: Object containing Authologic data. required: - externalVerificationType - documentNumber - documentType - documentExpiryDate - identityNumber - nationality - dateOfBirth - secondDocumentNumber - secondDocumentType - secondDocumentExpiryDate - identityNumberSecondDocument - nationalitySecondDocument - dateOfBirthSecondDocument - authologicConversationID properties: externalVerificationType: type: string description: The type of verification that was used in Authologic. enum: - MOJEID_PL - MOJEID_CZ - BANKID_CZ - EDO - MYOBYWATEL - BIOMETRIC_VERIFICATION_OCR documentNumber: type: string description: The identification number of the document. example: ABC123456 documentType: type: string description: The type of the document. example: ID_CARD documentExpiryDate: type: string description: The expiry date of the document format: YYYY-MM-DD example: '2030-09-23' identityNumber: type: string description: >- The identification number of the associate as stated in the document. example: '94091100007' nationality: type: string description: >- The nationality of the associate as stated in the document. example: PL dateOfBirth: type: string description: >- The date of birth of the associate as stated in the document. format: YYYY-MM-DD example: '2000-09-11' secondDocumentNumber: type: string description: The identification number of the second document. example: DFE123456 secondDocumentType: type: string description: The type of the second document. example: PASSPORT secondDocumentExpiryDate: type: string description: The expiry date of the second document. format: YYYY-MM-DD example: '2030-09-23' identityNumberSecondDocument: type: string description: >- The identification number of the associate as stated in the second document. example: '94091100007' nationalitySecondDocument: type: string description: >- The nationality of the associate as stated in the second document. example: PL dateOfBirthSecondDocument: type: string description: >- The date of birth of the associate as stated in the document. format: YYYY-MM-DD example: '2030-09-23' authologicConversationID: type: string description: >- External identifier of the Authologic verification process. responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/files: post: tags: - Marketplace-Verification summary: Add Files description: Upload documents to the server. operationId: add-files parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId - filename - content properties: verificationId: type: string maxLength: 18 description: Unique id of the verification provided by PayU. filename: type: string description: '' content: type: string description: '' responses: '200': x-summary: OK description: SUCCESS content: application/json: schema: type: object properties: verifictionId: type: string description: Unique id of the verification provided by PayU. example: aZx65uY fileId: type: string description: >- Identificator of uploaded file given by PayU. Please save it for whole process of verification – this will be used in dataloading/../documents request. '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/seller/documents: post: tags: - Marketplace-Verification summary: Add Seller's Documents description: This method allows to load company related documents. operationId: add-sellers-documents parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId - documentId - type - files properties: verificationId: type: string description: Id of verification in context of which data are provided. maxLength: 18 documentId: type: string maxLength: 100 description: '' type: type: string description: Document types. enum: - REGISTRY_DOCUMENT - BANK_ACCOUNT_AGREEMENT - INVOICE - UBO_STATEMENT - CIVIL_LAW_AGREEMENT - PROXY_DOCUMENT - OTHER_DOCUMENT files: type: array description: >- List of file ids given in a response to the dataloading/files request. There can be many IDs in this field when one document contains many files. format: String[] items: type: string note: type: string description: '' maxLength: 255 translationFiles: type: array description: >- fileId of translation of documents (Polish or English documents do not need to be translated). format: String[] items: type: string responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/associates/documents: post: tags: - Marketplace-Verification summary: Add Associates Documents description: >- Upload required documents for associates (representatives or beneficiaries). operationId: add-associates-documents parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId - associateId - type - files - documentId properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 associateId: type: string description: Unique id of an associate assigned by the Marketplace. maxLength: 100 type: type: string description: Document type. enum: - ID_CARD - PASSPORT - DRIVING_LICENCE - RESIDENCE_PERMIT - OTHER_DOCUMENT - PEP_STATEMENT files: type: array description: >- List of file ids given in a response to the dataloading/files request. Can be many IDs in this field when one document contains many files. format: String[] items: type: string documentId: type: string description: Unique document ID assigned by the Marketplace. maxLength: 100 documentNumber: type: string description: Serial number of the provided document. maxLength: 100 issueDate: type: string description: Issue date of the document. format: YYYY-MM-DD expireDate: type: string description: Expiry date of the document. format: YYYY-MM-DD note: type: string description: '' maxLength: 255 translationFiles: type: array description: >- `fileId` of translation of documents (Polish or English documents do not need to be translated) format: String[] items: type: string responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/verification-transfers/manual: post: tags: - Marketplace-Verification summary: Create Order for Verification Transfer description: >- Create an order for the verification transfer service. In response you will be provided with the bank account details to make the transfer. operationId: create-order-for-verification-transfer parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: verification-123 transferCurrency: type: string description: '' example: PLN email: type: string description: '' example: user@example.com language: type: string description: >- Changes the language of the sent email message. Possible values you can find in languages table. responses: '201': x-summary: Created description: Details for bank transfer. content: application/json: schema: type: object properties: verificationTransferId: type: string description: '' example: 5f7007da-8e05-4f0f-9503-05c053034bde expirationTime: type: string description: '' example: '2020-08-20T14:03:44.473Z' transferData: type: object description: '' properties: bankName: type: string description: '' example: mBank S.A. accountNumber: type: string description: '' example: PL12114011243630011718031748 swiftCode: type: string description: '' example: BREXPLPW recipientName: type: string description: '' example: PayU S.A. recipientAddress: type: string description: '' example: ul. Grunwaldzka 186, 60-166 Poznań transferTitle: type: string description: '' example: Verification transfer XX1718031748XX transferAmount: type: integer description: '' example: 101 transferCurrency: type: string description: '' example: PLN '400': x-summary: Bad request description: Error encountered during posting the data for verification. content: application/json: schema: $ref: '#/components/schemas/400' '403': x-summary: Forbidden description: Error encountered during posting the data for verification. content: application/json: schema: $ref: '#/components/schemas/403' '404': x-summary: Not found description: Error encountered during posting the data for verification. content: application/json: schema: $ref: '#/components/schemas/404' /api/aml-verification/v1/dataloading/payouts/bankAccountData: post: tags: - Marketplace-Verification summary: Add Bank Account for Payouts description: Send bank account data for the payouts. operationId: add-bank-account-for-payouts parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/PayoutWithVerificationTransfer' - $ref: '#/components/schemas/PayoutWithoutVerificationTransfer' - $ref: '#/components/schemas/PayoutBankStatement' responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Error encountered during posting the data for verification content: application/json: schema: $ref: '#/components/schemas/400' '403': x-summary: Forbidden description: Error encountered during posting the data for verification content: application/json: schema: $ref: '#/components/schemas/403' '404': x-summary: Not found description: Error encountered during posting the data for verification content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/payouts/payoneer: post: tags: - Marketplace-Verification summary: Add Payoneer Account for Payouts description: >- Send bank account data for the payouts. Method is reserved for the users who have verified Payoneer account. operationId: add-payoneer-account-for-payouts parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - bankDataId - verificationId - payoneerId properties: bankDataId: type: string description: Id of the bank account details assigned by marketplace. maxLength: 100 example: acc1sd verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: hfs6sfa payoneerId: type: string maxLength: 50 description: Id of the account of the submerchant in the Payoneer. responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Forbidden description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/dataloading/payouts/worldfirst: post: tags: - Marketplace-Verification summary: Add Worldfirst Account for Payouts description: >- Send bank account data for the payouts. Method is reserved for the users who have verified Worldfirst account. operationId: add-worldfirst-account-for-payouts parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - bankDataId - verificationId - referenceCustomerId properties: bankDataId: type: string description: Id of the bank account details assigned by marketplace. maxLength: 100 example: acc1sd verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: hfs6sfa referenceCustomerId: type: string description: >- Id of the account binding between the marketplace and the WorldFirst. responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Forbidden description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/verification/complete: post: tags: - Marketplace-Verification summary: Complete Marketplace Verification description: Inform PayU about completing verification process. operationId: complete-marketplace-verification parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: hfs6sfa responses: '204': x-summary: No Content description: SUCCESS '400': x-summary: Bad request description: Invalid input. Reason specified in content. content: application/json: schema: $ref: '#/components/schemas/400' '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow operation. content: application/json: schema: $ref: '#/components/schemas/409' /api/aml-verification/v1/verification/cancel: post: tags: - Marketplace-Verification summary: Cancel Verification description: Cancel verification on every step of verification providing the reason. operationId: cancel-marketplace-verification parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - verificationId properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: hfs6sfa rejectionReasonComment: type: string description: Reason for cancelling verification. responses: '204': x-summary: No Content description: SUCCESS '404': x-summary: Not found description: Verification not found. content: application/json: schema: $ref: '#/components/schemas/404' '409': x-summary: Conflict description: Verification state does not allow cancel. content: application/json: schema: $ref: '#/components/schemas/409' /api/front/card-installments-options: post: tags: - Card Installments summary: Retrieve Available Installments Options description: >- Retrieve available card installments options for specific card. For merchants operating on the Romanian market (Requires contact with a Payu representative first). operationId: retrieve-card-installments parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json requestBody: content: application/json: schema: type: object required: - cardBin - posId properties: cardBin: type: string description: Card BIN to retrieve card installments data. example: '5364477839' posId: type: string description: >- Amount of the transaction for which you want to retrieve available installments options. example: '203018' responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: numbers: type: array description: Section containing available installments options. items: - type: number example: 1 - type: number example: 6 - type: number example: 12 provider: type: string example: BRD_INSTALLMENTS description: Card installments program provider. settings: type: object description: Object representing specific provider settings. properties: minAmount: type: number description: >- If this option is returned for a given card BIN number, then to use the given installment plan for that card, the order amount must be higher. If it is lower or equal, the order will be rejected. example: 60000 '400': x-summary: Bad Request description: '' content: application/json: schema: type: object properties: message: type: string description: Error message example: Either posId or internalPosId has to be provided. /api/v2_1/reports/{reportId}: get: tags: - Statements summary: Retrieve Statement description: > In response to retrieving a statement via the API, PayU returns a statement file (as indicated by the `Content-Type=application/octet-stream`) in the `Content-Disposition` header. You should take this attached binary data and save it with the same name and file extension. For example, if the value of the `Content-Disposition` header is **attachment; filename="69e45495-bed9-4824-ace9-f7c191449bbb.zip"**, then you should save the attached data on your computer with the same name **69e45495-bed9-4824-ace9-f7c191449bbb.zip**. operationId: retrieve-statement security: - Basic: null parameters: - name: reportId in: path example: 4a3534fb-85b5-4f29-9da8-a6d73b34d528 required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd /api/v2_1/firms: post: tags: - Partner-Merchant-Registration summary: Create a Firm description: Create a Firm entity for your partner. operationId: create-a-firm security: - Bearer: - client_credentials parameters: - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=client_credentials. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - name - type - taxId - taxIdType - cin - bankAccount - partnerId - businessArea - users - representatives - contactData - address properties: name: type: string description: Full legal name. example: Test sp. z o.o. type: type: string description: >- Dictionary value - legal entity type. Dictionaries for specific origin are available here. For a firm which address.country code is not equal to businessArea.origin please use FZ type. Providing accurate type speeds up merchant verification. example: SO taxId: type: string description: Tax identification. example: '3771910486' taxIdType: type: string description: Type of tax identification. enum: - NIP - VAT_EU - TAX_ID example: NIP cin: type: string description: Business identification. IČ (CZ) or REGON (PL). example: '138237420' bankAccount: type: string description: >- Primary bank account to receive payouts for payments. Will be inherited by all shops created for this firm. Must be a valid IBAN number in case of firms with PL origin. Different bank account maybe defined at shop level manually, via PayU merchant panel. format: IBAN example: PL92906300080597567560803897 partnerId: type: string description: Your partner id. example: egmcvdo5 contactLanguage: type: string description: Preferred language for communication. enum: - EN - PL - CS - RO example: PL businessArea: type: object required: - origin description: Business area of the registered firm. properties: origin: type: string description: >- Denotes firm origin and applies validation and requirements for this origin. Currently only two values are available: CZ and PL. It is still possible to register a firm which is incorporated outside of Czechia or Poland. example: PL users: type: array description: Array of PayU panel users. At least 1 must be provided. items: type: object required: - name - surname - email - role properties: name: type: string description: User's first name. example: Jan surname: type: string description: User's last name. example: Nowak email: type: string description: User's email. example: jan.nowak@testowa.pl phone: type: string description: User's phone number. example: 123123123 role: type: string description: User's role. enum: - MANAGER - USER example: MANAGER representatives: type: array description: >- Array of firm legal representatives. At least 1 must be provided. items: type: object required: - name - surname - countryCode - birthCountryCode properties: name: type: string description: Representative's first name. example: Jan surname: type: string description: Representative's last name. example: Nowak nin: type: string description: >- Representative's national identity number (PESEL). Required only for Polish citizens example: 80010104578 countryCode: type: string description: >- Representative's citizenship. Must be a valid ISO 3166-1 two-letter code. example: PL birthDate: type: string format: RRRR-MM-DD description: >- Representative's date of birth. Required only for non-Polish citizens example: '2000-01-01' birthCountryCode: type: string description: >- Country code of representative's birth country. Must be a valid ISO 3166-1 two-letter code. example: pl contactData: type: object description: Object containing firm's contact details. required: - phone - email properties: phone: type: string description: Firm's contact phone number. example: 123123123 email: type: string description: Firm's contact email address. example: biuro@testowa.pl technicalContactData: type: object description: >- Object containing firm's technical contact details (e.g. to the developer responsible for integration with PayU). required: [] address: type: object description: Firm's registration address. required: - street - houseNo - apartmentNo - postalCode - city - countryCode properties: street: type: string description: Firm's registration address street. example: Grunwaldzka houseNo: type: string description: Firm's registration address house number. example: 186 apartmentNo: type: string description: Firm's registration address apartment number. example: 1 postalCode: type: string description: Firm's registration address postal code. example: 61-166 city: type: string description: Firm's registration address city. example: Poznań countryCode: type: string description: >- Firm's registration address country code. Must be a valid ISO 3166-1 two-letter code. example: PL correspondenceAddress: type: object description: >- Firm's correspondence address (if other than registration address). This object the same fields as address. required: - street - houseNo - apartmentNo - postalCode - city - countryCode properties: street: type: string description: Firm's registration address street. example: Grunwaldzka houseNo: type: string description: Firm's registration address house number. example: 186 apartmentNo: type: string description: Firm's registration address apartment number. example: 1 postalCode: type: string description: Firm's registration address postal code. example: 61-166 city: type: string description: Firm's registration address city. example: Poznań countryCode: type: string description: >- Firm's registration address country code. Must be a valid ISO 3166-1 two-letter code. example: PL responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: firmId: type: string description: >- Identifier that needs to be stored in your system and is used to create further entities for that firm. example: KzXy4ZzD '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/firms/{firmId}/urls: post: tags: - Partner-Merchant-Registration summary: Create a URL for the Partner's Firm description: Create a URL for the specified `firmId`. operationId: create-a-url-for-the-partners-firm security: - Bearer: - partner parameters: - name: firmId in: path example: KzXy4ZzD description: Firm identifier retrieved after firm creation. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=partner. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - value - services properties: value: type: string description: URL address. example: http://www.test-url.com mcc: type: string description: Merchant Category Code (value is validated). Data type example: '0742' services: type: array description: Array of service types. items: type: object required: - type properties: type: type: string description: > Dictionary value: enum: - TRANSFERS - CARD - INSTALLMENTS - DELAYED_PAYMENTS example: TRANSFERS responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: urlId: type: string description: >- urlId that needs to be stored in your system can be used to create shop. example: PItR5x0v '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/firms{firmId}/shops: post: tags: - Partner-Merchant-Registration summary: Create a Shop for the Partner description: Create a Shop for the specified `firmId`. operationId: create-a-shop-for-the-partner security: - Bearer: - partner parameters: - name: firmId in: path example: KzXy4ZzD description: Firm identifier retrieved after firm creation. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=partner. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - name - currencyCode - urlId properties: name: type: string description: Shop name - will be visible in the merchant panel. example: Shop name description: type: string description: >- Shop description - more detailed info, visible in the merchant panel. example: Shop description currencyCode: type: string description: >- Must be a three-letter ISO 4217 currency code. Please contact your key account manager to get more information about available currencies. example: EUR urlId: type: string description: Reference to previously created URL. example: PItR5x0v responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: shopId: type: string description: >- Identifier that needs to be stored in merchant's system and is used to create POS. example: ycmGyfCv '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/shops/{shopId}/poses: post: tags: - Partner-Merchant-Registration summary: Create POS for Partner description: Create a POS, for your partner, for the specified `shopId`. operationId: create-pos-for-partner security: - Bearer: - partner parameters: - name: shopId in: path example: Shop identifier retrieved after shop creation. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=partner. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - name - type properties: name: type: string description: Name of the created POS. example: Test POS type: type: string description: Type of the created POS. example: REST responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: posId: type: string description: Identifier of the created POS. example: JyoMIVTY '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/poses/{posId}: get: tags: - Partner-Merchant-Registration summary: Retrieve Partner's POS Data description: Retrieve data of the POS with specified `posId`. operationId: retrieve-partners-pos-data security: - Bearer: - partner parameters: - name: posId in: path example: POS identifier retrieved after POS creation. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=partner. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: posId: type: string description: Public POS ID. example: JyoMIVTY type: type: string description: POS type (determines API that can be used). example: REST name: type: string description: POS name. example: Test POS encoding: type: string description: >- Determines encoding used by PayU system to read API requests. Always UTF-8 for REST type. example: UTF-8 authorization: type: object description: Object with authorization details. properties: standard: type: object properties: merchantPosId: type: string description: >- POS identifier used for API calls. It has the same value as the `client_id` used in the OAuth calls. example: '385234' key: type: string description: >- Has the same value as the "`client_secret` used to obtain OAuth access tokens for REST API calls. example: 9c0041e05fdee99749de4c2d2ce4c66e" secondKey: type: string description: >- The second API key is utilized for signing notifications sent by PayU, as well as for verifying the notification signature provided by PayU. Additionally, it is used for basic authorization when fetching statement files via the API. example: f096a39d78fbe03b8d23dde43b728cfd authKey: type: string description: Not required for REST API. example: uHcZ9Ly '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/firms/{posId}/users: post: tags: - Partner-Merchant-Registration summary: Create a User description: Create an additional User for your partner. operationId: create-a-user security: - Bearer: - partner parameters: - name: firmId in: path example: KzXy4ZzD description: Firm identifier retrieved after firm creation. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token with grant_type=partner. required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: type: object required: - user properties: user: type: object required: - name - surname - email - role properties: name: type: string minLength: 1 maxLength: 64 description: First name of the new user. example: Joe surname: type: string minLength: 1 maxLength: 64 description: Last name of the new user. example: Doe email: type: string minLength: 1 maxLength: 128 description: Email address of the new user. example: joe.doe@test.com phone: type: string minLength: 3 maxLength: 25 description: Phone number of the new user. role: type: string enum: - manager - user description: Role specified for the new user. example: manager responses: '201': x-summary: Created description: '' content: application/json: schema: type: object properties: userId: type: string description: New user identifier. example: 2e629a11-8add-49c5-bf27-a7f684721b86 '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/firms/{firmPublicId}/submerchants: post: tags: - PF-Submerchant-Registration summary: Create a Submerchant operationId: create-a-submerchant parameters: - name: firmPublicId in: path description: Firm id in alphanumeric format, visible in the merchant panel. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: discriminator: propertyName: payTypeCategories mapping: Card: '#/components/schemas/Card' Card, PBL: '#/components/schemas/CardPbl' PBL: '#/components/schemas/Pbl' anyOf: - $ref: '#/components/schemas/Card' - $ref: '#/components/schemas/CardPbl' - $ref: '#/components/schemas/Pbl' responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: id: type: string description: Id assigned by PayU and required in OrderCreateRequest. externalId: type: string description: Id assigned by the Payment Facilitator. status: type: string enum: - NOT_ACTIVE - ACTIVE - BLOCKED description: Submerchant status. lastUpdated: type: string description: >- Datetime of resource creation or last update (if applicable) in ISO 8601 format. format: YYYY-MM-DDThh:mm:ss±hh:mm notifyUrl: type: string description: >- Notifications regarding submerchant status change will be sent to address provided in this field. legalName: type: string description: Full legal (registration) name. dbaName: type: string description: >- "Doing business as" name, usually simplified website address which can be recognized by customer (e.g. when displayed on card statement). address: type: object description: Legal address object. properties: street: type: string description: >- Legal address street including house/apartment number (if applicable). city: type: string description: Legal address city. postalCode: type: string description: Legal address postal code. countryCode: type: string description: >- Legal address country code. Must be a valid ISO 3166-1 two-letter code. phone: type: string description: Contact phone number. websiteUrl: type: string description: A valid URL address of merchant's website. mcc: type: number description: >- Accurate Merchant Category Code established during KYC process by the PF. riskClass: type: string description: >- Risk class assigned by Payment Facilitator (basing on requirements provided by PayU). enum: - LOW - NORMAL - HIGH taxId: type: string description: >- Tax identification (e.g. NIP in Poland) or business identification (e.g. IČ in Czechia). representatives: type: array description: >- Array of either principals or enterprise owners (depends on legal form). Minimum one is required. items: type: object properties: name: type: string description: Representative's name. phone: type: string description: Representative's phone number. legalForm: type: string description: >- Dictionary value - legal entity type. Dictionaries for specific origin are available here. agreementDate: type: string description: >- Date when PF signed agreement with the submerchant (required by Visa for reporting purposes). format: yyyy-mm-dd payTypeCategories: type: string description: >- Array of enumerated values: CARD, PBL. Minimum one is required. '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' /api/v2_1/firms/{firmPublicId}/submerchants/{submerchantId}: put: tags: - PF-Submerchant-Registration summary: Update Submerchant Data operationId: update-submerchants-data parameters: - name: firmPublicId in: path description: Firm id in alphanumeric format, visible in the merchant panel. required: true content: application/json: schema: type: string - name: submerchantId in: path description: Id returned by PayU upon submerchant registration. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd requestBody: content: application/json: schema: discriminator: propertyName: payTypeCategories mapping: Card: '#/components/schemas/Card' Card, PBL: '#/components/schemas/CardPbl' PBL: '#/components/schemas/Pbl' anyOf: - $ref: '#/components/schemas/Card' - $ref: '#/components/schemas/CardPbl' - $ref: '#/components/schemas/Pbl' responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: id: type: string description: Id assigned by PayU and required in OrderCreateRequest. externalId: type: string description: Id assigned by the Payment Facilitator. status: type: string enum: - NOT_ACTIVE - ACTIVE - BLOCKED description: Submerchant status. lastUpdated: type: string description: >- Datetime of resource creation or last update (if applicable) in ISO 8601 format. format: YYYY-MM-DDThh:mm:ss±hh:mm notifyUrl: type: string description: >- Notifications regarding submerchant status change will be sent to address provided in this field. legalName: type: string description: Full legal (registration) name. dbaName: type: string description: >- "Doing business as" name, usually simplified website address which can be recognized by customer (e.g. when displayed on card statement). address: type: object description: Legal address object. properties: street: type: string description: >- Legal address street including house/apartment number (if applicable). city: type: string description: Legal address city. postalCode: type: string description: Legal address postal code. countryCode: type: string description: >- Legal address country code. Must be a valid ISO 3166-1 two-letter code. phone: type: string description: Contact phone number. websiteUrl: type: string description: A valid URL address of merchant's website. mcc: type: number description: >- Accurate Merchant Category Code established during KYC process by the PF. riskClass: type: string description: >- Risk class assigned by Payment Facilitator (basing on requirements provided by PayU). enum: - LOW - NORMAL - HIGH taxId: type: string description: >- Tax identification (e.g. NIP in Poland) or business identification (e.g. IČ in Czechia). representatives: type: array description: >- Array of either principals or enterprise owners (depends on legal form). Minimum one is required. items: type: object properties: name: type: string description: Representative's name. phone: type: string description: Representative's phone number. legalForm: type: string description: >- Dictionary value - legal entity type. Dictionaries for specific origin are available here. agreementDate: type: string description: >- Date when PF signed agreement with the submerchant (required by Visa for reporting purposes). format: yyyy-mm-dd payTypeCategories: type: string description: >- Array of enumerated values: CARD, PBL. Minimum one is required. '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' get: tags: - PF-Submerchant-Registration summary: Retrieve Submerchant Data description: '' operationId: retrieve-submerchant-data parameters: - name: firmPublicId in: path description: Firm id in alphanumeric format, visible in the merchant panel. required: true content: application/json: schema: type: string - name: submerchantId in: path description: Id returned by PayU upon submerchant registration. required: true content: application/json: schema: type: string - name: Content-Type in: header description: Content type required: true schema: type: string style: simple example: application/json - name: Authorization in: header description: Auth token required: true schema: type: string style: simple example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd responses: '200': x-summary: OK description: '' content: application/json: schema: type: object properties: id: type: string description: Id assigned by PayU and required in OrderCreateRequest. externalId: type: string description: Id assigned by the Payment Facilitator. status: type: string enum: - NOT_ACTIVE - ACTIVE - BLOCKED description: Submerchant status. lastUpdated: type: string description: >- Datetime of resource creation or last update (if applicable) in ISO 8601 format. format: YYYY-MM-DDThh:mm:ss±hh:mm notifyUrl: type: string description: >- Notifications regarding submerchant status change will be sent to address provided in this field. legalName: type: string description: Full legal (registration) name. dbaName: type: string description: >- "Doing business as" name, usually simplified website address which can be recognized by customer (e.g. when displayed on card statement). address: type: object description: Legal address object. properties: street: type: string description: >- Legal address street including house/apartment number (if applicable). city: type: string description: Legal address city. postalCode: type: string description: Legal address postal code. countryCode: type: string description: >- Legal address country code. Must be a valid ISO 3166-1 two-letter code. phone: type: string description: Contact phone number. websiteUrl: type: string description: A valid URL address of merchant's website. mcc: type: number description: >- Accurate Merchant Category Code established during KYC process by the PF. riskClass: type: string description: >- Risk class assigned by Payment Facilitator (basing on requirements provided by PayU). enum: - LOW - NORMAL - HIGH taxId: type: string description: >- Tax identification (e.g. NIP in Poland) or business identification (e.g. IČ in Czechia). representatives: type: array description: >- Array of either principals or enterprise owners (depends on legal form). Minimum one is required. items: type: object properties: name: type: string description: Representative's name. phone: type: string description: Representative's phone number. legalForm: type: string description: >- Dictionary value - legal entity type. Dictionaries for specific origin are available here. agreementDate: type: string description: >- Date when PF signed agreement with the submerchant (required by Visa for reporting purposes). format: yyyy-mm-dd payTypeCategories: type: string description: >- Array of enumerated values: CARD, PBL. Minimum one is required. '401': x-summary: Unauthorized description: '' content: application/json: schema: $ref: '#/components/schemas/401' components: securitySchemes: Bearer: type: http scheme: bearer Basic: type: http scheme: basic schemas: '200': type: object description: '' properties: verificationId: type: string description: '' example: 5002500000BVmycAAD verificationType: type: string description: '' example: FULL verificationTransferStatus: type: string description: | Indicates status of the verification transfer. * **Success** - transfer was received by PayU. * **Failure** - PayU did not received funds * **Matched** - transfer has been matched properly. * **null** - did not have enough information about the transfer. enum: - Success - Failure - Matched - 'null' example: 'null' processType: type: string description: Type of the process. enum: - OCCASIONAL - REGULAR example: OCCASIONAL status: type: string description: >- Possible statuses: example: REJECTED sellerId: type: string description: '' example: 123456test12 note: type: string description: '' example: null errors: type: array description: '' items: type: object properties: content: type: object description: >- Group of fields that indicate which data/document the error code applies to. properties: itemType: type: string description: '' enum: - SELLER - SELLER_DOCUMENT - ASSOCIATE - ASSOCIATE_DOCUMENT - PAYOUT_ACCOUNT example: SELLER_DOCUMENT itemProperties: type: object description: '' properties: documentType: type: string description: '' enum: - ID_CARD - PASSPORT - DRIVING_LICENCE - RESIDENCE_PERMIT - OTHER example: PEP_STATEMENT documentId: type: string description: '' example: '2' associateId: type: string description: '' example: null code: type: string description: Error Code. example: '006' updateDate: type: string description: '' example: '2020-04-03T09:14:06.000Z' createDate: type: string description: '' example: '2020-04-03T06:36:15.000Z' '400': type: object properties: status: type: object properties: statusCode: type: string description: Error type. severity: type: string description: error severity type. code: type: string description: Identification code of specific error. codeLiteral: type: string description: Cause of the error. statusDesc: type: string description: Error description. '401': type: object properties: status: type: object properties: statusCode: type: string description: Error type. code: type: string description: Identification code of specific error. codeLiteral: type: string description: Cause of the error. statusDesc: type: string description: Error description. '403': type: object properties: status: type: object properties: error: type: string description: Error type. enum: - access_denied error_description: type: string description: Description of error. enum: - Access is denied '404': type: object properties: status: type: object properties: statusCode: type: string description: Error type. severity: type: string description: error severity type. statusDesc: type: string description: Error description. '409': type: object properties: status: type: object properties: code: type: string description: Error type. example: '409' message: type: string description: Error message. '500': type: object properties: status: type: object properties: statusCode: type: string description: Error type. code: type: string description: Identification code of specific error. codeLiteral: type: string description: Cause of the error. statusDesc: type: string description: Error description. ClientCredentials: type: object required: - grant_type - client_id - client_secret properties: grant_type: type: string example: client_credentials enum: - client_credenitals description: Authorization mode client_id: type: string example: '145227' description: >- Merchant's POS identifier in PayU's system. Can be found in PayU's merchant panel client_secret: type: string example: 12f071174cb7eb79d4aac5bc2f07563f description: Merchant's secret key. Can be found in PayU's merchant panel TrustedMerchant: type: object required: - grant_type - client_id - client_secret - email - ext_customer_id properties: grant_type: type: string example: trusted_merchant enum: - trusted_merchant description: Authorization mode client_id: type: string example: '145227' description: >- Merchant's POS identifier in PayU's system. Can be found in PayU's merchant panel client_secret: type: string example: 12f071174cb7eb79d4aac5bc2f07563f description: Merchant's secret key. Can be found in PayU's merchant panel email: type: string description: Customer's email address in merchant's system ext_customer_id: type: string description: Customer's identifier in the merchant's system Partner: type: object required: - grant_type - client_id - client_secret - firm_id description: >- only usable with special Technical Partner priviliges that allow management of Firms, URLs, Shops and POSes created and managed by Partner properties: grant_type: type: string example: partner enum: - partner description: Authorization mode client_id: type: string example: '145227' description: Partners client_id client_secret: type: string example: 12f071174cb7eb79d4aac5bc2f07563f description: Partners client_secret firm_id: type: string example: p3BiPgVO description: publicFirmId created by Partner that will be managed blikTokens: type: array description: Section containing saved BLIK tokens items: type: object properties: value: type: string description: BLIK token value. type: type: string enum: - UID - PAYID description: >- Type of the token. Either UID for normal transactions or PAYID for recurring payments. brandImageUrl: type: string example: https://static.payu.com/images/mobile/logos/pbl_blik.png bankApplicationReferences: type: array description: Array containing objects about available installments options. items: type: object properties: key: type: string description: >- Unique key for assignment of particular banking application to a token. The value of this field is inserted in the order in payMethod.blikData.appKey field. example: 11111 label: type: string description: >- The value of the label for assigning a particular banking application to a token. A list of values for these fields is presented to the customer for selection when paying with the UID token. example: BLIK label recurring: type: object description: Contains information about the recurring payment. properties: aliasLabel: type: string description: BLIK recurring payment title. type: type: string description: Type of the recurring payment. enum: - O initializationDate: type: string description: >- Date of the first transaction in the recurring payment cycle without the customer confirmation. example: '2026-10-01T00:00:00+02:00' format: yyyy-MM-dd'T'HH:mm:ssXXX expirationDate: type: string description: >- Expiration date of the PAYID token. Maximum date is 10 years from the creation date of the token. If the value is not provided, token will be valid indifinitely. example: '2026-10-01T00:00:00+02:00' format: yyyy-MM-dd'T'HH:mm:ssXXX cardTokens: type: array description: Section containing saved card tokens items: type: object properties: value: type: string example: TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE brandImageUrl: type: string example: https://static.payu.com/images/mobile/visa.png preferred: type: boolean example: true status: type: string enum: - NEW - ACTIVE - EXPIRED example: ACTIVE cardExpirationYear: type: integer example: 2026 cardExpirationMonth: type: integer example: 7 cardNumberMasked: type: string example: 411111******1111 cardScheme: type: string example: VS cardBrand: type: string example: VISA mastercardFeature: type: object description: Click to Pay Mastercard feature. title: mastercard properties: status: enum: - ENABLED - DISABLED type: string description: Status of the Click to Pay feature for Mastercard. example: ENABLED dpaId: type: string description: Merchant ID in Mastercard Click to Pay. example: jI8iGo86 visaFeature: type: object description: Click to Pay feature. title: visa properties: status: Enum: - ENABLED - DISABLED type: string description: Status of the Click to Pay feature for Visa. example: ENABLED dpaId: type: string description: Merchant ID in Visa Click to Pay. example: jI8iGo86 acquirerBIN: type: string description: Acquirer Bank Identification Number for Click to Pay transactions. example: 123456 acquirerMerchantId: type: string description: Acquirer Merchant ID for Click to Pay transactions. example: MARCH01 clickToPayFeature: type: object description: Click to Pay feature. title: clickToPay properties: brandImageUrl: type: string description: URL of the Click to Pay brand image. example: https://static.payu.com/images/mobile/logos/pbl_cpt_on.png mastercard: $ref: '#/components/schemas/mastercardFeature' visa: $ref: '#/components/schemas/visaFeature' payByLinks: type: array description: Section containing available PayByLink payment methods items: type: object properties: value: type: string example: sgb description: >- payType value. You can find available values here. brandImageUrl: type: string example: https://static.payu.com/images/mobile/logos/pbl_sgb_off.png description: Link to logo graphic on PayU server. name: type: string example: SGB Bank description: Name of payType set by PayU status: type: string enum: - ENABLED - DISABLED - TEMPORARY_DISABLED example: DISABLED minAmount: type: number example: 50 maxAmount: type: number example: 99999999 features: type: object description: List of features available. properties: clickToPay: $ref: '#/components/schemas/clickToPayFeature' donation: type: object description: Section containing data of donation added to the order. properties: amount: type: integer description: Donation amount in pennies. example: 500 organizationId: type: string description: Charity identifier provided by PayU. delivery: type: object description: >- Section containing delivery address. For a list of parameters, see section delivery properties: street: type: string description: >- Full street address, incl. apartment number. Section recommended for the 3DS 2 authentication. maxLength: 255 postalBox: type: string description: Postal box maxLength: 255 postalCode: type: string description: >- Postal code. Section recommended for the 3DS 2 authentication. maxLength: 255 city: type: string description: City, section recommended for the 3DS 2 authentication. maxLength: 255 state: type: string description: >- Country principal subdivision like "state" or "province". If provided, must be a valid ISO 3166-2 code (e.g. "UT" for Utah in the USA or "30" for "Wielkopolskie" in Poland). Section recommended for the 3DS 2 authentication. example: '30' maxLength: 255 countryCode: type: string description: >- Two-letter country code compliant with ISO-3166. Section recommended for the 3DS 2 authentication. name: type: string description: Address description maxLength: 255 recipientName: type: string description: Recipient name maxLength: 255 recipientEmail: type: string description: Ecipient email recipientPhone: type: string description: Recipient phone number buyer: type: object description: Section containing buyer data. properties: extCustomerId: type: string description: ID of the customer used in merchant system minLength: 1 maxLength: 255 email: type: string description: >- Buyer's email address. **Required for Installments (PL), Pay Later (PL), Pay Later with Twisto (CZ), 3DS 2 authentication.** example: email@email.com minLength: 1 maxLength: 255 phone: type: string description: >- Buyer's telephone number. Please use +[country code] [number] format. **Required for Pay Later with Twisto (CZ), 3DS 2 authentication.** example: +48 225108001 minLength: 1 maxLength: 255 firstName: type: string description: >- Buyer's first name.
**Required for Pay Later with Twisto (CZ) and AFT card authorization (Account Funding Transaction)**

**In case of AFT card authorization you have to use ISO/IEC 8859-1 encoding**. example: John minLength: 1 maxLength: 100 lastName: type: string description: >- Buyer's last name.
**Required for Pay Later with Twisto (CZ) and AFT card authorization (Account Funding Transaction)**

**In case of AFT card authorization you have to use ISO/IEC 8859-1 encoding**. example: Doe minLength: 1 maxLength: 100 nin: type: string description: National Identification Number example: 123456789 language: type: string description: >- Language code, ISO-639-1 compliant. Denotes the language version of PayU hosted payment page and of e-mail messages sent from PayU to the payer. example: pl birthDate: type: string description: >- Buyer's date of birth. **Required for AFT card authorization (Account Funding Transaction)**. format: ISO 8601 example: '2006-12-03T00:00:00.000+01:00' delivery: description: '**Section recommended for the 3DS 2 authentication.**' $ref: '#/components/schemas/delivery' shippingMethods: type: array description: Array of objects related to shipping method. items: type: object required: - country - price - name properties: country: type: string description: >- Two-letter shipping country code compliant with ISO-3166. example: PL price: type: number description: Shipping price. example: 250 name: type: string description: Shipping method name example: Postal package products: type: array description: >- Section containing data of the ordered products. Section products is an array of objects of type product. items: type: object required: - name - unitPrice - quantity properties: name: type: string description: Name of the product. example: My product maxLength: 255 unitPrice: type: string description: Unit price. example: 999 quantity: type: string description: Quantity of given product example: 4 virtual: type: boolean description: >- Product type, which can be virtual or material. **Even if sent, the virtual parameter is not returned in PAYU notifications.** example: true shoppingCarts: type: array description: Array of objects related to transaction identification. items: type: object required: - extCustomerId - amount - products properties: extCustomerId: type: string description: Submerchant identifier example: ext-customer-1 maxLength: 1024 amount: type: number description: Total amount for given submerchant example: 24950 fee: type: string description: Marketplace fee. Value should be in range <0, amount> example: 250 shippingMethods: $ref: '#/components/schemas/shippingMethods' products: $ref: '#/components/schemas/products' clickToPayVisa: type: object title: visa description: Click to Pay data for Visa. required: - srcCorrelationId properties: srcCorrelationId: type: string description: A transaction identifier. example: 123e4567-e89b-12d3-a456-426614174000 clickToPayMastercard: type: object title: mastercard description: Click to Pay data for Mastercard. required: - srcCorrelationId - srcDigitalCardId properties: srcCorrelationId: type: string description: A transaction identifier. example: 123e4567-e89b-12d3-a456-426614174000 srcDigitalCardId: type: string description: >- A srcDigitalCardId is a unique identifier that represents the token associated with a card enrolled in Mastercard Checkout Solutions (MCS) example: DCID-111 clickToPay: type: object description: >- ClickToPay details. When this node is used, set `type` to `PBL` and `value` to `c`. Provide exactly one option: `visa` or `mastercard` (not both). oneOf: - title: Visa type: object required: - visa properties: visa: $ref: '#/components/schemas/clickToPayVisa' - title: Mastercard type: object required: - mastercard properties: mastercard: $ref: '#/components/schemas/clickToPayMastercard' cardPlainData: type: object description: '' required: [] properties: number: type: string description: '' example: '5100052384536818' expirationMonth: type: string description: '' example: '02' expirationYear: type: string description: '' example: '29' cvv: type: string description: '' example: '123' firstTransactionId: type: string description: '' example: MCC0111LL1121 specificData: type: array description: Additional data for some Visa Checkout integrations. items: type: object properties: name: type: string value: type: string blikData: type: object description: Additional data for BLIK payment with T6 or token. properties: aliasLabelProposal: type: string description: >- Label proposal associated with given mobile application. This field can be used only during token registration.
Required for the BLIK Recurring. registerTokenValue: type: string description: >- UID/PAYID token value assigned by the merchant. This field can be used only during token registration. register: type: boolean description: >- Set to `true` specifies that an alias registration request will be sent. Set to false will result in payment with a T6 authorization code without token registration. appKey: type: string description: >- The identifier of the customer's chosen bank mobile application within which the transaction authorization will take place. recommendedAuthLevel: type: string description: >- The proposed level of transaction authorisation. A value of `NO_CONFIRMATION` means no need for transaction confirmation. In case of recurring payments, the value of `NO_CONFIRMATION` means that the merchant is aware of potential fraud risk, accepts it and takes full responsibility for potential fraudulent transactions. enum: - NO_CONFIRMATION - REQUIRED_CONFIRMATION countryCode: type: string enum: - PL - SK example: PL description: >- Indicates the market where the BLIK payment will be initiated. If the field is not provided, the default value will be **PL**. recurring: type: object description: Contains information about the recurring payment. required: - type properties: type: type: enum description: >- Type of the recurring payment. Required for the recurring payment. enum: - O initializationDate: type: string description: >- Date of the first transaction in the recurring payment cycle without the customer confirmation. example: '2026-10-01T00:00:00+02:00' format: yyyy-MM-dd'T'HH:mm:ssXXX expirationDate: type: string description: >- Expiration date of the PAYID token. Maximum date is 10 years from the creation date of the token. If the value is not provided, token will be valid indifinitely. example: '2026-10-01T00:00:00+02:00' format: yyyy-MM-dd'T'HH:mm:ssXXX authorizeDespiteRecurringNotSupported: type: boolean default: false description: >- Indicates if BLIK transaction should be processed even if Buyers bank do not support recurring feature in BLIK payment. In such case, only a single transaction will be processed. threeDsData: type: object description: Object containing result data from 3DS process. required: - status3Ds - dsTransactionId properties: status3Ds: type: enum description: >- 3DS status. Following values are allowed to be used:
  • Y - successful 3DS2 authentication,
  • A - 3DS2 authentication attempt.
enum: - 'Y' - A example: 'Y' status3DsDescription: type: string minLength: 1 maxLength: 1024 description: >- Description related to 3DS result. Passing this parameter as a additional description with the MPI will allow better potential customer support from BOK. example: Authentication successful xid: type: string description: >- Unique identifier of 3DS transaction given by the shop. Field required within 3DS version 1 section. This field should not be sent when attempting 3DS2.x authentication.
  • [1 .. 20] characters - for value in plain text,
  • {28} characters - for Base64encoded value,
  • {40} characters - for HEXencoded value.
dsTransactionId: type: string description: >- Field required within 3DS2.x section. This field should not be sent when attempting 3DS version 1 authentication. minLength: 1 maxLength: 36 example: 3b31b19d-1c06-4ea4-a85a-00af10c66588 eciCode: type: enum description: >- E-commerce Indicator / UCAF. Values can be passed with "0", e.g. "04", "05", etc. It should be passed always if the MPI provided this information. enum: - 5 - 6 - 7 - 2 - 1 - 0 example: 5 cavv: type: string description: >- 3DS cryptogram. It should be passed always if the MPI provided this information. minLength: 1 maxLength: 200 example: AAABBBEAUAAAABgICABQAAAAAAA= tavv: type: string description: >- Token Authentication Verification Value (TAVV) from external provider. example: AgAAABBEAUAAAABg8CABQAAQEAAA= payMethod: type: object required: - type - value properties: type: type: string description: Payment method type. enum: - PBL - CARD_TOKEN - PAYMENT_WALL - BLIK_AUTHORIZATION_CODE - BLIK_TOKEN - TRANSPARENT value: type: string description: Payment type for PBL, CARD_TOKEN. example: c clickToPay: description: >- ClickToPay details. When this node is used, set `type` to `PBL` and `value` to `c`. Provide exactly one option: `visa` or `mastercard` (not both). allOf: - $ref: '#/components/schemas/clickToPay' authorizationCode: type: string description: >- Optional, usage differs depending on payment method. For BLIK integrated transparently: enables to collect 6-digit BLIK code on your website instead of redirecting to BLIK. example: '777123' authorizationType: type: string description: Applicable only to card-based payments, incl. Apple Pay, Google Pay. default: AUTHORIZATION enum: - PRE_AUTHORIZATION - AUTHORIZATION card: $ref: '#/components/schemas/cardPlainData' specificData: $ref: '#/components/schemas/specificData' amount: type: string description: >- Additional information required for Marketplace integration - must be equal to `totalAmount` as sum of amount parameters objects in `shoppingCards` array blikData: $ref: '#/components/schemas/blikData' threeDsData: $ref: '#/components/schemas/threeDsData' sourcePaymentFlow: type: enum description: Indicates digital wallet. example: VISA_MOBILE enum: - APPLE_PAY - CARDS - MDES - GOOGLE_PAY - VISA_MOBILE - VTS cardInstallments: type: object description: >- For merchants operating on the Romanian market (Requires contact with a Payu representative first). properties: provider: type: string description: >- Card installments program obtained by retrieving [Installments Options](#tag/Card-Installments/operation/retrieve-card-installments). example: BRD_INSTALLMENTS number: type: integer description: >- Selected amount of card installments, obtained by [retrieving Installments Options](#tag/Card-Installments/operation/retrieve-card-installments). example: 6 payMethods: type: object description: >- Section allows to directly invoke payment method. Section payMethods is one object of payMethod type. properties: payMethod: $ref: '#/components/schemas/payMethod' mcpData: type: object description: >- Section allows to pass currency conversion details if you chose to use Multi-Currency Pricing. required: - mcpCurrency - mcpAmount - mcpRate - mcpFxTableId - mcpPartnerId properties: mcpCurrency: type: string description: termCurrency from the rate table. example: EUR mcpAmount: type: string description: baseCurrency amount converted to termCurrency. example: 10000 mcpRate: type: string description: Applied conversion rate. example: 4.2556 mcpFxTableId: type: string description: Applied FX rate table id. example: 132331 mcpPartnerId: type: string description: Id provided by PayU. example: 6283a549-8b1a-430d-8a62-eea64327440e exemption: type: object required: - value - rejectionHandling description: >- Merchant's preference regarding SCA exemption to be used to exempt card payment from 3DS authentication. Exclusive with challengeRequested. Requires additional configuration to be enabled. properties: value: type: string description: >- Either LOW_RISK (also known as TRA - transaction risk analysis compliant with SCA requirements has been performed by the merchant) or LOW_VALUE (low value payment, up to 30 EUR or equivalent in other currency) enum: - LOW_RISK - LOW_VALUE example: LOW_RISK rejectionHandling: type: string description: >- Either PERFORM_AUTHENTICATION (PayU will return response with WARNING_CONTINUE_3DS and redirection URL code if exemption cannot be applied) or DECLINE (PayU will decline the payment if exemption cannot be applied - error message will be returned synchronously in OrderCreateResponse) enum: - PERFORM_AUTHENTICATION - DECLINE example: PERFORM_AUTHENTICATION riskScore: type: string maxLength: 128 description: >- Risk score assigned by merchant's antifraud tool. For informative purposes only. example: 120 - low risk score calculated in Merchants antifraud tool browser: type: object description: >- Browser data required for 3DS 2 browser flow. If not provided, these data will be collected by PayU. It is strongly recommended to include it when charging a stored card (multi-use token), because in some cases it will spare you redirection to PayU's authentication page. required: - acceptHeaders - requestIP - screenWidth - javaEnabled - timezoneOffset - screenHeight - userAgent - colorDepth - language properties: acceptHeaders: type: string description: >- Exact content of the HTTP accept headers as sent from the payer's browser. requestIP: type: string description: IP address of the browser as returned by the HTTP headers. example: 127.0.0.1 screenWidth: type: string description: >- Total width of the payer's screen in pixels. Obtained from the screen.width HTML DOM property. example: 1920 javaEnabled: type: boolean description: Obtained from the navigator HTML DOM object. example: false timezoneOffset: type: string description: Obtained from the getTimezoneOffset() method applied to Date object. example: 1 screenHeight: type: string description: Obtained from the navigator HTML DOM object. example: 1280 userAgent: type: string description: Exact content of the HTTP user-agent header. example: >- Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 colorDepth: type: string description: >- Obtained from payer's browser using the screen.colorDepth HTML DOM property. example: 32 language: type: string description: >- Obtained from payer's browser using the navigator.language HTML DOM property. Max. 8 chars. example: pl_PL sdkEphemPubKey: type: object description: >- Public key component of the ephemeral key pair generated by the 3DS SDK and used to establish session keys between the 3DS SDK and the issuer. properties: 'y': type: string example: MRy7wofaw77myc7hZef23hmmEOE x: type: string example: MRy7wofaw77myc7hZef23hmmEOE kty: type: string example: EC crv: type: string example: P-256 sdk: type: object description: >- Required if 3DS 2 is to be natively supported in your mobile app. Content needs to be generated by a certified 3DS 2 SDK. This information is not required, but it is strongly recommended to include it when charging a stored card (multi-use token). required: - sdkReferenceNumber - sdkMaxTimeout - sdkAppID - sdkEncData - sdkTransID - sdkEphemPubKey properties: sdkReferenceNumber: type: string example: DS_LOA_SDK_ADBV_739485_94783 sdkMaxTimeout: type: string description: >- Indicates the maximum amount of time (in minutes) for all exchanges. The field shall have value greater or equal to 05. example: 30 sdkAppID: type: string example: 9063b12c-fcde-43c7-b28e-8d0af5520e8a sdkEncData: type: string description: Data encrypted by the 3DS SDK. example: 9063b12c-fcde-43c7-b28e-8d0af5520e8a sdkTransID: type: string example: b60c9879-ac77-4918-a317-7b01c4317053/8Q==. sdkEphemPubKey: $ref: '#/components/schemas/sdkEphemPubKey' merchantFunds: type: object description: >- Indicates whether merchant's own funding (e.g. a gift card) has been used to partially pay for the order. Sum of amounts provided here and of field denote the real value of order in merchant's system. required: - amount - currencyCode properties: amount: type: string description: In pennies. example: 100 currencyCode: type: string description: Currency code compliant with ISO 4217. example: PLN merchantRiskIndicator: type: object description: >- Set of fields helping to assess risk connected with the order itself (type of goods purchased, shipping method etc.). properties: orderType: type: string enum: - PURCHASE - ACC_FUNDING - LOAN example: LOAN shipIndicator: type: string enum: - BILLING_ADDRESS - VERIFIED_ADDRESS - OTHER_ADDRESS - SHIP_TO_STORE - DIGITAL_GOODS - TICKETS - NOT_SHIPPED description: Indicates shipping method chosen for the order. example: TICKETS preOrdered: type: boolean description: >- Indicates order for merchandise with a future availability or release date. example: false preOrderedDate: type: string example: '2019-03-27T10:57:59.000+01:00' format: '2019-03-27T10:57:59.000+01:00' description: ISO format applies. deliveryTimeFrame: type: string enum: - ELECTRONIC - SAME_DAY - OVERNIGHT - TWO_OR_MORE_DAYS example: OVERNIGHT reordered: type: boolean description: Indicates if the same purchase has been ordered again. example: false merchantFunds: $ref: '#/components/schemas/merchantFunds' recurring: type: object description: Additional information in case of a recurring payment. properties: frequency: type: string description: >- The minimum number of days between recurring payments (e.g. setting it to 7 for a weekly cycle). However, according to the recommendations of card schemes, when dealing with recurring payments that have a variable frequency, it's advised to use a value of 1 for this parameter. example: '7' expiry: type: string format: '2025-03-27T00:00:00.000Z' description: >- Date after no further recurring payments will be performed. According to recommendation by the card schemes, in cases where there is no established expiry or end date of recurring (e.g. subscriptions), the value of "9999-12-31T00:00:00Z" should be used. example: '2025-03-27T00:00:00.000Z' accountInformation: type: object description: Informations about cardholders account. properties: createDate: type: string format: '2019-03-27T10:57:59.000+01:00' description: Date when the account has been created for the cardholder. example: '2019-03-27T10:57:59.000+01:00' suspiciousActivity: type: boolean description: >- Indicates whether merchant has experienced suspicious/fraudulent activity for this account. example: false deliveryAddressFirstUsedDate: type: string format: '2019-03-27T10:57:59.000+01:00' description: Date when the shipping address used for this order was first used. example: '2019-03-27T10:57:59.000+01:00' deliveryAdressUsageIndicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_30_DAYS - 30_TO_60_DAYS - MORE_THAN_60_DAYS description: Indicates when this shipping address was first used. example: THIS_TRANSACTION pastOrdersYear: type: integer description: >- Orders created in merchant's system for this account in the past 12 months. minimum: 1 maximum: 9999 example: 46 pastOrdersDay: type: integer description: >- Orders created in merchant's system for this account in the last 24 hours. minimum: 1 maximum: 9999 example: 125 purchasesLastSixMonths: type: integer description: >- Fulfilled (successful) orders created in merchant's system for this account in the past 6 months. minimum: 1 maximum: 9999 example: 12 changeDate: type: string format: '2019-03-27T10:57:59.000+01:00' description: Date when account details were last changed. example: '2019-03-27T10:57:59.000+01:00' changeIndicator: type: string enum: - THIS_TRANSACTION - LESS_THAN_30_DAYS - 30_TO_60_DAYS - MORE_THAN_60_DAYS description: Indicates time when account information was last changed. example: THIS_TRANSACTION passwordChanged: type: string format: '2019-03-27T10:57:59.000+01:00' description: Date when account password was last changed. example: '2019-03-27T10:57:59.000+01:00' passwordChangeIndicator: type: string enum: - NO_CHANGE - THIS_TRANSACTION - LESS_THAN_30_DAYS - 30_TO_60_DAYS - MORE_THAN_60_DAYS description: Indicates whether and when the password was last changed. example: NO_CHANGE nameToRecipientMatch: type: boolean description: Indicates whether cardholder's name matches recipient's name. example: true addCardAttemptsDay: type: string description: >- Indicates attempts to add a card to cardholder's account in merchant's system within last 24 hours. example: 3 authMethod: type: string enum: - GUEST - LOGIN - FEDERATED_ID - THIRD_PARTY - ISSUER - FIDO description: Authentication method used to recognize cardholder. example: GUEST authDateTime: type: string format: '2019-03-27T10:57:59.000+01:00' description: Date and time when authentication was performed. example: '2019-03-27T10:57:59.000+01:00' cardAddedDate: type: string format: '2019-03-27T10:57:59.000+01:00' description: Date when card account has been stored with merchant. example: '2019-03-27T10:57:59.000+01:00' cardAddedIndicator: type: string enum: - GUEST - THIS_TRANSACTION - LESS_THAN_30_DAYS - 30_TO_60_DAYS - MORE_THAN_60_DAYS description: Indicates if and when the card was stored with merchant. example: THIS_TRANSACTION billingAddress: type: object properties: street: type: string minLength: 1 maxLength: 50 description: Full street address, incl. apartment number. example: Test Street postalCode: type: string minLength: 1 maxLength: 16 description: Postal/ZIP code. example: 01-000 city: type: string minLength: 1 maxLength: 50 description: City name. example: Test City state: type: string minLength: 1 maxLength: 3 description: >- Country principal subdivision like "state" or "province". If provided, must be a two-letter country code compliant with ISO-3166. example: 30 countryCode: type: string minLength: 1 maxLength: 2 description: Two-letter country code compliant with ISO-3166. example: PL cardholder: type: object description: >- Describes cardholder's account data in merchant's possession, including details of account run for the cardholder in merchant's system **You have to use ISO/IEC 8859-1 encoding**.

You can use this field for providing cardholder name for AFT card authorization (Account Funding Transaction) instead of using buyer's first and last name. properties: name: type: string description: Cardholder name and surname. example: John Doe accountInformation: $ref: '#/components/schemas/accountInformation' billingAddress: $ref: '#/components/schemas/billingAddress' threeDsAuthentication: type: object description: Contains optional fields required by 3DS 2 authentication protocol. properties: challengeRequested: type: string description: >- Merchant's preference regarding 3DS 2 challenge. Exclusive with exemption. Maybe overridden by PayU. enum: - 'YES' - 'NO' - MANDATE exemption: $ref: '#/components/schemas/exemption' browser: $ref: '#/components/schemas/browser' sdk: $ref: '#/components/schemas/sdk' merchantRiskIndicator: $ref: '#/components/schemas/merchantRiskIndicator' recurring: $ref: '#/components/schemas/recurring' cardholder: $ref: '#/components/schemas/cardholder' riskData: type: object description: >- Contains optional fields required for risk analysis purposes. **Required for BLIK with authorization code or token.** required: - browser properties: browser: $ref: '#/components/schemas/browser' address: type: object description: >- Section containing data about shipping address. Section is a single object of type address properties: pointId: type: string description: The full name of the pickup point, including its unique identifier. example: Parcel locker POZ29A street: type: string description: Street name, possibly including house and flat number. streetNo: type: string description: Street number flatNo: type: string description: Flat number postalCode: type: string description: Postal Code city: type: string description: City countryCode: type: string description: Two-letter country code compliant with ISO-3166. shippingMethod: type: object description: >- Section containing data of shipping method. Section is a single object of type shippingMethod. properties: type: type: string description: Type of shipment enum: - COURIER - COLLECTION_POINT_PICKUP - PARCEL_LOCKER - STORE_PICKUP price: type: string description: Shipping cost address: $ref: '#/components/schemas/address' shoppingCart: type: array description: >- Section containing data of the ordered products. Section is an array of objects of type shoppingCart. items: type: object properties: shippingMethod: $ref: '#/components/schemas/shippingMethod' products: type: array description: >- Section containing data of the ordered products. Section products is an array of objects of type product. required: - name - unitPrice - quantity items: type: object properties: name: type: string description: Name of the product unitPrice: type: string description: Unit price quantity: type: string description: Quantity of virtual: type: boolean description: Product type, which can be virtual or material. listingDate: type: string format: '2019-03-27T10:57:59.000+01:00' description: >- Marketplace date from which the product (or offer) is available, ISO format applies. extCustomerId: type: string description: >- Submerchant identifier. This field should be consistent with field extCustomerId in shoppingCarts section when order is placed in marketplace. credit: type: object description: >- Section containing credit data. This information is not required, but it is strongly recommended to include it. Otherwise the buyer will be prompted to provide missing data on provider page when payment by Installments or Pay later. properties: shoppingCarts: $ref: '#/components/schemas/shoppingCart' applicant: type: object description: Section containing data of person applying for a credit. properties: email: type: string description: Applicant's email address example: test@test.com phone: type: string description: Applicant's phone number example: 123456789 firstName: type: string description: Applicant's first name example: Joe lastName: type: string description: Applicant's last name example: Doe language: type: string description: >- Language code, ISO-639-1 compliant. Denotes the language version of PayU hosted payment page and of e-mail messages sent from PayU to the payer. example: pl nin: type: string description: National Identification Number example: 123456789 address: type: object description: Section containing data about applican's address. properties: street: type: string description: Street name, possibly including house and flat number. example: Test Street streetNo: type: string description: Street number example: 123 flatNo: type: string description: Flat number example: 987 postalCode: type: string description: Postal Code example: 01-000 city: type: string description: City example: Test City countryCode: type: string description: Two-letter country code compliant with ISO-3166. example: PL additionalInfo: type: object description: Additional information about person applying for credit. properties: hasSuccessfullyFinishedOrderInShop: type: string description: >- Information whether there were previous, successfully completed orders for applicant. example: 'YES' klarnaAttachment: type: object description: >- Extra merchant data mandatory for merchants operating in certain segments. You will find more information about this object and its parameters on **[Klarna Documentation Page](https://docs.klarna.com/klarna-payments/additional-resources/use-cases/extra-merchant-data/)**. properties: content_type: type: string body: type: string submerchant: type: object properties: id: type: string description: >- submerchant ID when payment is created by Payment Facilitator for Submerchant settings: type: object properties: cardInstallmentsOptions: type: object description: >- List of allowed installment numbers for any number of specific providers, eg. "OPTIMO": [1, 2, 3]. For merchants operating on the Romanian market (requires contact with a Payu representative first). Available providers:
  • CARD_AVANTAJ
  • STAR_BT
  • UNICREDIT
  • BRD_INSTALLMENTS
  • RAIFFEISEN
  • GARANTI_RO
  • BCR_INSTALLMENTS
  • ALPHABANK_INSTALLMENTS
  • OPTIMO
  • CARD_EMAG
additionalProperties: type: array example: - 1 - 3 - 5 - 7 - 9 - 11 - 13 properties: type: array description: Array of objects related to transaction identification. items: type: object properties: name: type: string description: >- Static value. The payment identifier, displayed on transaction statements as "Trans ID" and within the transaction search option in the Management Panel. example: PAYMENT_ID value: type: string description: Transaction ID in PayU system. example: '1234567890' Full: type: 'null' description: '' Partial: type: object description: '' required: - amount - currencyCode properties: amount: type: string description: >- Amount you want to capture. Must be less than captured order amount. **Can be used only during partial capture**. example: 900 currencyCode: type: string description: Currency of the order. **Can be used only during partial capture** example: EUR card: type: object properties: transactions: type: array description: Array of order objects. items: type: object properties: payMethod: type: object properties: value: type: string description: Payment method code example: c paymentFlow: type: string description: >- Payment flow of of payment (for card and card based instruments payments) enum: - APPLE_PAY - CARD - CARD_INSTALLMENTS - CLICK_TO_PAY - FIRST_ONE_CLICK_CARD - GOOGLE_PAY - GOOGLE_PAY_TOKENIZED - VISA_MOBILE - ONE_CLICK_CARD - ONE_CLICK_CARD_RECURRING - ONE_CLICK_MAIL_ORDER - ONE_CLICK_MAIL_RECURRING - ONE_CLICK_PHONE_ORDER - ONE_CLICK_PHONE_RECURRING example: CARD validUntil: type: string description: Transaction capture expiration date. example: '2024-06-20T09:05:44.238+02:00' card: type: object description: Chosen payment method properties: cardData: type: object properties: cardNumberMasked: type: string description: >- Masked card number (real number or token - in case of Apple Pay and Google Pay Tokenized). example: 543402******4014 cardScheme: type: string description: >- Payment organization: MC (MasterCard/Maestro), VS (Visa) example: MC cardProfile: type: string description: Card profile (CONSUMER or BUSINESS) example: CONSUMER cardClassification: type: string description: Card classification (CREDIT/DEBIT) example: DEBIT cardResponseCode: type: string description: Response code example: '000' cardResponseCodeDesc: type: string description: Response code with description example: 000 - OK cardEciCode: type: string description: Electronic Commerce Indicator example: '2' card3DsStatus: type: string description: 3DS verification status example: 'Y' card3DsFrictionlessIndicator: type: string description: >- Indicates whether the authentication was frictionless or with challenge example: 'YES' card3DsStatusDescription: type: string description: Description of 3DS status example: >- MessageVersion=2.1.0,browser flow,3DS method not available,dynamic authentication,no cancel indicator,no status reason cardBinCountry: type: string description: >- Country in which card was issued. Two-letter country code compliant with ISO-3166 example: PL firstTransactionId: type: string description: >- Identifier of the first of recurring payments or Card-on-File, granted by the payment organisation example: MCC0111LL1121 resultCode: type: string enum: - AUT_ERROR_NO_AUTHORIZATION - AUT_ERROR_ANTIFRAUD_DECLINED - REG_ERROR_ANTIFRAUD_DECLINED description: >- Optional informaction about transaction result code:
  • AUT_ERROR_NO_AUTHORIZATION - authorization was not received, transaction cancelled.
  • AUT_ERROR_ANTIFRAUD_DECLINED - transaction rejected at the authoriztion stage by the antifraud system.
  • REG_ERROR_ANTIFRAUD_DECLINED - transaction rejected at registration stage by antifraud system.
  • REG_ERROR_AUTHENTICATION_REJECTED - Authentication was rejected by a third-party service.
    • For Visa Mobile payment method: Authentication failed in either the Visa Mobile or Issuer application.
example: AUT_ERROR_NO_AUTHORIZATION pbl: type: object properties: transactions: type: array description: Array of order objects. items: type: object properties: payMethod: type: object properties: value: type: string description: Payment method code example: m paymentFlow: type: string description: Defines how payments are handled. enum: - PBL - PEX_BANK bankAccount: type: object properties: number: type: string description: Bank account number from which payment was made. example: '80607787095718703296721164' name: type: string description: >- Name of the account holder from which payment was made (or full data – name, surname and address). example: JAN KOWALSKI city: type: string description: City included in account holder address. example: WARSZAWA postalCode: type: string description: Postal code included in account holder address. example: 02-638 street: type: string description: >- Street name and house number included in account holder address. example: UL.NOWOWIEJSKIEGO 8 address: type: string description: Account holder address. example: Warszawa Nowowiejskiego 8 resultCode: type: string enum: - AUT_ERROR_NO_AUTHORIZATION - AUT_ERROR_ANTIFRAUD_DECLINED - REG_ERROR_ANTIFRAUD_DECLINED description: >- Optional informaction about transaction result code:
  • AUT_ERROR_NO_AUTHORIZATION - authorization was not received, transaction cancelled.
  • AUT_ERROR_ANTIFRAUD_DECLINED - transaction rejected at the authoriztion stage by the antifraud system.
  • REG_ERROR_ANTIFRAUD_DECLINED - transaction rejected at registration stage by antifraud system.
  • REG_ERROR_AUTHENTICATION_REJECTED - Authentication was rejected by a third-party service.
    • For Visa Mobile payment method: Authentication failed in either the Visa Mobile or Issuer application.
example: AUT_ERROR_NO_AUTHORIZATION blik: type: object properties: transactions: type: array description: Array of order objects. items: type: object properties: payMethod: type: object properties: value: type: string description: Payment method code. example: blik paymentFlow: type: string description: Defines how payments are handled. enum: - BLIK_PBL - BLIK_AUTHORIZATION_CODE - BLIK_AUTHORIZATION_CODE_WITH_UID_TOKEN_REGISTERING - BLIK_UID_TOKEN - BLIK_AUTHORIZATION_CODE_WITH_PAYID_TOKEN_TYPE_O_REGISTERING - BLIK_PAYID_TOKEN_TYPE_O resultCode: type: string description: Transaction handling result code. blik: type: object description: '' properties: txRef: type: string description: The transaction identifier assigned by the BLIK system. extTxRef: type: string description: Transaction identifier assigned by PayU. wire: type: object properties: transactions: type: array description: Array of order objects. items: type: object properties: payMethod: type: object properties: value: type: string description: Payment method code example: bt validUntil: type: string format: date-time description: The expiration date and time for the transaction example: '2026-02-20T12:08:07.009+01:00' wireTransfer: type: object properties: title: type: string description: Title of the transfer example: Payment Title sortCode: type: string description: Bank sort code example: '5500' bankAccountNumber: type: string description: Bank account number example: '2545661682' ownerName: type: string description: Name of the account owner example: Owner account name ownerAddress: type: string description: Address of the account owner example: string bankName: type: string description: Name of the bank example: UniCredit Bank swiftCode: type: string description: SWIFT code of the bank example: BACXROBUXXX specificSymbol: type: string description: Specific symbol for the transfer example: '29' variableSymbol: type: string description: Variable symbol for the transfer example: '5011964003' balance: type: object description: Section containing Shop balance information. properties: currencyCode: type: string description: ISO 4217 currency code of currency in which Shop balance is kept. example: PLN total: type: number description: total balance of funds on Shop example: 1234567890 available: type: number description: >- value of available funds that are under Merchant disposition, excluding funds locked by PayU system example: 987654321 refundRetrievePending: type: object properties: refundId: type: string description: ID of the refund example: '5000000142' extRefundId: type: string description: External refund ID. example: hdjJduUEEH2 amount: type: string description: >- Amount of the refund. If this is left blank, all funds will be returned to the buyer. example: 10000 description: type: string description: Refund description example: Refund for order creationDateTime: type: string description: Date of refund creation. example: '2020-07-02T09:19:03.896+02:00' currencyCode: type: string description: Currency code compliant with ISO 4217. statusDatetime: type: string description: Timestamp of the status. example: '2020-07-02T09:19:04.016+02:00' status: type: string description: Refund status code. example: PENDING refundRetrieveCanceled: type: object properties: refundId: type: string description: ID of the refund example: '5000000142' extRefundId: type: string description: External refund ID. example: hdjJduUEEH2 amount: type: string description: >- Amount of the refund. If this is left blank, all funds will be returned to the buyer. example: 10000 description: type: string description: Refund description example: Refund for order creationDateTime: type: string description: Date of refund creation. example: '2020-07-02T09:19:03.896+02:00' currencyCode: type: string description: Currency code compliant with ISO 4217. statusDatetime: type: string description: Timestamp of the status. example: '2020-07-02T09:19:04.016+02:00' status: type: string description: Refund status code. statusError: type: object description: Information about error. properties: code: type: string description: Error type. description: type: string description: Error information. refundRetrieveFinalized: type: object properties: refundId: type: string description: ID of the refund example: '5000000142' extRefundId: type: string description: External refund ID. example: hdjJduUEEH2 amount: type: string description: >- Amount of the refund. If this is left blank, all funds will be returned to the buyer. example: 10000 description: type: string description: Refund description example: Refund for order creationDateTime: type: string description: Date of refund creation. example: '2020-07-02T09:19:03.896+02:00' currencyCode: type: string description: Currency code compliant with ISO 4217. statusDatetime: type: string description: Timestamp of the status. example: '2020-07-02T09:19:04.016+02:00' status: type: string description: Refund status code. example: FINALIZED StandardPayout: type: object title: Standard Payout required: - shopId properties: shopId: type: string description: >- Public identifier for the shop within PayU, under which payout will be executed. example: 1a2B3Cx payout: type: object required: - amount - extPayoutId description: Payout information. properties: description: type: string description: Payout description. extPayoutId: type: string description: >- External identificator of Payout assigned by Merchant. Parameter must be unique within the scope of a given shop, upon encountering an error, you should use a different value. minLength: 1 maxLength: 64 amount: type: number description: amount for which Payout should be created example: 987654321 additionalVariables: type: string format: VS=888111 description: >- Allows sending additional information to the system (Variable Symbol). Data from this field is send only to the supporting banks. This solution is dedicated only for Czech market. example: VS=888111 payout: type: object description: Payout information. required: - amount - extPayoutId properties: description: type: string description: Payout description. extPayoutId: type: string description: >- External identificator of Payout assigned by Merchant. Parameter must be unique within the scope of a given shop, upon encountering an error, you should use a different value. minLength: 1 maxLength: 64 amount: type: long description: Amount for which Payout should be created. example: 10000 additionalVariables: type: string format: VS=888111 description: >- Allows sending additional information to the system (Variable Symbol). Data from this field is send only to the supporting banks. This solution is dedicated only for Czech market. example: VS=888111 foreign: type: string description: Flag indicating whether payout was made to a foreign account. account: type: object required: - accountNumber description: Information about account to which payout should be sent. properties: accountNumber: type: string description: >- Bank account number. Required account formats for foreign transfers: Polish account: NRB, IBAN. Czech account: IBAN, internal in ([0-9]{1,6}[ -])?[0-9]{2,10}[ /][0-9]{4}) format. As for now, there is no format restrictions for national bank transfers. bankName: type: string description: >- Name of the bank. Required for foreign flag set to true. swiftCode: type: string description: >- Bank's SWIFT code. Required for foreign flag set to true. customerAddress: type: object required: - name description: Payout recipient's name. properties: name: type: string description: Payout recipient's name. countryCode: type: string description: >- Payout recipient's address details. Two-letter country code compliant with ISO-3166. Required for foreign flag set to true. city: type: string description: >- Payout recipient's address details - city. Required for foreign flag set to true. postalCode: type: string description: Payout recipient's address details - postal code. street: type: string description: >- Payout recipient's address details - street. Required for foreign flag set to true. bankAddress: type: object description: Bank address information. properties: street: type: string description: >- Bank address information - street. Required for foreign flag set to true. postalCode: type: string description: >- Bank address information - postal code. Required for foreign flag set to true. city: type: string description: >- Bank address information - city. Required for foreign flag set to true. countryCode: type: string description: >- Bank address information. Two-letter country code compliant with ISO-3166. Required for foreign flag set to true. BankAccountPayout: type: object title: Bank Account Payout required: - shopId - payout - account - customerAddress properties: shopId: type: string description: >- Public identifier for the shop within PayU, under which payout will be executed. example: 1a2B3Cx payout: $ref: '#/components/schemas/payout' account: $ref: '#/components/schemas/account' customerAddress: $ref: '#/components/schemas/customerAddress' bankAddress: $ref: '#/components/schemas/bankAddress' payee: type: object description: >- Required section designed to limit the risk of fraud or money laundering. required: - extCustomerId - accountCreationDate - email properties: extCustomerId: type: string description: Customer (payee) id assigned in the merchant system. minLength: 1 maxLength: 64 example: customer-id-1 accountCreationDate: type: string format: '2025-03-27T00:00:00.000Z' description: Date when the user was created in the merchant system. example: '2025-03-27T00:00:00.000Z' phoneNumber: type: string description: Customer (payee) phone number. minLength: 1 maxLength: 64 example: 48 225108001 email: type: string description: Customer (payee) email address. minLength: 1 maxLength: 256 example: email@email.com cardForPayout: type: object description: >- Data of the card that the payout will be made to. Required in case of a payout to the card number. required: - number - expirationMonth - expirationYear properties: number: type: string description: Card number. example: '4444333322221111' expirationMonth: type: string description: Card's expiration date - month. example: '11' expirationYear: type: string description: Card's expiration date - year. example: '2029' CardPayout: type: object title: Card Payout required: - shopId - payout - payee - customerAddress properties: shopId: type: string description: >- Public identifier for the shop within PayU, under which payout will be executed. example: 1a2B3Cx payout: $ref: '#/components/schemas/payout' payee: $ref: '#/components/schemas/payee' customerAddress: $ref: '#/components/schemas/customerAddress' cardToken: type: string description: >- Card token representing card to which payout will be made. Required in case of a payout to the card token. example: TOKC_2IHRST6HKSST3H62K2GS8pElI862 card: $ref: '#/components/schemas/cardForPayout' MarketplacePayout: type: object title: Payout for Marketplace required: - shopId - payout - account properties: shopId: type: string description: >- Public identifier for the shop within PayU, under which payout will be executed. example: 1a2B3Cx account: type: object required: - extCustomerId description: >- Information about submerchant account to which payout should be sent. properties: extCustomerId: type: string description: Unique submerchant identifier assigned by the Marketplace. example: submerchant1 payout: type: object required: - currencyCode - amount - extPayoutId properties: description: type: string description: Payout description. extPayoutId: type: string description: >- External identificator of Payout assigned by Merchant. Parameter must be unique within the scope of a given shop, upon encountering an error, you should use a different value. minLength: 1 maxLength: 64 amount: type: long description: Amount for which Payout should be created. example: 49 currencyCode: type: string format: ISO4217 minLength: 3 maxLength: 3 description: Shop currency from which the conversion will be made. example: PLN fxData: type: object description: Section containing details of the payout conversion. required: - partnerId - currencyCode - amount - rate - tableId properties: partnerId: type: string description: Partner id for currency exchange at PayU. example: 9999e44b-f68f-42e1-ad6c-3735ba1e2954 currencyCode: type: string format: ISO4217 minLength: 3 maxLength: 3 enum: - PLN - EUR - CZK description: >- Currency code after conversion. Currently supported currency codes are **PLN**, **EUR**, **CZK**. example: EUR amount: type: long description: >- The amount of payout after conversion that the marketplace seller will receive. example: 11 rate: type: double description: The rate at which the payout currency is converted. example: 0.22458 tableId: type: string description: >- The ID of the exchange rate table retrieved by the merchant from PayU, determining the basis for currency conversion during payment. example: '2055' FxPayout: type: object title: FxPayout required: - shopId - payout - account - fxData properties: shopId: type: string description: >- Public identifier for the shop within PayU, under which payout will be executed. example: 1a2B3Cx account: type: object required: - extCustomerId description: >- Information about submerchant account to which payout should be sent. properties: extCustomerId: type: string description: Unique submerchant identifier assigned by the Marketplace. example: submerchant1 payout: type: object required: - currencyCode - amount - extPayoutId properties: description: type: string description: Payout description. extPayoutId: type: string description: >- External identificator of Payout assigned by Merchant. Parameter must be unique within the scope of a given shop, upon encountering an error, you should use a different value. minLength: 1 maxLength: 64 amount: type: long description: Amount for which Payout should be created. example: 49 currencyCode: type: string format: ISO4217 minLength: 3 maxLength: 3 description: Shop currency from which the conversion will be made. example: PLN fxData: $ref: '#/components/schemas/fxData' PAYMENT_RECEIVED: type: object properties: operations: type: array description: List of operations. items: type: object properties: type: type: string description: Operation type. example: PAYMENT_RECEIVED enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - CHARGEBACK - ADMIN_CORRECTION amount: type: string description: Amount (of order, refund, payout). currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Operation description. status: type: string description: Operation status. example: COMPLETED creationDate: type: string description: Operation request moment. format: '2019-11-30T20:33:44+02:00' eventDate: type: string description: Operation ending moment. format: '2019-11-30T22:33:44+02:00' details: type: object properties: orderId: type: string description: Order identifier. extOrderId: type: string description: External order identifier. feeAmount: type: string description: Marketplace fee amount. counterparties: type: object description: Order elements. properties: extCustomerId: type: string description: Buyer identifier. name: type: string description: Buyer name. email: type: string description: Buyer email. products: type: array description: List of products in order. items: type: object properties: name: type: string description: Product name. unitPrice: type: string description: Unit price of product quantity: type: string description: Quantity funds: type: array items: type: object pageResponse: type: object properties: records: type: string description: Total number of records found. size: type: string description: Number of returned operations. pageCount: type: string description: Page count. REFUND_SENT: type: object properties: operations: type: array description: List of operations. items: type: object properties: type: type: string description: Operation type. example: REFUND_SENT enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - CHARGEBACK - ADMIN_CORRECTION amount: type: string description: Amount (of order, refund, payout). currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Operation description. status: type: string description: Operation status. example: COMPLETED creationDate: type: string description: Operation request moment. format: '2019-11-30T20:33:44+02:00' eventDate: type: string description: Operation ending moment. format: '2019-11-30T22:33:44+02:00' details: type: object properties: orderId: type: string description: Order identifier. extOrderId: type: string description: External order identifier. refundId: type: string description: Refund identifier. extRefundId: type: string description: External refund identifier. counterparties: type: object description: Order elements. properties: extCustomerId: type: string description: Buyer identifier. name: type: string description: Buyer name. email: type: string description: Buyer email. funds: type: array items: type: object pageResponse: type: object properties: records: type: string description: Total number of records found. size: type: string description: Number of returned operations. pageCount: type: string description: Page count. PAYOUT: type: object properties: operations: type: array description: List of operations. items: type: object properties: type: type: string description: Operation type. example: PAYOUT enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - CHARGEBACK - ADMIN_CORRECTION amount: type: string description: Amount (of order, refund, payout). currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Operation description. status: type: string description: Operation status. example: COMPLETED creationDate: type: string description: Operation request moment. format: '2019-11-30T20:33:44+02:00' eventDate: type: string description: Operation ending moment. format: '2019-11-30T22:33:44+02:00' details: type: object properties: payoutId: type: string description: Payout identifier extPayoutId: type: string description: External payout identifier. accountNumber: type: string description: The account to which the payout was made. funds: type: array items: type: object pageResponse: type: object properties: records: type: string description: Total number of records found. size: type: string description: Number of returned operations. pageCount: type: string description: Page count. RETURN: type: object properties: operations: type: array description: List of operations. items: type: object properties: type: type: string description: Operation type. example: RETURN enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - CHARGEBACK - ADMIN_CORRECTION amount: type: string description: Amount (of order, refund, payout). currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Operation description. status: type: string description: Operation status. example: COMPLETED creationDate: type: string description: Operation request moment. format: '2019-11-30T20:33:44+02:00' eventDate: type: string description: Operation ending moment. format: '2019-11-30T22:33:44+02:00' details: type: object properties: payoutId: type: string description: Payout identifier extPayoutId: type: string description: External payout identifier. funds: type: array items: type: object pageResponse: type: object properties: records: type: string description: Total number of records found. size: type: string description: Number of returned operations. pageCount: type: string description: Page count. CHARGEBACK: type: object properties: operations: type: array description: List of operations. items: type: object properties: type: type: string description: Operation type. example: CHARGEBACK enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - CHARGEBACK - ADMIN_CORRECTION amount: type: string description: Amount (of order, refund, payout). currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Operation description. status: type: string description: Operation status. example: COMPLETED creationDate: type: string description: Operation request moment. format: '2019-11-30T20:33:44+02:00' eventDate: type: string description: Operation ending moment. format: '2019-11-30T22:33:44+02:00' details: type: object properties: correctionId: type: string description: Correction identifier funds: type: array items: type: object pageResponse: type: object properties: records: type: string description: Total number of records found. size: type: string description: Number of returned operations. pageCount: type: string description: Page count. ADMIN_CORRECTION: type: object properties: operations: type: array description: List of operations. items: type: object properties: type: type: string description: Operation type. example: ADMIN_CORRECTION enum: - PAYMENT_SENT - PAYMENT_RECEIVED - PAYOUT - REFUND_SENT - REFUND_RECEIVED - RETURN - ADMIN_TRANSFER_SENT - ADMIN_TRANSFER_RECEIVED - FEE_TRANSFER_SENT - FEE_TRANSFER_RECEIVED - CHARGEBACK - ADMIN_CORRECTION amount: type: string description: Amount (of order, refund, payout). currencyCode: type: string description: Currency code according to ISO-4217. example: PLN description: type: string description: Operation description. status: type: string description: Operation status. example: COMPLETED creationDate: type: string description: Operation request moment. format: '2019-11-30T20:33:44+02:00' eventDate: type: string description: Operation ending moment. format: '2019-11-30T22:33:44+02:00' details: type: object properties: correctionId: type: string description: Correction identifier funds: type: array items: type: object pageResponse: type: object properties: records: type: string description: Total number of records found. size: type: string description: Number of returned operations. pageCount: type: string description: Page count. CompanyData: type: object description: Submerchant's data (if submerchant is a company). required: - verificationId - sellerId - companyName - taxId - legalForm - address - email properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: aZx65uY sellerId: type: string description: >- Unique id of seller (submerchant) given by marketplace side. This id must be constant for every verification concerning the same (submerchant). maxLength: 50 example: seller_1" email: type: string description: Contact email. minLength: 5 maxLength: 80 example: company@test.com phone: type: string description: Contact phone. maxLength: 40 example: '111222333' taxId: type: string description: Tax id. format: no spaces, eg. 1122334455 maxLength: 60 example: '1122334455' companyName: type: string description: Name of the company. maxLength: 80 example: Company 1 legalForm: type: string description: FOREIGN_COMPANY type has been deprecated. enum: - AGENCY_OF_FOREIGN_COMPANY - ASSOCIATION - CHURCH_LEGAL_PERSON - CIVIL_LAW_PARTNERSHIP - COOPERATIVE - EDUCATIONAL_INSTITUTION - FOUNDATION - GENERAL_PARTNERSHIP - JOINT_STOCK_COMPANY - LIMITED_JOINT_STOCK_PARTNERSHIP - LIMITED_LIABILITY_COMPANY - LIMITED_LIABILITY_PARTNERSHIP - LIMITED_PARTNERSHIP - LOCAL_GOVERNMENT_UNIT - PRIVATE_PERSON - PROFESSIONAL_PARTNERSHIP - LOCAL_GOVERNMENT_CULTURE_INSTITUTION - RESEARCH_INSTITUTE - SOLE_TRADER - OTHER example: CIVIL_LAW_PARTNERSHIP gusCode: type: string description: >- Code relating to the legal form. For more information see the site of the Główny Urząd Statystyczny. maxLength: 50 registryNumber: type: string description: Company registry number (eg REGON in Poland). maxLength: 40 registrationDate: type: string format: YYYY-MM-DD description: Company registration date in the registries. example: '2019-07-07' address: type: object description: Address of the company. required: - country properties: street: type: string description: >- Street with building and apartment number. Required for full verification. maxLength: 255 example: Grunwaldzka 186 zipcode: type: string description: >- Company's address zipcode. Required for full verification. maxLength: 20 example: 60-166 city: type: string description: Required for full verification. maxLength: 40 example: Poznan country: type: string description: Two letter ISO country code. maxLength: 80 example: PL PrivatePerson: type: object description: Submerchant's data (if submerchant is a private person). required: - verificationId - sellerId - name - surname - legalForm - address - email - dateOfBirth properties: verificationId: type: string description: Unique id of the verification provided by PayU. maxLength: 18 example: BZx65uYW sellerId: type: string description: >- Unique id of seller (submerchant) given by marketplace side. This id must be constant for every verification concerning the same (submerchant). maxLength: 50 example: seller_2" email: type: string description: Contact email. minLength: 5 maxLength: 80 example: test@test.com phone: type: string description: Contact phone. maxLength: 40 example: '111222333' taxId: type: string description: Tax id. Should be empty for private person. format: should be empty for private person maxLength: 60 example: '' name: type: string description: First name of the seller. maxLength: 40 example: Jan surname: type: string description: Last name of the seller. maxLength: 40 example: Kowalski legalForm: type: string description: FOREIGN_COMPANY type has been deprecated. enum: - AGENCY_OF_FOREIGN_COMPANY - ASSOCIATION - CHURCH_LEGAL_PERSON - CIVIL_LAW_PARTNERSHIP - COOPERATIVE - EDUCATIONAL_INSTITUTION - FOUNDATION - GENERAL_PARTNERSHIP - JOINT_STOCK_COMPANY - LIMITED_JOINT_STOCK_PARTNERSHIP - LIMITED_LIABILITY_COMPANY - LIMITED_LIABILITY_PARTNERSHIP - LIMITED_PARTNERSHIP - LOCAL_GOVERNMENT_UNIT - PRIVATE_PERSON - PROFESSIONAL_PARTNERSHIP - LOCAL_GOVERNMENT_CULTURE_INSTITUTION - RESEARCH_INSTITUTE - SOLE_TRADER - OTHER example: PRIVATE_PERSON personalIdentificationNumber: type: string description: >- National, personal identification number e.g. PESEL in Poland. Required for private persons for full verification Not required for basic data. maxLength: 150 example: '90112322330' dateOfBirth: type: string description: '' format: YYYY-MM-DD example: '1988-10-12' registryNumber: type: string description: >- Company registry number (eg REGON in Poland). Should be empty for private person. maxLength: 40 example: '' address: type: object description: Address of the private person. required: - country properties: street: type: string description: >- Street with building and apartment number. Required for full verification. maxLength: 255 example: Grunwaldzka 186 zipcode: type: string description: >- Private person's address zipcode. Required for full verification. maxLength: 20 example: 60-166 city: type: string description: Required for full verification. maxLength: 40 example: Poznan country: type: string description: Two letter ISO country code. maxLength: 80 example: PL PayoutWithVerificationTransfer: type: object required: - bankDataId - verificationId - accountNumberRequested - swiftCode - payoutDataVerificationType - foreign - verified - verificationTransferId properties: bankDataId: type: string description: Id of the bank account details assigned by marketplace. maxLength: 100 example: '01102020' verificationId: type: string description: Id of verification in context of which data are provided. maxLength: 18 example: verification-123 accountNumberRequested: type: string description: Bank account number declared for withdrawals by submerchant. format: IBAN maxLength: 255 example: PL1122334455667788991010111223345 hasDocument: type: string enum: - true - false description: > Flag informing that this bank account for payouts should be verified on base of bank document. **It must be set to true when the method used is "BANK_STATEMENT"**. example: 'true' payoutDataVerificationType: type: string enum: - LIAN_LIAN - PINGPONG - OFX - BANK_STATEMENT - BANK_TRANSFER - NO_VERIFICATION_NEEDED description: > Type of verification used for the provided payout details verification. Different for each verification type: * **LIAN_LIAN** - special type for Chinese submerchants, * **PINGPONG** - special type for Chinese submerchants, * **OFX** - special type for Chinese submerchants, * **BANK_STATEMENT** - used if all data are present on the document (**`hasDocument` must be true**), * **BANK_TRANSFER**, * **NO_VERIFICATION_NEEDED** - used if the provided bank account number was not yet verified by 3rd party but it doesn't have to be verified at the time of providing the bank details. It is used for the occasional transaction process when the bank account number is provided at the beginning of the process. example: BANK_STATEMENT foreign: type: string enum: - true - false description: > Foreign Transfer Indicator. Has to be `true` for all cross-border payouts and payouts in EUR. **For domestic transfers set this parameter to `false`, specifically**: - Payouts in CZK (Czech Koruna) to an account held in the Czech Republic. - Payouts in PLN (Polish Złoty) to an account held in Poland. example: 'false' verificationTransferId: type: string description: >- Have to be indicated in request with declared payouts data. Payouts data need to be declared in 72 hours from above request/response. maxLength: 255 example: 5f7007da-8e05-4f0f-9503-05c053034bde verified: type: string description: >- parameter indicating whether the bank account number was already verified e.g. by another provider. If set to **false** and the verification type is other than "NO_VERIFICATION_NEEDED" PayU must verify the bank account details. example: 'false' PayoutWithoutVerificationTransfer: type: object required: - bankDataId - verificationId - accountNumberRequested - payoutDataVerificationType - foreign - verified properties: bankDataId: type: string description: Id of the bank account details assigned by marketplace. maxLength: 100 example: '01102020' verificationId: type: string description: Id of verification in context of which data are provided. maxLength: 18 example: verification-123 accountNumberRequested: type: string description: Bank account number declared for withdrawals by submerchant. format: IBAN maxLength: 255 example: PL1122334455667788991010111223345 hasDocument: type: string enum: - true - false description: > Flag informing that this bank account for payouts should be verified on base of bank document. **It must be set to true when the method used is "BANK_STATEMENT**". example: 'true' swiftCode: type: string description: Standard format of Bank Identifier Code. maxLength: 11 example: BREXPLPW bankAddress: type: string description: Bank address. example: Schule Str. 23 60-000 Berlin bankCountry: type: string description: Bank country. **Required for foreign bank account**. maxLength: 10 example: DE payoutDataVerificationType: type: string enum: - LIAN_LIAN - PINGPONG - OFX - BANK_STATEMENT - BANK_TRANSFER - NO_VERIFICATION_NEEDED description: > Type of verification used for the provided payout details verification. Different for each verification type: * **LIAN_LIAN** - special type for Chinese submerchants, * **PINGPONG** - special type for Chinese submerchants, * **OFX** - special type for Chinese submerchants, * **BANK_STATEMENT** - used if all data are present on the document (**`hasDocument` must be true**), * **BANK_TRANSFER**, * **NO_VERIFICATION_NEEDED** - used if the provided bank account number was not yet verified by 3rd party but it doesn't have to be verified at the time of providing the bank details. It is used for the occasional transaction process when the bank account number is provided at the beginning of the process. example: BANK_STATEMENT statementData: type: object description: Details from bank statement. required: - ownerName - address properties: accountNumberFromBank: type: string description: '' maxLength: 50 example: DE84074749817492314 ownerName: type: string description: Name of the account owner from bank transfer. maxLength: 255 example: Marian Brotchen address: type: object description: '' properties: street: type: string description: Street name. maxLength: 255 example: Schule Str. 23 zipcode: type: string description: Zipcode maxLength: 255 example: 60-000 city: type: string description: City name. maxLength: 255 example: Berlin country: type: string description: Country code. format: ISO Country Code maxLength: 2 example: DE foreign: type: string enum: - true - false description: > Foreign Transfer Indicator. Has to be `true` for all cross-border payouts and payouts in EUR. **For domestic transfers set this parameter to `false`, specifically**: - Payouts in CZK (Czech Koruna) to an account held in the Czech Republic. - Payouts in PLN (Polish Złoty) to an account held in Poland. example: 'false' verified: type: string description: >- parameter indicating whether the bank account number was already verified e.g. by another provider. If set to **false** and the verification type is other than "NO_VERIFICATION_NEEDED" PayU must verify the bank account details. example: 'false' PayoutBankStatement: type: object required: - bankDataId - verificationId - accountNumberRequested - hasDocument - payoutDataVerificationType - foreign - verified properties: bankDataId: type: string description: Id of the bank account details assigned by marketplace. maxLength: 100 example: '01102020' verificationId: type: string description: Id of verification in context of which data are provided. maxLength: 18 example: verification-123 accountNumberRequested: type: string description: Bank account number declared for withdrawals by submerchant. format: IBAN maxLength: 255 example: PL1122334455667788991010111223345 hasDocument: type: string enum: - true - false description: > Flag informing that this bank account for payouts should be verified on base of bank document. **It must be set to true when the method used is "BANK_STATEMENT**". example: 'true' payoutDataVerificationType: type: string enum: - LIAN_LIAN - PINGPONG - OFX - BANK_STATEMENT - BANK_TRANSFER - NO_VERIFICATION_NEEDED description: > Type of verification used for the provided payout details verification. Different for each verification type: * **LIAN_LIAN** - special type for Chinese submerchants, * **PINGPONG** - special type for Chinese submerchants, * **OFX** - special type for Chinese submerchants, * **BANK_STATEMENT** - used if all data are present on the document (**`hasDocument` must be true**), * **BANK_TRANSFER**, * **NO_VERIFICATION_NEEDED** - used if the provided bank account number was not yet verified by 3rd party but it doesn't have to be verified at the time of providing the bank details. It is used for the occasional transaction process when the bank account number is provided at the beginning of the process. example: BANK_STATEMENT foreign: type: string enum: - true - false description: > Foreign Transfer Indicator. Has to be `true` for all cross-border payouts and payouts in EUR. **For domestic transfers set this parameter to `false`, specifically**: - Payouts in CZK (Czech Koruna) to an account held in the Czech Republic. - Payouts in PLN (Polish Złoty) to an account held in Poland. example: 'false' verified: type: string description: >- parameter indicating whether the bank account number was already verified e.g. by another provider. If set to **false** and the verification type is other than "NO_VERIFICATION_NEEDED" PayU must verify the bank account details. example: 'false' Card: type: object required: - notifyUrl - externalId - legalName - dbaName - address - phone - websiteUrl - mcc - riskClass - taxId - representatives - legalForm - agreementDate properties: payTypeCategories: type: array description: >- Array of enumerated values: `Card`, `PBL`. Both can be used at the same time - minimum one is required. items: type: string example: - Card externalId: type: string description: Id assigned by the Payment Facilitator. notifyUrl: type: string description: >- Notifications regarding submerchant status change will be sent to address provided in this field. legalName: type: string description: Full legal (registration) name. dbaName: type: string description: >- "Doing business as" name, usually simplified website address which can be recognized by customer (e.g. when displayed on card statement). address: type: object required: - street - postalCode - city - countryCode description: Legal address object. properties: street: type: string description: >- Legal address street including house/apartment number (if applicable). city: type: string description: Legal address city. postalCode: type: string description: Legal address postal code. countryCode: type: string description: >- Legal address country code. Must be a valid ISO 3166-1 two-letter code. phone: type: string description: Contact phone number. websiteUrl: type: string description: A valid URL address of merchant's website. mcc: type: number description: >- Accurate Merchant Category Code established during KYC process by the PF. riskClass: type: string description: >- Risk class assigned by Payment Facilitator (basing on requirements provided by PayU). enum: - LOW - NORMAL - HIGH representatives: type: array description: >- Array of either principals or enterprise owners (depends on legal form). Minimum one is required. items: type: object required: - name - phone properties: name: type: string description: Representative's name. phone: type: string description: Representative's phone number. legalForm: type: string enum: - FU - FZ - IB - JST - KOP - PO - PP - PPZ - PRPA - SA - SC - SD - SIK - SJ - SK - SO - SP - SPOL - ST description: >- Dictionary value - legal entity type. Check dictionaries for specific origin. taxId: type: string description: >- Tax identification (e.g. NIP in Poland) or business identification (e.g. IČ in Czechia). agreementDate: type: string description: >- Date when PF signed agreement with the submerchant (required by Visa for reporting purposes). format: yyyy-mm-dd CardPbl: type: object title: Card, PBL required: - notifyUrl - externalId - legalName - dbaName - address - phone - websiteUrl - mcc - riskClass - taxId - representatives - legalForm - agreementDate properties: payTypeCategories: type: array description: >- Array of enumerated values: `Card`, `PBL`. Both can be used at the same time - minimum one is required. items: type: string example: - Card - PBL externalId: type: string description: Id assigned by the Payment Facilitator. notifyUrl: type: string description: >- Notifications regarding submerchant status change will be sent to address provided in this field. legalName: type: string description: Full legal (registration) name. dbaName: type: string description: >- "Doing business as" name, usually simplified website address which can be recognized by customer (e.g. when displayed on card statement). address: type: object required: - street - postalCode - city - countryCode description: Legal address object. properties: street: type: string description: >- Legal address street including house/apartment number (if applicable). city: type: string description: Legal address city. postalCode: type: string description: Legal address postal code. countryCode: type: string description: >- Legal address country code. Must be a valid ISO 3166-1 two-letter code. phone: type: string description: Contact phone number. websiteUrl: type: string description: A valid URL address of merchant's website. mcc: type: number description: >- Accurate Merchant Category Code established during KYC process by the PF. riskClass: type: string description: >- Risk class assigned by Payment Facilitator (basing on requirements provided by PayU). enum: - LOW - NORMAL - HIGH representatives: type: array description: >- Array of either principals or enterprise owners (depends on legal form). Minimum one is required. items: type: object required: - name - phone properties: name: type: string description: Representative's name. phone: type: string description: Representative's phone number. legalForm: type: string enum: - FU - FZ - IB - JST - KOP - PO - PP - PPZ - PRPA - SA - SC - SD - SIK - SJ - SK - SO - SP - SPOL - ST description: >- Dictionary value - legal entity type. Check dictionaries for specific origin. taxId: type: string description: >- Tax identification (e.g. NIP in Poland) or business identification (e.g. IČ in Czechia). agreementDate: type: string description: >- Date when PF signed agreement with the submerchant (required by Visa for reporting purposes). format: yyyy-mm-dd Pbl: type: object title: PBL required: - notifyUrl - externalId - legalName - dbaName - address - websiteUrl - mcc - taxId properties: payTypeCategories: type: array description: >- Array of enumerated values: `Card`, `PBL`. Both can be used at the same time - minimum one is required. items: type: string example: - PBL externalId: type: string description: Id assigned by the Payment Facilitator. notifyUrl: type: string description: >- Notifications regarding submerchant status change will be sent to address provided in this field. legalName: type: string description: Full legal (registration) name. dbaName: type: string description: >- "Doing business as" name, usually simplified website address which can be recognized by customer (e.g. when displayed on card statement). address: type: object required: - street - postalCode - city - countryCode description: Legal address object. properties: street: type: string description: >- Legal address street including house/apartment number (if applicable). city: type: string description: Legal address city. postalCode: type: string description: Legal address postal code. countryCode: type: string description: >- Legal address country code. Must be a valid ISO 3166-1 two-letter code. phone: type: string description: Contact phone number. websiteUrl: type: string description: A valid URL address of merchant's website. mcc: type: number description: >- Accurate Merchant Category Code established during KYC process by the PF. riskClass: type: string description: >- Risk class assigned by Payment Facilitator (basing on requirements provided by PayU). enum: - LOW - NORMAL - HIGH representatives: type: array description: >- Array of either principals or enterprise owners (depends on legal form). Minimum one is required. items: type: object required: - name - phone properties: name: type: string description: Representative's name. phone: type: string description: Representative's phone number. legalForm: type: string enum: - FU - FZ - IB - JST - KOP - PO - PP - PPZ - PRPA - SA - SC - SD - SIK - SJ - SK - SO - SP - SPOL - ST description: >- Dictionary value - legal entity type. Check dictionaries for specific origin. taxId: type: string description: >- Tax identification (e.g. NIP in Poland) or business identification (e.g. IČ in Czechia). agreementDate: type: string description: >- Date when PF signed agreement with the submerchant (required by Visa for reporting purposes). format: yyyy-mm-dd security: - Bearer: - client_credentials