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 <a
    href="/europe/docs/">PayU documentation</a>. 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 <a
    href="https://registration-merch-prod.snd.payu.com/boarding/#/registerSandbox/"
    target="_blank">create your own account</a> 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 <a
    href="https://status.snd.payu.com/" target="_blank">Status page</a>.


    **Testing Card Payments**


    In order to test card payments on sandbox, please use credentials displayed
    on the <a href="/europe/docs/testing/sandbox/" target="_blank">Sandbox</a>
    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 <code>client_id</code> and <code>client_secret</code> 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: 

        - <code>client_credentials</code> - used for standard integration,

        - <code>trusted_merchant</code> - used for authentication of requests
        made for logged-in shop/application users with fixed
        <code>extCustomerId</code>,

        - <code>partner</code> - 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 <code>name</code> 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:<ul> <li> **IPv4** - address represented in the
                    dotted decimal format of 4 sets of decimal numbers separated
                    by dots. The decimal number in each and every set is in the
                    range 0 - 255. Example: 1.12.123.255.</li> <li> **IPv6** -
                    address represented as eight groups of four hexadecimal
                    digits, each group representing 16 bits (two octets). The
                    groups are separated by colons (:). Example:
                    2011:0db8:85a3:0101:0101:8a2e:0370:7334.</li></ul>
                  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: <ul> <li><b>FIRST</b>
                    - payment initialized by the card owner who agreed to save
                    card for future use in recurring plan. You can expect full
                    authentication (3D Secure and/or CVV). If you want to use
                    multi-use token (TOKC_) later, you have to be confident,
                    that first recurring payment was successful.</li>
                    <li><b>STANDARD</b> - subsequent recurring payment (user is
                    not present). This transaction has multi use token (TOKC_).
                    You cannot use it if FIRST recurring payment failed.</li>
                    </ul> <b><code>recurring</code> parameter cannot be used
                    with <code>cardOnFile</code> parameter</b> .
                  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:<ul> <li><b>REFUND_PAYMENT_STANDARD</b> – The
                        standard refund procedure.</li> <li><b>FAST</b> – An
                        expedited refund process that may incur higher fees.
                        <b>Available only to merchants operating through PayU
                        GPO Romania</b>.</li> </ul>
                      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 <code>grant_type=trusted_merchant</code>.
          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. <b>You can enter multiple
            values. Subsequent entries should be separated by a comma</b>.
          required: false
          schema:
            type: string
        - name: type
          in: query
          description: >-
            Operation type. <b>You can enter multiple values. Subsequent entries
            should be separated by a comma.</b>
          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". <b>Date must be url
            encoded.</b>
          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". <b>Date must be url
            encoded.</b>
          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". <b>Date must be url
            encoded.</b>
          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". <b>Date must be url
            encoded.</b>
          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 "<b>+</b>" or "<b>-</b>" before field
            name defines sorting order. <b>Default is ascending</b>.
          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. <b>Required if you want to check a
            status of a company.</b>
          content:
            application/json:
              schema:
                type: string
        - name: pesonalIdentificationNumber
          in: query
          required: true
          description: >-
            Personal identification number of individual. <b>Required if you
            want to check a status of a private person.</b>
          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: <ul>
                    <li><b>PAYOUT_ACCOUNT_DATA</b>- initialized by marketplace
                    side. The verification with this type should contain the
                    data of payout account and seller (submerchant). If this
                    verification initializes seller in PayU then seller data are
                    required. If it is just account update, then only account
                    data are required.</li> <li><b>FULL</b> - verification which
                    requires providing by seller all data for AML4 and payouts,
                    typically initialized by marketplace side.</li>
                    <li><b>UPDATE</b> - verification which requires providing by
                    seller all data for AML4 and payouts, typically initialized
                    by marketplace side.</li> <li><b>REVERIFICATION</b> -
                    verification which requires providing by seller all data for
                    AML4 and payouts, typically initialized by marketplace
                    side.</li> <li><b>PERSONAL_ID_TAX_ID_CHANGE</b>- initialized
                    by marketplace side. This allows to change PERSONAL_ID for
                    private person or TAX_IDs for legal entity. Once the KYC
                    verification process begins, the current account and payouts
                    are blocked until verification is completed. If the process
                    is interrupted (e.g. the company is unable to verify
                    itself), PayU restores the old merchant account, thus
                    unlocking the payouts on it.</li> <li><b>CONVERSION</b>-
                    initialized by marketplace side. This allows to change
                    PERSONAL_ID for private person or TAX_IDs for legal entity.
                    Once the KYC verification process begins, the current
                    account and payouts are blocked until verification is
                    completed. If the process is interrupted (e.g. the company
                    is unable to verify itself), PayU restores the old merchant
                    account, thus unlocking the payouts on it.</li> </ul> 
                  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. <b>Required for non-polish
                    associates</b>.
                  format: YYYY-MM-DD
                  example: '1980-01-27'
                associateIdentityNumber:
                  type: string
                  description: >-
                    Unique associate identification number. PESEL in Poland.
                    <b>Required for polish associates</b>.
                  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: >-
                    <code>fileId</code> 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 <b><a
                    href="/europe/docs/get-started/introduction/#languages"
                    target="_blank">languages</a></b> 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 <code>grant_type=client_credentials</code>.
          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
                    <code>address.country</code> code is not equal to
                    <code>businessArea.origin</code> please use <b>FZ</b> type.
                    <b>Providing accurate type speeds up merchant
                    verification.</b>
                  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 <b>shops</b> created for this firm. Must
                    be a valid IBAN number in case of firms with <b>PL</b>
                    origin. <b>Different bank account maybe defined at shop
                    level manually, via PayU merchant panel.</b>
                  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: <b>CZ</b> and <b>PL</b>. <b>It is still
                        possible to register a firm which is incorporated
                        outside of Czechia or Poland</b>.
                      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).
                          <b>Required only for Polish citizens</b>
                        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. <b>Required only for
                          non-Polish citizens</b>
                        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 (<b>if other than registration
                    address</b>). 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 <code>grant_type=partner</code>.
          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:<ul> <li><b>TRANSFERS</b> - online
                          transfers ("pay-by-links" and standard bank transfers,
                          incl. Blik),</li> <li><b>CARD</b> - cards (Visa,
                          Mastercard) and digital wallets (Apple Pay, Google
                          Pay),</li> <li><b>INSTALLMENTS</b> - online
                          installments,</li> <li><b>DELAYED_PAYMENTS</b> - "pay
                          later" methods.</li></ul>
                        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 <code>grant_type=partner</code>.
          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 <b>URL</b>.
                  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 <code>grant_type=partner</code>.
          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 <code>grant_type=partner</code>.
          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 <b>UTF-8</b> for <b>REST</b> 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 <code>grant_type=partner</code>.
          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: <ul> <li><b>POSITIVE</b> - indicates that the
            seller is accepted and can process transactions with PayU.</li>
            <li><b>NEGATIVE</b> - indicates that the seller is rejected and
            can't process transactions with PayU. There is an error code always
            send for negative scenario.</li> <li><b>REJECTED</b> -  indicates
            that provided data must be corrected.</li>
            <li><b>WAITING_FOR_DATA</b> - waiting for data is sent in the
            notification when the verification was initialized but the request
            to start verification was not yet received. Provide the necessary
            data and documents according to the type of submerchant and send
            POST request on <code complete</code> endpoint.</li>
            <li><b>WAITING_FOR_VERIFICATION</b> - waiting for verification
            indicates that data and documents submitted to PayU will be verified
            by PayU or  currently being verified. Wait for notification about
            status change.</li> <li><b>CANCELED</b> - canceled. Initiate new
            verification when it is necessary. Marketplace can not cancel
            verification intialized by PayU or after sending complete
            information.</li> </ul>
          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: >-
              <code>payType</code> value. You can find available values <b><a
              href="/europe/docs/get-started/introduction/#paymethods"
              target="_blank">here</a></b>.
          brandImageUrl:
            type: string
            example: https://static.payu.com/images/mobile/logos/pbl_sgb_off.png
            description: Link to <code><payType</code> logo graphic on PayU server.
          name:
            type: string
            example: SGB Bank
            description: Name of <code>payType</code> 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. <b>Section recommended
            for the 3DS 2 authentication</b>.
          maxLength: 255
        postalBox:
          type: string
          description: Postal box
          maxLength: 255
        postalCode:
          type: string
          description: >-
            Postal code. <b>Section recommended for the 3DS 2
            authentication</b>.
          maxLength: 255
        city:
          type: string
          description: City, <b>section recommended for the 3DS 2 authentication</b>.
          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). <b>Section recommended
            for the 3DS 2 authentication</b>.
          example: '30'
          maxLength: 255
        countryCode:
          type: string
          description: >-
            Two-letter country code compliant with <b><a
            href="https://www.iso.org/iso-3166-country-codes.html">ISO-3166</a></b>.
            <b>Section recommended for the 3DS 2 authentication</b>.
        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. </br>**Required for Pay Later with Twisto (CZ)
            and AFT card authorization (Account Funding Transaction)**
            </br></br>**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. </br>**Required for Pay Later with Twisto (CZ)
            and AFT card authorization (Account Funding
            Transaction)**</br></br>**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 <b><a
              href="https://www.iso.org/iso-3166-country-codes.html">ISO-3166</a></b>.
            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
        <code>products</code> 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.</br><b>Required for the
            BLIK Recurring</b>.
        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. <b>Required for the recurring
                payment.</b>
              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. <b>In
                such case, only a single transaction will be processed</b>.
    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:<ul><li><b>Y</b>
            - successful 3DS2 authentication,</li><li><b>A</b> - 3DS2
            authentication attempt.</li></ul>
          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 <b>should not</b>
            be sent when attempting 3DS2.x authentication. <ul><li><b>[1 .. 20]
            characters</b> - for value in plain text,</li><li><b>{28}
            characters</b> - for Base64encoded value,</li><li><b>{40}
            characters</b> - for HEXencoded value.</li></ul>
        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
        <code>payMethods</code> is one object of <code>payMethod</code> 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
        <totalAmount> 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 <b>7</b> 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 <b>1</b> 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**.</br></br>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
        <shippingMethod.address> 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 <shippingMethod> 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
        <credit.shoppingCarts> 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
              <code>products</code> 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:
            <ul><li>CARD_AVANTAJ</li><li>STAR_BT</li><li>UNICREDIT</li><li>BRD_INSTALLMENTS</li><li>RAIFFEISEN</li><li>GARANTI_RO</li><li>BCR_INSTALLMENTS</li><li>ALPHABANK_INSTALLMENTS</li><li>OPTIMO</li><li>CARD_EMAG</li></ul>
          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: <ul>
                  <li><b>AUT_ERROR_NO_AUTHORIZATION</b> - authorization was not
                  received, transaction cancelled.</li>
                  <li><b>AUT_ERROR_ANTIFRAUD_DECLINED</b> - transaction rejected
                  at the authoriztion stage by the antifraud system.</li>
                  <li><b>REG_ERROR_ANTIFRAUD_DECLINED</b> - transaction rejected
                  at registration stage by antifraud system.</li>
                  <li><b>REG_ERROR_AUTHENTICATION_REJECTED</b> - Authentication
                  was rejected by a third-party service. <ul><li>For Visa Mobile
                  payment method: Authentication failed in either the Visa
                  Mobile or Issuer application.</li></ul></li> </ul>
                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: <ul>
                  <li><b>AUT_ERROR_NO_AUTHORIZATION</b> - authorization was not
                  received, transaction cancelled.</li>
                  <li><b>AUT_ERROR_ANTIFRAUD_DECLINED</b> - transaction rejected
                  at the authoriztion stage by the antifraud system.</li>
                  <li><b>REG_ERROR_ANTIFRAUD_DECLINED</b> - transaction rejected
                  at registration stage by antifraud system.</li>
                  <li><b>REG_ERROR_AUTHENTICATION_REJECTED</b> - Authentication
                  was rejected by a third-party service. <ul><li>For Visa Mobile
                  payment method: Authentication failed in either the Visa
                  Mobile or Issuer application.</li></ul></li> </ul>
                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 <orderId>
        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 <orderId>
        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 <orderId>
        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. <b>This solution is dedicated only for Czech market.</b>
              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.
            <b>This solution is dedicated only for Czech market</b>.
          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. <b>Required for <code>foreign</code> flag set to
            true</b>.
        swiftCode:
          type: string
          description: >-
            Bank's SWIFT code. <b>Required for <code>foreign</code> flag set to
            true</b>.
    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. <b>Required for <code>foreign</code> flag
            set to true</b>.
        city:
          type: string
          description: >-
            Payout recipient's address details - city. <b>Required for
            <code>foreign</code> flag set to true</b>.
        postalCode:
          type: string
          description: Payout recipient's address details - postal code.
        street:
          type: string
          description: >-
            Payout recipient's address details - street. <b>Required for
            <code>foreign</code> flag set to true</b>.
    bankAddress:
      type: object
      description: Bank address information.
      properties:
        street:
          type: string
          description: >-
            Bank address information - street. <b>Required for
            <code>foreign</code> flag set to true</b>.
        postalCode:
          type: string
          description: >-
            Bank address information - postal code. <b>Required for
            <code>foreign</code> flag set to true</b>.
        city:
          type: string
          description: >-
            Bank address information - city. <b>Required for
            <code>foreign</code> flag set to true</b>.
        countryCode:
          type: string
          description: >-
            Bank address information. Two-letter country code compliant with
            ISO-3166. <b>Required for <code>foreign</code> flag set to true</b>.
    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. <b>Required in case of
        a payout to the card number</b>.
      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.
            <b>Required in case of a payout to the card token</b>.
          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: <b>FOREIGN_COMPANY</b> 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 <b><a
            href='https://stat.gov.pl/metainformacje/slownik-pojec/pojecia-stosowane-w-statystyce-publicznej/97,pojecie.html'
            target='_blank'>Główny Urząd Statystyczny</a></b>.
          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. <b>Required for full
                verification</b>.
              maxLength: 255
              example: Grunwaldzka 186
            zipcode:
              type: string
              description: >-
                Company's address zipcode. <b>Required for full
                verification</b>.
              maxLength: 20
              example: 60-166
            city:
              type: string
              description: <b>Required for full verification</b>.
              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. <b>Should be empty for private person</b>.
          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: <b>FOREIGN_COMPANY</b> 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.
            <b>Required for private persons for full verification Not required
            for basic data</b>.
          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). <b>Should be empty for
            private person</b>.
          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. <b>Required for full
                verification</b>.
              maxLength: 255
              example: Grunwaldzka 186
            zipcode:
              type: string
              description: >-
                Private person's address zipcode. <b>Required for full
                verification</b>.
              maxLength: 20
              example: 60-166
            city:
              type: string
              description: <b>Required for full verification</b>.
              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 <a
            href="/europe/docs/collaboration/referral-program/#firm-types">specific
            origin</a>.
        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 <a
            href="/europe/docs/collaboration/referral-program/#firm-types">specific
            origin</a>.
        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 <a
            href="/europe/docs/collaboration/referral-program/#firm-types">specific
            origin</a>.
        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
