PayU Payout API

To widthraw funds from the PayU account you need to create a payout.

Business capability
Payment Initiation Management BC-1340.10

Operations 2

POST /api/v2_1/payouts Create a Payout #
GET /api/v2_1/payouts/{payoutId} Retrieve a Payout #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/payu-payout-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

payu-payout-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.1.0
  title: PayU GPO Europe REST Payout 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.'
servers:
- url: https://secure.payu.com
  description: Production Server
- url: https://secure.snd.payu.com
  description: Sandbox Test Server
security:
- Bearer:
  - client_credentials
tags:
- name: Payout
  description: To widthraw funds from the PayU account you need to create a payout.
paths:
  /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'
components:
  schemas:
    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'
    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>.
    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
    '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.
    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'
    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
    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'
    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'
    '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.
    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>.
    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>.
    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
    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'
    '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.
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
    Basic:
      type: http
      scheme: basic