openapi: 3.1.0
info:
version: 2.1.0
title: PayU GPO Europe REST API
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
x-logo:
url: >-
https://poland.payu.com/wp-content/themes/global-website/assets/src/images/payu-logo.svg
description: >-
# Overview
This reference is designed to assist you in effectively utilizing the PayU
REST API to enhance your online payment capabilities. Whether you're running
an e-commerce store or developing applications that require secure and
seamless payment processing, our API offers a range of features to meet your
needs.
Our API offers a comprehensive set of endpoints to empower you with full
control over your payment processes. With these endpoints, you can
seamlessly create, capture, cancel, and retrieve orders, conduct payouts,
and access essential reports.
For more details on the integration, please refer to the official PayU documentation. It provides comprehensive
explanations, code samples, and best practices for seamless integration of
the PayU API into your applications.
## Testing
### Production Environment
For a basic integration, including only a redirection to PayU hosted payment
page, it is perfectly enough to use the public test point of sale. However,
if you would like to test a full set of endpoints, including e.g. refunds,
consider registering for a sandbox account.
**Public Test POS (point of sale)**
| Key name | Value |
| ------------------------------ | -------------------------------: |
| POS ID (pos_id) | 145227 |
| OAuth protocol - client_id | 145227 |
| Second key (MD5) | 13a980d4f851f3d9a1cfc792fb1f5e50 |
| OAuth protocol - client_secret | 12f071174cb7eb79d4aac5bc2f07563f |
### Sandbox Environment
Sandbox is an almost identical copy of PayU production system. It can be
used for integration and testing purposes.
**Public Test POS (Point of Sale)**
Although it is best to create your own account to later be able to configure it
as needed, you may also use a public sandbox test POS without registering:
| Key name | Value |
| ------------------------------ | -------------------------------: |
| POS ID (pos_id) | 300746 |
| OAuth protocol - client_id | 300746 |
| Second key (MD5) | b6ca15b0d1020e8094d9b5f8d163db54 |
| OAuth protocol - client_secret | 2ee86a66e5d97e3fadc400c9f19b065d |
The availability of the sandbox environment can be checked on the Status page.
**Testing Card Payments**
In order to test card payments on sandbox, please use credentials displayed
on the Sandbox
documentation page.
servers:
- url: https://secure.payu.com
description: Production Server
- url: https://secure.snd.payu.com
description: Sandbox Test Server
tags:
- name: Authorize
description: >-
Authentication involves generating an OAuth token, which is used for
further communication with PayU servers. To create a standard OAuth token,
you will need client_id and client_secret keys,
which can be found in your merchant panel, in the POS.
- name: Payment-Methods
x-displayName: Payment Methods
description: >-
Retrieving payment methods allows you to remove the threat of presenting a
disabled payment method with white-label integration. It also gives you
the ability to retrieve stored tokens and customer card data.
- name: Order
x-displayName: Order
description: >-
Order is the basic payment request for the standard integration with PayU.
> If the response to the payment creation request is returned with an
**HTTP 200** status and in HTML format, make sure that the tool used to
communicate with PayU has automatic redirect handling disabled. Only in
this case is it possible to receive the correct JSON response with an
**HTTP 302** status code.
- name: Shop
description: >-
Shop is the main entity in the management panel. It is the place where you
can manage incoming transactions processed by PayU.
- name: Refund
description: >-
The PayU system fully supports refunds for the processed payments, the
balance of which is transferred directly to the buyer's account.
- name: Payout
description: To widthraw funds from the PayU account you need to create a payout.
- name: Token
description: >-
With tokenization, we are confident that your customers' card data is
protected from third parties.
- name: MCP
x-displayName: Multi-Currency Pricing
description: >-
We can convert your customers' payments to the currency of your shop set
up with PayU.
- name: FX-Reference
x-displayName: FX Reference
description: >-
According to regulations in the European Union countries, payment service
providers and parties providing currency conversion services at the point
of sale are obliged to express the total currency conversion charges as a
percentage mark-up over the latest available euro foreign exchange
reference rates issued by the European Central Bank (ECB).
- name: Marketplace-Seller
x-displayName: Marketplace Seller
description: >-
In PayU, as a marketplace, you have the capability to manage various
aspects of your submerchants.
- name: Marketplace-Verification
x-displayName: Marketplace Verification
description: >-
PayU is required by the Anti-Money Laundering Act to verify customers in
this context. For this purpose, we provide a collection of endpoints to
make it easier for you to verify sellers.
- name: Card Installments
x-displayName: Card Installments
description: >-
Retrieve available card installments options for specific card. For
merchants operating on the Romanian market (Requires contact with a Payu
representative first).
- name: Statements
x-displayName: Statements
description: >-
Statements in PayU are comprehensive reports that provide a detailed
summary of completed purchase transactions, refunds, and payouts.
- name: Partner-Merchant-Registration
x-displayName: Partner Merchant Registration
description: >-
Below are the endpoints that enable you to create the necessary entities
(Firm, Url, Shop, POS) for your partner.
- name: PF-Submerchant-Registration
x-displayName: Payment Facilitator Submerchant Registration
description: >-
Payment Facilitator (PF) is an advanced form of partnership where PayU
cedes much of its own responsibilities, like e.g. Know Your Customer (KYC)
and verification, customer support and settlement (payouts) to the PF.
Below are the endpoints for registering and handling PF submerchants.
paths:
/pl/standard/user/oauth/authorize:
post:
tags:
- Authorize
summary: Create OAuth Token
security: []
description: >
Each payment should be authorized in one of three available modes:
- client_credentials - used for standard integration,
- trusted_merchant - used for authentication of requests
made for logged-in shop/application users with fixed
extCustomerId,
- partner - special type of a token meant for creating
entities (e.g. Shop, POS, URL) within partner firm.
Generated access token is valid for 43199 seconds.
operationId: oauth
requestBody:
content:
application/x-www-form-urlencoded:
schema:
discriminator:
propertyName: grant_type
mapping:
client_credentials: '#/components/schemas/ClientCredentials'
trusted_merchant: '#/components/schemas/TrustedMerchant'
partner: '#/components/schemas/Partner'
anyOf:
- $ref: '#/components/schemas/ClientCredentials'
- $ref: '#/components/schemas/TrustedMerchant'
- $ref: '#/components/schemas/Partner'
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
access_token:
type: string
description: Token used for authentication of API calls.
format: uuid
token_type:
type: string
enum:
- bearer
refresh_token:
type: string
format: uuid
expires_in:
type: integer
description: Token expiration time (in seconds).
enum:
- 43199
grant_type:
type: string
description: Token authentication mode.
enum:
- client_credentials
- trusted_merchant
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
type: object
required:
- error
- error_description
properties:
error:
type: string
description: Cause of the error.
error_description:
type: string
description: Error description.
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
type: object
required:
- error
- error_description
properties:
error:
type: string
description: Cause of the error.
error_description:
type: string
description: Error description.
/api/v2_1/paymethods:
get:
tags:
- Payment-Methods
summary: Retrieve All Available Payment Methods.
security:
- Bearer:
- client_credentials
- trusted_merchant
operationId: retrieve-payment-methods
parameters:
- name: lang
in: query
example:
lang: pl
description: >-
Language code, ISO-639-1 compliant, determins language of
description in name field
required: false
schema:
type: string
examples:
lang:
summary: lang parameter value example
value:
lang: pl
- name: features
in: query
description: Determine the availability and parameters of specific features.
required: false
schema:
type: string
examples:
features:
summary: features parameter value example
value:
features: clickToPay
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
description: Section containing payment methods available for the buyer.
properties:
blikTokens:
$ref: '#/components/schemas/blikTokens'
cardTokens:
$ref: '#/components/schemas/cardTokens'
payByLinks:
$ref: '#/components/schemas/payByLinks'
status:
type: object
properties:
statusCode:
type: string
enum:
- SUCCESS
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/orders:
post:
tags:
- Order
summary: Create an Order
security:
- Bearer:
- client_credentials
- trusted_merchant
description: Create a new order request.
operationId: create-an-order
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
description: Parameters for OrderCreateRequest
required:
- customerIp
- merchantPosId
- description
- currencyCode
- totalAmount
- products
properties:
continueUrl:
type: string
description: >-
Address for redirecting the customer after payment is
commenced.
example: www.example.com/path
maxLength: 1024
format: RFC 3986
notifyUrl:
type: string
description: The address for sending notifications
example: https://your.eshop.com/notify
maxLength: 1024
format: RFC 3986
customerIp:
type: string
description: >-
Payer's IP address. Value is accepted in following
formats:
recurring parameter cannot be used
with cardOnFile parameter .
enum:
- FIRST
- STANDARD
example: FIRST
donation:
$ref: '#/components/schemas/donation'
buyer:
$ref: '#/components/schemas/buyer'
shoppingCarts:
$ref: '#/components/schemas/shoppingCarts'
products:
$ref: '#/components/schemas/products'
payMethods:
$ref: '#/components/schemas/payMethods'
mcpData:
$ref: '#/components/schemas/mcpData'
threeDsAuthentication:
$ref: '#/components/schemas/threeDsAuthentication'
riskData:
$ref: '#/components/schemas/riskData'
credit:
$ref: '#/components/schemas/credit'
submerchant:
$ref: '#/components/schemas/submerchant'
settings:
$ref: '#/components/schemas/settings'
deviceFingerprint:
type: string
description: Hashed identifier of the user or its device.
example: 3e9fae0b3e6003a4093358167bc1079e
maxLength: 255
responses:
'201':
x-summary: Created
description: SUCCESS
content:
application/json:
schema:
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
redirectUri:
type: string
qrCode:
type: string
description: >-
Based64 encoded QR code image. **It is returned only for
transparent QR code payment type**.
orderId:
type: string
example: WZHF5FFDRJ140731GUEST000P01
iframeAllowed:
type: boolean
example: true
threeDsProtocolVersion:
type: string
enum:
- 3DS2
example: 3DS2
extOrderId:
type: string
challengeParameters:
type: object
properties:
threeDsServerTransactionId:
type: string
example: 0016f22b-f988-4358-b2c6-8917bba22037
acsTransID:
type: string
example: d7c1ee99-9478-44a6-b1f2-391e29c6b340
acsReferenceNumber:
type: string
example: 3DS_LOA_ACS_201_13579
acsSignedContent:
type: string
example: c29tZUJhc2U2NGVuY29kZWRTdHJpbmc=
'302':
x-summary: Found
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
description: Response code
example: SUCCESS
severity:
type: string
redirectUri:
type: string
description: Url redirection address with payment summary.
example: >-
https://merch-prod.snd.payu.com/pay/?orderId=WZHF5FFDRJ140731GUEST000P01&token=eyJhbGciOiJIUzI1NiJ9.eyJvcmRlcklkIjoiV1pIRjVGRkRSSjE0MDczMUdVRVNUMDAwUDAxIiwicG9zSWQiOiJhYmMxMjM0IiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9DTElFTlQiXSwicGF5ZXJFbWFpbCI6InRlc3RAdGVzdC5jb20iLCJleHAiOjE2NzI3NjE4NjEsImlzcyI6IlBBWVUiLCJhdWQiOiJhcGktZ2F0ZXdheSIsInN1YiI6IlBheVUgc3ViamVjdCIsImp0aSI6IjYzMTA3M2Y0LThmMzgtNDNlZS1iOTc1LWVlNWIwZGI0ZWFiZSJ9.tBThoQDVgo9mpmh2AUDC5hkfecwtqO0L9LSCdXRYruk
iframeAllowed:
type: boolean
example: true
threeDsProtocolVersion:
type: string
enum:
- 3DS2
orderId:
type: string
description: Order identifier given by PayU.
example: WZHF5FFDRJ140731GUEST000P01
extOrderId:
type: string
description: Order identifier given by merchant.
example: my_ext_order_id
payMethods:
type: object
properties:
payMethod:
type: object
properties:
card:
type: object
properties:
number:
type: string
description: Card number.
example: 4444333322221111
expirationMonth:
type: integer
description: Card expiration month.
example: 9
expirationYear:
type: integer
description: Card expiration year.
example: 2026
type:
type: string
enum:
- CARD_TOKEN
value:
type: string
example: TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: >-
Incorrect authentication. Check signature parameters and
implementation of the signature algorithm.
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
x-summary: Forbidden
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'500':
x-summary: Internal server error
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/500'
/api/v2_1/orders/{orderId}:
get:
tags:
- Order
summary: Retrieve an Order
description: Retrieve the status and details of an order.
operationId: retrieve-an-order
parameters:
- name: orderId
in: path
example: WZHF5FFDRJ140731GUEST000P01
description: Order ID generated by the PayU system
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
orders:
type: array
description: Array of order objects.
items:
type: object
properties:
shippingMethod:
type: object
properties:
country:
type: string
description: Two-letter country code compliant with ISO-3166
example: PL
price:
type: string
description: Shipping cost
example: 2000
name:
type: string
description: Shipping method name
example: parcell
orderId:
type: string
description: Order ID generated by the PayU system.
example: VVLR1HXK2S160929GUEST000P01
extOrderId:
type: string
description: External order ID (assigned by the shop).
example: '343242'
orderCreateDate:
type: string
description: Order creation timestamp.
example: '2023-01-03T14:58:17.443+01:00'
notifyUrl:
type: string
description: Address for sending notifications.
example: http://localhost/OrderNotify/
customerIp:
type: string
description: >-
Customer's IP address. Note: 0.0.0.0 is not
accepted.
example: 127.0.0.1
merchantPosId:
type: string
description: Point of sale ID.
example: '145227'
description:
type: string
description: Description for order.
example: New Order
additionalDescription:
type: string
description: Additional description for order.
example: New Order
validityTime:
type: string
description: >-
Duration for the validity of an order (in seconds),
during which time payment must be made.
default: '86400'
currencyCode:
type: string
description: Currency code compliant with ISO 4217.
example: PLN
totalAmount:
type: string
description: Total price of the order.
example: '3200'
buyer:
$ref: '#/components/schemas/buyer'
payMethod:
type: object
properties:
amount:
type: string
example: 20000
type:
type: string
enum:
- PBL
- CARD_TOKEN
- PAYMENT_WALL
- BLIK_AUTHORIZATION_CODE
- BLIK_TOKEN
products:
$ref: '#/components/schemas/products'
shoppingCarts:
$ref: '#/components/schemas/shoppingCarts'
status:
type: string
description: Order status.
enum:
- NEW
- PENDING
- WAITING_FOR_CONFIRMATION
- COMPLETED
- CANCELED
example: COMPLETED
properties:
$ref: '#/components/schemas/properties'
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'404':
x-summary: Not found
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/404'
delete:
tags:
- Order
summary: Cancel an Order
description: Cancel (reject) orders processed by the PayU system.
operationId: cancel-an-order
parameters:
- name: orderId
in: path
example: WZHF5FFDRJ140731GUEST000P01
description: Order ID generated by the PayU system
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
orderId:
type: string
description: Order identifier in PayU's system.
example: WZHF5FFDRJ140731GUEST000P01
extOrderId:
type: string
description: Order identifier in merchant's system.
example: 3e5cac39-7e38-4139-8fd6-30adc06a61bd
status:
type: object
properties:
statusCode:
type: string
description: Status after update.
example: SUCCESS
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
x-summary: Forbidden
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
x-summary: Not Found
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'500':
x-summary: Internal server error
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/500'
/api/v2_1/orders/{orderId}/captures:
post:
tags:
- Order
summary: Capture Authorized Order
description: Capture whole order and update its status to COMPLETED (ended).
operationId: capture-authorized-order
parameters:
- name: orderId
in: path
example: WZHF5FFDRJ140731GUEST000P01
description: Order ID generated by the PayU system
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Full'
- $ref: '#/components/schemas/Partial'
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
description: Status after update.
example: SUCCESS
statusDesc:
type: string
description: Status message.
example: Status was updated
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'500':
x-summary: Internal server error
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/500'
/api/v2_1/orders/{orderId}/status:
put:
tags:
- Order
summary: (deprecated) Capture Authorized Order
description: Capture an order and update its status to COMPLETED (ended).
operationId: capture-authorized-order-deprecated
parameters:
- name: orderId
in: path
example: WZHF5FFDRJ140731GUEST000P01
description: Order ID generated by the PayU system
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- orderId
- orderStatus
properties:
orderId:
type: string
description: Identifier of the order you want to update.
example: VVLR1HXK2S160929GUEST000P01
orderStatus:
type: string
description: Status of the order after update.
example: COMPLETED
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
description: Status after update.
example: SUCCESS
statusDesc:
type: string
description: Status message.
example: Status was updated
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'500':
x-summary: Internal server error
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/500'
/api/v2_1/orders/{orderId}/transactions:
get:
tags:
- Order
summary: Retrieve a Transaction
description: >-
Retrieve the details of transactions created for an order with specified
`orderId`.
operationId: retrieve-a-transaction
security:
- Bearer:
- oAuth token
parameters:
- name: orderId
in: path
example: WZHF5FFDRJ140731GUEST000P01
description: Order ID generated by the PayU system
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/card'
- $ref: '#/components/schemas/pbl'
- $ref: '#/components/schemas/blik'
- $ref: '#/components/schemas/wire'
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'404':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/404'
/api/v2_1/shops/{shopId}:
get:
tags:
- Shop
summary: Retrieve Shop Data
operationId: retrieve-shop-data
description: Retrieve your PayU shop balance, id, etc.
parameters:
- name: shopId
in: path
example: a1B2C3x
description: ShopId value generated by PayU assigned to Shop
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
shopId:
type: string
description: ShopId value generated by PayU assigned to Shop.
example: a1B2C3x
name:
type: string
description: Shop name assigned by Merchant.
example: Test Shop
currencyCode:
type: string
description: >-
ISO 4217 currency code of currency in which Shop balance
is kept.
example: PLN
balance:
$ref: '#/components/schemas/balance'
'400':
x-summary: Error
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
example: ERROR
redirectUri:
type: string
example: '{payment_summary_redirection_url}'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
type: object
properties:
error:
type: string
error_description:
type: string
'404':
x-summary: Not Found
description: ''
content:
application/json:
schema:
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
description: Error type.
severity:
type: string
statusDesc:
type: string
description: Error description.
/api/v2_1/orders/{orderId}/refunds:
post:
tags:
- Refund
summary: Create a Refund
description: >-
Create new refund - this request is idempotent, so if exactly same data
will be provided, response will return data of already previously
created refund instead of creating new refund.
operationId: create-a-refund
parameters:
- name: orderId
in: path
example: WZGF5FFDRJ140731GUEST000P01
description: Order ID generated by the PayU system
required: true
schema:
type: string
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- refund
properties:
refund:
type: object
required:
- description
description: Contains detailed information about a refund.
properties:
description:
type: string
description: Refund description.
example: Test refund
amount:
type: string
description: >
Amount of the refund. If this is left blank, all funds
will be returned to the buyer.
Specify prices using the **lowest currency unit**. For
instance, in the case of PLN (Polish Złoty), the lowest
currency unit is the penny, which equals 1/100 PLN.
Therefore, if the price is 1000 in the lowest currency
unit, it would be equivalent to 10 PLN. However, HUF
(Hungarian Forint) is an exception to this rule. For
HUF, you should multiply the amount by 100.
example: '10000'
extRefundId:
type: string
description: External refund ID.
example: 3e5cac39-7e38-4139-8fd6-30adc06a61bd
currencyCode:
type: string
description: Currency code compliant with ISO 4217.
example: PLN
bankDescription:
type: string
description: Bank operation description.
example: Bank transfer refund
type:
type: string
description: >-
Specifies the method by which the refund will be
processed:grant_type=trusted_merchant.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/mcp-partners/{mcpPartnerId}/fx-table:
get:
tags:
- MCP
summary: Retrieve Rate Table
description: Retrieve current table with the conversion rates for the currencies.
operationId: retrieve-rate-table
parameters:
- name: mcpPartnerId
in: path
example: 6283a549-8b1a-430d-8a62-eea64327440e
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
example: 802438
description: >-
rate table id (corresponds with mcpFxTableId in
OrderCreateRequest)
validTo:
type: string
format: '2017-06-27T20:20:00Z'
example: '2023-01-02T20:18:00Z'
description: >-
table validity time (always in UTC). New table should be
retrieved right after the validity ends.
currencyPairs:
type: array
description: >-
Section containing pairs of chosen term currency and base
currencies
items:
type: object
properties:
baseCurrency:
type: string
example: PLN
description: >-
initial currency code - this is the currency in
which the payer will be charged (card settlement
currency) compliant with ISO 4217
exchangeRate:
type: number
example: 0.23753
description: exchange rate from base currency to term currency
termCurrency:
type: string
example: USD
description: >-
final currency code - this is the currnecy of the
shop at which the payment will be processed
(currency set for the shop in the PayU system)
compliant with ISO 4217
'400':
x-summary: Bad request
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'404':
x-summary: Not found
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/404'
/api/v2_1/fx-providers/ecb/fx-rates:
get:
tags:
- FX-Reference
summary: Retrieve Reference Rates
description: >-
You can retrieve a reference rate table that is updated daily. This
table encompasses rates released by the European Central Bank (ECB)
against EUR, as well as additional rates that are triangulated using EUR
(e.g., PLN/USD, CZK/GBP, etc.).
operationId: retrieve-reference-rates
parameters:
- name: termCurrency
in: query
example:
termCurrency: PLN
required: true
schema:
type: string
examples:
termCurrency:
summary: Currency code compliant with ISO 4217
value:
termCurrency: PLN
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
effectiveDate:
type: string
example: '2023-01-03'
description: >-
reference rate table validity. You need to refresh the
table daily
fxRates:
type: array
description: >-
Section containing pairs of chosen term currency and base
currencies
items:
type: object
properties:
baseCurrency:
type: string
description: >-
initial currency - this is the currency in which the
payer will be charged (card settlement currency)
termCurrency:
type: string
description: >-
final currency - this is the currnecy of the shop at
which the payment will be processed (currency set
for the shop in the PayU system)
midRate:
type: number
example: 3.141
description: >-
midrate to be used to calculate the percentage
mark-up
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/customers/ext/{extCustomerId}/status:
get:
tags:
- Marketplace-Seller
summary: Retrieve Seller Status
description: You can check the verification status of your submerchants.
operationId: retrieve-seller-status
parameters:
- name: extCustomerId
in: path
description: Submerchant identifier.
required: true
content:
application/json:
schema:
type: string
- name: currencyCode
in: query
example: PLN
description: Currency code according to ISO-4217.
required: true
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
customVerificationStatus:
type: string
enum:
- Verified
- NotVerified
description: Submerchant status.
name:
type: string
description: Name of the company.
taxId:
type: string
description: >-
Company NIP. For companies registered abroad the field
contains Tax ID or VAT UE.
regon:
type: string
description: Regon number of the company
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/customers/ext/{extCustomerId}/balances:
get:
tags:
- Marketplace-Seller
summary: Retrieve Seller Balance
operationId: retrieve-seller-balance
parameters:
- name: extCustomerId
description: Submerchant identifier.
in: path
required: true
content:
application/json:
schema:
type: string
- name: currencyCode
in: query
example: PLN
required: true
description: Currency code according to ISO-4217.
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
balance:
type: object
properties:
availableAmount:
type: string
description: Available funds.
totalAmount:
type: string
description: Total submerchant funds (including blocked funds)
status:
type: object
properties:
statusCode:
type: string
description: Response Status
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/customers/ext/{extCustomerId}/operations:
get:
tags:
- Marketplace-Seller
summary: Retrieve Seller Operation History
operationId: retrieve-seller-operation-history
parameters:
- name: extCustomerId
in: path
description: Submerchant identifier.
required: true
content:
application/json:
schema:
type: string
- name: currencyCode
in: query
description: >-
Currency code according to ISO-4217. You can enter multiple
values. Subsequent entries should be separated by a comma.
required: false
schema:
type: string
- name: type
in: query
description: >-
Operation type. You can enter multiple values. Subsequent entries
should be separated by a comma.
required: false
schema:
type: string
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- name: eventDateFrom
in: query
description: >-
Start of the search range for "eventDate". Date must be url
encoded.
required: true
schema:
type: string
format: 2019-01-30T20%3A59%3A00%2B02%3A00
- name: eventDateTo
in: query
description: >-
End of the search range for "eventDate". Date must be url
encoded.
required: true
schema:
type: string
format: 2019-04-30T20%3A59%3A00%2B02%3A00
- name: creationDateFrom
in: query
description: >-
Start of the search range for "creationDate". Date must be url
encoded.
required: false
schema:
type: string
format: 2019-04-30T20%3A59%3A00%2B02%3A00
- name: creationDateTo
in: query
description: >-
End of the search range for "creationDate". Date must be url
encoded.
required: false
schema:
type: string
format: 2019-04-30T20%3A59%3A00%2B02%3A00
- name: limit
in: query
description: Number of records per page.
required: false
schema:
type: string
- name: offset
in: query
description: Page number (indexing from 0).
required: false
schema:
type: string
- name: sortBy
in: query
description: >-
Sorting field. Additional sign "+" or "-" before field
name defines sorting order. Default is ascending.
required: false
schema:
type: string
enum:
- eventDate
- creationDate
- type
- currencyCode
examples:
ascending:
value: +eventDate
summary: sorting ascending by eventDate.
descending:
value: '-eventDate'
summary: sorting descending by eventDate.
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/PAYMENT_RECEIVED'
- $ref: '#/components/schemas/REFUND_SENT'
- $ref: '#/components/schemas/PAYOUT'
- $ref: '#/components/schemas/RETURN'
- $ref: '#/components/schemas/CHARGEBACK'
- $ref: '#/components/schemas/ADMIN_CORRECTION'
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/customers/ext/{extCustomerId}/feeDebitTransfer:
post:
tags:
- Marketplace-Seller
summary: Transfer Funds from Seller to Marketplace Balance
operationId: transfer-funds-from-seller-to-marketplace-balance
parameters:
- name: extCustomerId
in: path
description: Submerchant identifier.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
type: number
description: Transfer amount.
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Description of the operation.
extTransferId:
type: string
description: Unique transfer identifier for given marketplace.
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
extCustomerId:
type: string
description: Unique submerchant identifier.
extTransferId:
type: string
description: Unique transfer identifier for given marketpalce.
status:
type: object
properties:
statusCode:
type: string
description: Response status.
example: SUCCESS
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/customers/ext/{extCustomerId}/feeCreditTransfer:
post:
tags:
- Marketplace-Seller
summary: Transfer Funds from Marketplace to Seller Balance
description: ''
operationId: transfer-funds-from-marketplace-to-seller-balance
parameters:
- name: extCustomerId
in: path
description: Unique submerchant identifier.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
properties:
amount:
type: number
description: Transfer amount.
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Description of the operation.
extTransferId:
type: string
description: Unique transfer identifier for given marketplace.
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
extCustomerId:
type: string
description: Unique submerchant identifier.
extTransferId:
type: string
description: Unique transfer identifier for given marketpalce.
status:
type: object
properties:
statusCode:
type: string
description: Response status.
example: SUCCESS
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/aml-verification/v1/verification-advice:
get:
tags:
- Marketplace-Verification
summary: Retrieve Verification Advice
description: >-
Verify, on the basis of a Personal Identification Number or NIP number,
whether a given individual/company has already been registered in the
PayU system.
operationId: retrieve-marketplace-verification-advice
parameters:
- name: companyTaxId
in: query
required: true
description: >-
Company tax id of a entity. Required if you want to check a
status of a company.
content:
application/json:
schema:
type: string
- name: pesonalIdentificationNumber
in: query
required: true
description: >-
Personal identification number of individual. Required if you
want to check a status of a private person.
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: Advised verify action.
content:
application/json:
schema:
type: object
properties:
advice:
type: string
enum:
- FULL_ONBOARDING_REQUIRED
- BANK_ACCOUNT_VERIFICATION_REQUIRED
description: >
* **FULL_ONBOARDING_REQUIRED** - full boarding process
required,
* **BANK_ACCOUNT_VERIFICATION_REQUIRED** - only a
verification transfer is required for verification
purposes.
'400':
x-summary: Bad request
description: Invalid input query values.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'404':
x-summary: Not found
description: Marketplace not found.
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/aml-verification/v1/verification:
get:
tags:
- Marketplace-Verification
summary: Retrieve Marketplace Verification Status
description: Retrieve the status of the verification with the specific `Id`.
operationId: retrieve-marketplace-verification-status
parameters:
- name: id
in: query
description: >-
Value of the query `id` parameter is the same as the
`verificationId`.
example: aZl6Ja
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: >-
Verification found. Http 200 will return body which will contain one
of below statuses.
content:
application/json:
schema:
$ref: '#/components/schemas/200'
'404':
x-summary: Not found
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
post:
tags:
- Marketplace-Verification
summary: Create Marketplace Verification
description: Initialize the verification process of the seller.
operationId: create-marketplace-verification
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- sellerId
- type
properties:
sellerId:
type: string
description: >-
Unique id of seller (submerchant) given by marketplace side.
This id must be constant for every verification concerning
the same seller (submerchant).
maxLength: 50
type:
type: string
description: >-
Verification type. Possible values descriptions: fileId of translation of documents (Polish or
English documents do not need to be translated).
format: String[]
items:
type: string
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad request
description: Invalid input. Reason specified in content.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'404':
x-summary: Not found
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow operation.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/aml-verification/v1/dataloading/associates/documents:
post:
tags:
- Marketplace-Verification
summary: Add Associates Documents
description: >-
Upload required documents for associates (representatives or
beneficiaries).
operationId: add-associates-documents
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- verificationId
- associateId
- type
- files
- documentId
properties:
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
associateId:
type: string
description: Unique id of an associate assigned by the Marketplace.
maxLength: 100
type:
type: string
description: Document type.
enum:
- ID_CARD
- PASSPORT
- DRIVING_LICENCE
- RESIDENCE_PERMIT
- OTHER_DOCUMENT
- PEP_STATEMENT
files:
type: array
description: >-
List of file ids given in a response to the
dataloading/files request. Can be many IDs in this field
when one document contains many files.
format: String[]
items:
type: string
documentId:
type: string
description: Unique document ID assigned by the Marketplace.
maxLength: 100
documentNumber:
type: string
description: Serial number of the provided document.
maxLength: 100
issueDate:
type: string
description: Issue date of the document.
format: YYYY-MM-DD
expireDate:
type: string
description: Expiry date of the document.
format: YYYY-MM-DD
note:
type: string
description: ''
maxLength: 255
translationFiles:
type: array
description: >-
`fileId` of translation of documents (Polish or English
documents do not need to be translated)
format: String[]
items:
type: string
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad request
description: Invalid input. Reason specified in content.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'404':
x-summary: Not found
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow operation.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/aml-verification/v1/verification-transfers/manual:
post:
tags:
- Marketplace-Verification
summary: Create Order for Verification Transfer
description: >-
Create an order for the verification transfer service. In response you
will be provided with the bank account details to make the transfer.
operationId: create-order-for-verification-transfer
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- verificationId
properties:
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: verification-123
transferCurrency:
type: string
description: ''
example: PLN
email:
type: string
description: ''
example: user@example.com
language:
type: string
description: >-
Changes the language of the sent email message. Possible
values you can find in languages table.
responses:
'201':
x-summary: Created
description: Details for bank transfer.
content:
application/json:
schema:
type: object
properties:
verificationTransferId:
type: string
description: ''
example: 5f7007da-8e05-4f0f-9503-05c053034bde
expirationTime:
type: string
description: ''
example: '2020-08-20T14:03:44.473Z'
transferData:
type: object
description: ''
properties:
bankName:
type: string
description: ''
example: mBank S.A.
accountNumber:
type: string
description: ''
example: PL12114011243630011718031748
swiftCode:
type: string
description: ''
example: BREXPLPW
recipientName:
type: string
description: ''
example: PayU S.A.
recipientAddress:
type: string
description: ''
example: ul. Grunwaldzka 186, 60-166 Poznań
transferTitle:
type: string
description: ''
example: Verification transfer XX1718031748XX
transferAmount:
type: integer
description: ''
example: 101
transferCurrency:
type: string
description: ''
example: PLN
'400':
x-summary: Bad request
description: Error encountered during posting the data for verification.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'403':
x-summary: Forbidden
description: Error encountered during posting the data for verification.
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
x-summary: Not found
description: Error encountered during posting the data for verification.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
/api/aml-verification/v1/dataloading/payouts/bankAccountData:
post:
tags:
- Marketplace-Verification
summary: Add Bank Account for Payouts
description: Send bank account data for the payouts.
operationId: add-bank-account-for-payouts
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/PayoutWithVerificationTransfer'
- $ref: '#/components/schemas/PayoutWithoutVerificationTransfer'
- $ref: '#/components/schemas/PayoutBankStatement'
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad request
description: Error encountered during posting the data for verification
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'403':
x-summary: Forbidden
description: Error encountered during posting the data for verification
content:
application/json:
schema:
$ref: '#/components/schemas/403'
'404':
x-summary: Not found
description: Error encountered during posting the data for verification
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow operation.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/aml-verification/v1/dataloading/payouts/payoneer:
post:
tags:
- Marketplace-Verification
summary: Add Payoneer Account for Payouts
description: >-
Send bank account data for the payouts. Method is reserved for the users
who have verified Payoneer account.
operationId: add-payoneer-account-for-payouts
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- bankDataId
- verificationId
- payoneerId
properties:
bankDataId:
type: string
description: Id of the bank account details assigned by marketplace.
maxLength: 100
example: acc1sd
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: hfs6sfa
payoneerId:
type: string
maxLength: 50
description: Id of the account of the submerchant in the Payoneer.
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad request
description: Invalid input. Reason specified in content.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'404':
x-summary: Forbidden
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow operation.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/aml-verification/v1/dataloading/payouts/worldfirst:
post:
tags:
- Marketplace-Verification
summary: Add Worldfirst Account for Payouts
description: >-
Send bank account data for the payouts. Method is reserved for the users
who have verified Worldfirst account.
operationId: add-worldfirst-account-for-payouts
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- bankDataId
- verificationId
- referenceCustomerId
properties:
bankDataId:
type: string
description: Id of the bank account details assigned by marketplace.
maxLength: 100
example: acc1sd
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: hfs6sfa
referenceCustomerId:
type: string
description: >-
Id of the account binding between the marketplace and the
WorldFirst.
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad request
description: Invalid input. Reason specified in content.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'404':
x-summary: Forbidden
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow operation.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/aml-verification/v1/verification/complete:
post:
tags:
- Marketplace-Verification
summary: Complete Marketplace Verification
description: Inform PayU about completing verification process.
operationId: complete-marketplace-verification
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- verificationId
properties:
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: hfs6sfa
responses:
'204':
x-summary: No Content
description: SUCCESS
'400':
x-summary: Bad request
description: Invalid input. Reason specified in content.
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'404':
x-summary: Not found
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow operation.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/aml-verification/v1/verification/cancel:
post:
tags:
- Marketplace-Verification
summary: Cancel Verification
description: Cancel verification on every step of verification providing the reason.
operationId: cancel-marketplace-verification
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- verificationId
properties:
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: hfs6sfa
rejectionReasonComment:
type: string
description: Reason for cancelling verification.
responses:
'204':
x-summary: No Content
description: SUCCESS
'404':
x-summary: Not found
description: Verification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/404'
'409':
x-summary: Conflict
description: Verification state does not allow cancel.
content:
application/json:
schema:
$ref: '#/components/schemas/409'
/api/front/card-installments-options:
post:
tags:
- Card Installments
summary: Retrieve Available Installments Options
description: >-
Retrieve available card installments options for specific card. For
merchants operating on the Romanian market (Requires contact with a Payu
representative first).
operationId: retrieve-card-installments
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
requestBody:
content:
application/json:
schema:
type: object
required:
- cardBin
- posId
properties:
cardBin:
type: string
description: Card BIN to retrieve card installments data.
example: '5364477839'
posId:
type: string
description: >-
Amount of the transaction for which you want to retrieve
available installments options.
example: '203018'
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
numbers:
type: array
description: Section containing available installments options.
items:
- type: number
example: 1
- type: number
example: 6
- type: number
example: 12
provider:
type: string
example: BRD_INSTALLMENTS
description: Card installments program provider.
settings:
type: object
description: Object representing specific provider settings.
properties:
minAmount:
type: number
description: >-
If this option is returned for a given card BIN
number, then to use the given installment plan for
that card, the order amount must be higher. If it is
lower or equal, the order will be rejected.
example: 60000
'400':
x-summary: Bad Request
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
description: Error message
example: Either posId or internalPosId has to be provided.
/api/v2_1/reports/{reportId}:
get:
tags:
- Statements
summary: Retrieve Statement
description: >
In response to retrieving a statement via the API, PayU returns a
statement file (as indicated by the
`Content-Type=application/octet-stream`) in the `Content-Disposition`
header. You should take this attached binary data and save it with the
same name and file extension.
For example, if the value of the `Content-Disposition` header is
**attachment; filename="69e45495-bed9-4824-ace9-f7c191449bbb.zip"**,
then you should save the attached data on your computer with the same
name **69e45495-bed9-4824-ace9-f7c191449bbb.zip**.
operationId: retrieve-statement
security:
- Basic: null
parameters:
- name: reportId
in: path
example: 4a3534fb-85b5-4f29-9da8-a6d73b34d528
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
/api/v2_1/firms:
post:
tags:
- Partner-Merchant-Registration
summary: Create a Firm
description: Create a Firm entity for your partner.
operationId: create-a-firm
security:
- Bearer:
- client_credentials
parameters:
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token with grant_type=client_credentials.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- type
- taxId
- taxIdType
- cin
- bankAccount
- partnerId
- businessArea
- users
- representatives
- contactData
- address
properties:
name:
type: string
description: Full legal name.
example: Test sp. z o.o.
type:
type: string
description: >-
Dictionary value - legal entity type. Dictionaries for
specific origin are available here. For a firm which
address.country code is not equal to
businessArea.origin please use FZ type.
Providing accurate type speeds up merchant
verification.
example: SO
taxId:
type: string
description: Tax identification.
example: '3771910486'
taxIdType:
type: string
description: Type of tax identification.
enum:
- NIP
- VAT_EU
- TAX_ID
example: NIP
cin:
type: string
description: Business identification. IČ (CZ) or REGON (PL).
example: '138237420'
bankAccount:
type: string
description: >-
Primary bank account to receive payouts for payments. Will
be inherited by all shops created for this firm. Must
be a valid IBAN number in case of firms with PL
origin. Different bank account maybe defined at shop
level manually, via PayU merchant panel.
format: IBAN
example: PL92906300080597567560803897
partnerId:
type: string
description: Your partner id.
example: egmcvdo5
contactLanguage:
type: string
description: Preferred language for communication.
enum:
- EN
- PL
- CS
- RO
example: PL
businessArea:
type: object
required:
- origin
description: Business area of the registered firm.
properties:
origin:
type: string
description: >-
Denotes firm origin and applies validation and
requirements for this origin. Currently only two values
are available: CZ and PL. It is still
possible to register a firm which is incorporated
outside of Czechia or Poland.
example: PL
users:
type: array
description: Array of PayU panel users. At least 1 must be provided.
items:
type: object
required:
- name
- surname
- email
- role
properties:
name:
type: string
description: User's first name.
example: Jan
surname:
type: string
description: User's last name.
example: Nowak
email:
type: string
description: User's email.
example: jan.nowak@testowa.pl
phone:
type: string
description: User's phone number.
example: 123123123
role:
type: string
description: User's role.
enum:
- MANAGER
- USER
example: MANAGER
representatives:
type: array
description: >-
Array of firm legal representatives. At least 1 must be
provided.
items:
type: object
required:
- name
- surname
- countryCode
- birthCountryCode
properties:
name:
type: string
description: Representative's first name.
example: Jan
surname:
type: string
description: Representative's last name.
example: Nowak
nin:
type: string
description: >-
Representative's national identity number (PESEL).
Required only for Polish citizens
example: 80010104578
countryCode:
type: string
description: >-
Representative's citizenship. Must be a valid ISO
3166-1 two-letter code.
example: PL
birthDate:
type: string
format: RRRR-MM-DD
description: >-
Representative's date of birth. Required only for
non-Polish citizens
example: '2000-01-01'
birthCountryCode:
type: string
description: >-
Country code of representative's birth country. Must
be a valid ISO 3166-1 two-letter code.
example: pl
contactData:
type: object
description: Object containing firm's contact details.
required:
- phone
- email
properties:
phone:
type: string
description: Firm's contact phone number.
example: 123123123
email:
type: string
description: Firm's contact email address.
example: biuro@testowa.pl
technicalContactData:
type: object
description: >-
Object containing firm's technical contact details (e.g. to
the developer responsible for integration with PayU).
required: []
address:
type: object
description: Firm's registration address.
required:
- street
- houseNo
- apartmentNo
- postalCode
- city
- countryCode
properties:
street:
type: string
description: Firm's registration address street.
example: Grunwaldzka
houseNo:
type: string
description: Firm's registration address house number.
example: 186
apartmentNo:
type: string
description: Firm's registration address apartment number.
example: 1
postalCode:
type: string
description: Firm's registration address postal code.
example: 61-166
city:
type: string
description: Firm's registration address city.
example: Poznań
countryCode:
type: string
description: >-
Firm's registration address country code. Must be a
valid ISO 3166-1 two-letter code.
example: PL
correspondenceAddress:
type: object
description: >-
Firm's correspondence address (if other than registration
address). This object the same fields as address.
required:
- street
- houseNo
- apartmentNo
- postalCode
- city
- countryCode
properties:
street:
type: string
description: Firm's registration address street.
example: Grunwaldzka
houseNo:
type: string
description: Firm's registration address house number.
example: 186
apartmentNo:
type: string
description: Firm's registration address apartment number.
example: 1
postalCode:
type: string
description: Firm's registration address postal code.
example: 61-166
city:
type: string
description: Firm's registration address city.
example: Poznań
countryCode:
type: string
description: >-
Firm's registration address country code. Must be a
valid ISO 3166-1 two-letter code.
example: PL
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
firmId:
type: string
description: >-
Identifier that needs to be stored in your system and is
used to create further entities for that firm.
example: KzXy4ZzD
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/firms/{firmId}/urls:
post:
tags:
- Partner-Merchant-Registration
summary: Create a URL for the Partner's Firm
description: Create a URL for the specified `firmId`.
operationId: create-a-url-for-the-partners-firm
security:
- Bearer:
- partner
parameters:
- name: firmId
in: path
example: KzXy4ZzD
description: Firm identifier retrieved after firm creation.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token with grant_type=partner.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- value
- services
properties:
value:
type: string
description: URL address.
example: http://www.test-url.com
mcc:
type: string
description: Merchant Category Code (value is validated). Data type
example: '0742'
services:
type: array
description: Array of service types.
items:
type: object
required:
- type
properties:
type:
type: string
description: >
Dictionary value:grant_type=partner.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- currencyCode
- urlId
properties:
name:
type: string
description: Shop name - will be visible in the merchant panel.
example: Shop name
description:
type: string
description: >-
Shop description - more detailed info, visible in the
merchant panel.
example: Shop description
currencyCode:
type: string
description: >-
Must be a three-letter ISO 4217 currency code. Please
contact your key account manager to get more information
about available currencies.
example: EUR
urlId:
type: string
description: Reference to previously created URL.
example: PItR5x0v
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
shopId:
type: string
description: >-
Identifier that needs to be stored in merchant's system
and is used to create POS.
example: ycmGyfCv
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/shops/{shopId}/poses:
post:
tags:
- Partner-Merchant-Registration
summary: Create POS for Partner
description: Create a POS, for your partner, for the specified `shopId`.
operationId: create-pos-for-partner
security:
- Bearer:
- partner
parameters:
- name: shopId
in: path
example: Shop identifier retrieved after shop creation.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token with grant_type=partner.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- name
- type
properties:
name:
type: string
description: Name of the created POS.
example: Test POS
type:
type: string
description: Type of the created POS.
example: REST
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
posId:
type: string
description: Identifier of the created POS.
example: JyoMIVTY
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/poses/{posId}:
get:
tags:
- Partner-Merchant-Registration
summary: Retrieve Partner's POS Data
description: Retrieve data of the POS with specified `posId`.
operationId: retrieve-partners-pos-data
security:
- Bearer:
- partner
parameters:
- name: posId
in: path
example: POS identifier retrieved after POS creation.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token with grant_type=partner.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
posId:
type: string
description: Public POS ID.
example: JyoMIVTY
type:
type: string
description: POS type (determines API that can be used).
example: REST
name:
type: string
description: POS name.
example: Test POS
encoding:
type: string
description: >-
Determines encoding used by PayU system to read API
requests. Always UTF-8 for REST type.
example: UTF-8
authorization:
type: object
description: Object with authorization details.
properties:
standard:
type: object
properties:
merchantPosId:
type: string
description: >-
POS identifier used for API calls. It has the same
value as the `client_id` used in the OAuth calls.
example: '385234'
key:
type: string
description: >-
Has the same value as the "`client_secret` used to
obtain OAuth access tokens for REST API calls.
example: 9c0041e05fdee99749de4c2d2ce4c66e"
secondKey:
type: string
description: >-
The second API key is utilized for signing
notifications sent by PayU, as well as for
verifying the notification signature provided by
PayU. Additionally, it is used for basic
authorization when fetching statement files via
the API.
example: f096a39d78fbe03b8d23dde43b728cfd
authKey:
type: string
description: Not required for REST API.
example: uHcZ9Ly
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/firms/{posId}/users:
post:
tags:
- Partner-Merchant-Registration
summary: Create a User
description: Create an additional User for your partner.
operationId: create-a-user
security:
- Bearer:
- partner
parameters:
- name: firmId
in: path
example: KzXy4ZzD
description: Firm identifier retrieved after firm creation.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token with grant_type=partner.
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
type: object
required:
- user
properties:
user:
type: object
required:
- name
- surname
- email
- role
properties:
name:
type: string
minLength: 1
maxLength: 64
description: First name of the new user.
example: Joe
surname:
type: string
minLength: 1
maxLength: 64
description: Last name of the new user.
example: Doe
email:
type: string
minLength: 1
maxLength: 128
description: Email address of the new user.
example: joe.doe@test.com
phone:
type: string
minLength: 3
maxLength: 25
description: Phone number of the new user.
role:
type: string
enum:
- manager
- user
description: Role specified for the new user.
example: manager
responses:
'201':
x-summary: Created
description: ''
content:
application/json:
schema:
type: object
properties:
userId:
type: string
description: New user identifier.
example: 2e629a11-8add-49c5-bf27-a7f684721b86
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/firms/{firmPublicId}/submerchants:
post:
tags:
- PF-Submerchant-Registration
summary: Create a Submerchant
operationId: create-a-submerchant
parameters:
- name: firmPublicId
in: path
description: Firm id in alphanumeric format, visible in the merchant panel.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
discriminator:
propertyName: payTypeCategories
mapping:
Card: '#/components/schemas/Card'
Card, PBL: '#/components/schemas/CardPbl'
PBL: '#/components/schemas/Pbl'
anyOf:
- $ref: '#/components/schemas/Card'
- $ref: '#/components/schemas/CardPbl'
- $ref: '#/components/schemas/Pbl'
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Id assigned by PayU and required in OrderCreateRequest.
externalId:
type: string
description: Id assigned by the Payment Facilitator.
status:
type: string
enum:
- NOT_ACTIVE
- ACTIVE
- BLOCKED
description: Submerchant status.
lastUpdated:
type: string
description: >-
Datetime of resource creation or last update (if
applicable) in ISO 8601 format.
format: YYYY-MM-DDThh:mm:ss±hh:mm
notifyUrl:
type: string
description: >-
Notifications regarding submerchant status change will be
sent to address provided in this field.
legalName:
type: string
description: Full legal (registration) name.
dbaName:
type: string
description: >-
"Doing business as" name, usually simplified website
address which can be recognized by customer (e.g. when
displayed on card statement).
address:
type: object
description: Legal address object.
properties:
street:
type: string
description: >-
Legal address street including house/apartment number
(if applicable).
city:
type: string
description: Legal address city.
postalCode:
type: string
description: Legal address postal code.
countryCode:
type: string
description: >-
Legal address country code. Must be a valid ISO 3166-1
two-letter code.
phone:
type: string
description: Contact phone number.
websiteUrl:
type: string
description: A valid URL address of merchant's website.
mcc:
type: number
description: >-
Accurate Merchant Category Code established during KYC
process by the PF.
riskClass:
type: string
description: >-
Risk class assigned by Payment Facilitator (basing on
requirements provided by PayU).
enum:
- LOW
- NORMAL
- HIGH
taxId:
type: string
description: >-
Tax identification (e.g. NIP in Poland) or business
identification (e.g. IČ in Czechia).
representatives:
type: array
description: >-
Array of either principals or enterprise owners (depends
on legal form). Minimum one is required.
items:
type: object
properties:
name:
type: string
description: Representative's name.
phone:
type: string
description: Representative's phone number.
legalForm:
type: string
description: >-
Dictionary value - legal entity type. Dictionaries for
specific origin are available here.
agreementDate:
type: string
description: >-
Date when PF signed agreement with the submerchant
(required by Visa for reporting purposes).
format: yyyy-mm-dd
payTypeCategories:
type: string
description: >-
Array of enumerated values: CARD, PBL. Minimum one is
required.
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
/api/v2_1/firms/{firmPublicId}/submerchants/{submerchantId}:
put:
tags:
- PF-Submerchant-Registration
summary: Update Submerchant Data
operationId: update-submerchants-data
parameters:
- name: firmPublicId
in: path
description: Firm id in alphanumeric format, visible in the merchant panel.
required: true
content:
application/json:
schema:
type: string
- name: submerchantId
in: path
description: Id returned by PayU upon submerchant registration.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
requestBody:
content:
application/json:
schema:
discriminator:
propertyName: payTypeCategories
mapping:
Card: '#/components/schemas/Card'
Card, PBL: '#/components/schemas/CardPbl'
PBL: '#/components/schemas/Pbl'
anyOf:
- $ref: '#/components/schemas/Card'
- $ref: '#/components/schemas/CardPbl'
- $ref: '#/components/schemas/Pbl'
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Id assigned by PayU and required in OrderCreateRequest.
externalId:
type: string
description: Id assigned by the Payment Facilitator.
status:
type: string
enum:
- NOT_ACTIVE
- ACTIVE
- BLOCKED
description: Submerchant status.
lastUpdated:
type: string
description: >-
Datetime of resource creation or last update (if
applicable) in ISO 8601 format.
format: YYYY-MM-DDThh:mm:ss±hh:mm
notifyUrl:
type: string
description: >-
Notifications regarding submerchant status change will be
sent to address provided in this field.
legalName:
type: string
description: Full legal (registration) name.
dbaName:
type: string
description: >-
"Doing business as" name, usually simplified website
address which can be recognized by customer (e.g. when
displayed on card statement).
address:
type: object
description: Legal address object.
properties:
street:
type: string
description: >-
Legal address street including house/apartment number
(if applicable).
city:
type: string
description: Legal address city.
postalCode:
type: string
description: Legal address postal code.
countryCode:
type: string
description: >-
Legal address country code. Must be a valid ISO 3166-1
two-letter code.
phone:
type: string
description: Contact phone number.
websiteUrl:
type: string
description: A valid URL address of merchant's website.
mcc:
type: number
description: >-
Accurate Merchant Category Code established during KYC
process by the PF.
riskClass:
type: string
description: >-
Risk class assigned by Payment Facilitator (basing on
requirements provided by PayU).
enum:
- LOW
- NORMAL
- HIGH
taxId:
type: string
description: >-
Tax identification (e.g. NIP in Poland) or business
identification (e.g. IČ in Czechia).
representatives:
type: array
description: >-
Array of either principals or enterprise owners (depends
on legal form). Minimum one is required.
items:
type: object
properties:
name:
type: string
description: Representative's name.
phone:
type: string
description: Representative's phone number.
legalForm:
type: string
description: >-
Dictionary value - legal entity type. Dictionaries for
specific origin are available here.
agreementDate:
type: string
description: >-
Date when PF signed agreement with the submerchant
(required by Visa for reporting purposes).
format: yyyy-mm-dd
payTypeCategories:
type: string
description: >-
Array of enumerated values: CARD, PBL. Minimum one is
required.
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
get:
tags:
- PF-Submerchant-Registration
summary: Retrieve Submerchant Data
description: ''
operationId: retrieve-submerchant-data
parameters:
- name: firmPublicId
in: path
description: Firm id in alphanumeric format, visible in the merchant panel.
required: true
content:
application/json:
schema:
type: string
- name: submerchantId
in: path
description: Id returned by PayU upon submerchant registration.
required: true
content:
application/json:
schema:
type: string
- name: Content-Type
in: header
description: Content type
required: true
schema:
type: string
style: simple
example: application/json
- name: Authorization
in: header
description: Auth token
required: true
schema:
type: string
style: simple
example: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd
responses:
'200':
x-summary: OK
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Id assigned by PayU and required in OrderCreateRequest.
externalId:
type: string
description: Id assigned by the Payment Facilitator.
status:
type: string
enum:
- NOT_ACTIVE
- ACTIVE
- BLOCKED
description: Submerchant status.
lastUpdated:
type: string
description: >-
Datetime of resource creation or last update (if
applicable) in ISO 8601 format.
format: YYYY-MM-DDThh:mm:ss±hh:mm
notifyUrl:
type: string
description: >-
Notifications regarding submerchant status change will be
sent to address provided in this field.
legalName:
type: string
description: Full legal (registration) name.
dbaName:
type: string
description: >-
"Doing business as" name, usually simplified website
address which can be recognized by customer (e.g. when
displayed on card statement).
address:
type: object
description: Legal address object.
properties:
street:
type: string
description: >-
Legal address street including house/apartment number
(if applicable).
city:
type: string
description: Legal address city.
postalCode:
type: string
description: Legal address postal code.
countryCode:
type: string
description: >-
Legal address country code. Must be a valid ISO 3166-1
two-letter code.
phone:
type: string
description: Contact phone number.
websiteUrl:
type: string
description: A valid URL address of merchant's website.
mcc:
type: number
description: >-
Accurate Merchant Category Code established during KYC
process by the PF.
riskClass:
type: string
description: >-
Risk class assigned by Payment Facilitator (basing on
requirements provided by PayU).
enum:
- LOW
- NORMAL
- HIGH
taxId:
type: string
description: >-
Tax identification (e.g. NIP in Poland) or business
identification (e.g. IČ in Czechia).
representatives:
type: array
description: >-
Array of either principals or enterprise owners (depends
on legal form). Minimum one is required.
items:
type: object
properties:
name:
type: string
description: Representative's name.
phone:
type: string
description: Representative's phone number.
legalForm:
type: string
description: >-
Dictionary value - legal entity type. Dictionaries for
specific origin are available here.
agreementDate:
type: string
description: >-
Date when PF signed agreement with the submerchant
(required by Visa for reporting purposes).
format: yyyy-mm-dd
payTypeCategories:
type: string
description: >-
Array of enumerated values: CARD, PBL. Minimum one is
required.
'401':
x-summary: Unauthorized
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/401'
components:
securitySchemes:
Bearer:
type: http
scheme: bearer
Basic:
type: http
scheme: basic
schemas:
'200':
type: object
description: ''
properties:
verificationId:
type: string
description: ''
example: 5002500000BVmycAAD
verificationType:
type: string
description: ''
example: FULL
verificationTransferStatus:
type: string
description: |
Indicates status of the verification transfer.
* **Success** - transfer was received by PayU.
* **Failure** - PayU did not received funds
* **Matched** - transfer has been matched properly.
* **null** - did not have enough information about the transfer.
enum:
- Success
- Failure
- Matched
- 'null'
example: 'null'
processType:
type: string
description: Type of the process.
enum:
- OCCASIONAL
- REGULAR
example: OCCASIONAL
status:
type: string
description: >-
Possible statuses: endpoint.payType value. You can find available values here.
brandImageUrl:
type: string
example: https://static.payu.com/images/mobile/logos/pbl_sgb_off.png
description: Link to logo graphic on PayU server.
name:
type: string
example: SGB Bank
description: Name of payType set by PayU
status:
type: string
enum:
- ENABLED
- DISABLED
- TEMPORARY_DISABLED
example: DISABLED
minAmount:
type: number
example: 50
maxAmount:
type: number
example: 99999999
features:
type: object
description: List of features available.
properties:
clickToPay:
$ref: '#/components/schemas/clickToPayFeature'
donation:
type: object
description: Section containing data of donation added to the order.
properties:
amount:
type: integer
description: Donation amount in pennies.
example: 500
organizationId:
type: string
description: Charity identifier provided by PayU.
delivery:
type: object
description: >-
Section containing delivery address. For a list of parameters, see
section delivery
properties:
street:
type: string
description: >-
Full street address, incl. apartment number. Section recommended
for the 3DS 2 authentication.
maxLength: 255
postalBox:
type: string
description: Postal box
maxLength: 255
postalCode:
type: string
description: >-
Postal code. Section recommended for the 3DS 2
authentication.
maxLength: 255
city:
type: string
description: City, section recommended for the 3DS 2 authentication.
maxLength: 255
state:
type: string
description: >-
Country principal subdivision like "state" or "province". If
provided, must be a valid ISO 3166-2 code (e.g. "UT" for Utah in the
USA or "30" for "Wielkopolskie" in Poland). Section recommended
for the 3DS 2 authentication.
example: '30'
maxLength: 255
countryCode:
type: string
description: >-
Two-letter country code compliant with ISO-3166.
Section recommended for the 3DS 2 authentication.
name:
type: string
description: Address description
maxLength: 255
recipientName:
type: string
description: Recipient name
maxLength: 255
recipientEmail:
type: string
description: Ecipient email
recipientPhone:
type: string
description: Recipient phone number
buyer:
type: object
description: Section containing buyer data.
properties:
extCustomerId:
type: string
description: ID of the customer used in merchant system
minLength: 1
maxLength: 255
email:
type: string
description: >-
Buyer's email address. **Required for Installments (PL), Pay Later
(PL), Pay Later with Twisto (CZ), 3DS 2 authentication.**
example: email@email.com
minLength: 1
maxLength: 255
phone:
type: string
description: >-
Buyer's telephone number. Please use +[country code] [number]
format. **Required for Pay Later with Twisto (CZ), 3DS 2
authentication.**
example: +48 225108001
minLength: 1
maxLength: 255
firstName:
type: string
description: >-
Buyer's first name. **Required for Pay Later with Twisto (CZ)
and AFT card authorization (Account Funding Transaction)**
**In case of AFT card authorization you have to use
ISO/IEC 8859-1 encoding**.
example: John
minLength: 1
maxLength: 100
lastName:
type: string
description: >-
Buyer's last name. **Required for Pay Later with Twisto (CZ)
and AFT card authorization (Account Funding
Transaction)****In case of AFT card authorization you have
to use ISO/IEC 8859-1 encoding**.
example: Doe
minLength: 1
maxLength: 100
nin:
type: string
description: National Identification Number
example: 123456789
language:
type: string
description: >-
Language code, ISO-639-1 compliant. Denotes the language version of
PayU hosted payment page and of e-mail messages sent from PayU to
the payer.
example: pl
birthDate:
type: string
description: >-
Buyer's date of birth. **Required for AFT card authorization
(Account Funding Transaction)**.
format: ISO 8601
example: '2006-12-03T00:00:00.000+01:00'
delivery:
description: '**Section recommended for the 3DS 2 authentication.**'
$ref: '#/components/schemas/delivery'
shippingMethods:
type: array
description: Array of objects related to shipping method.
items:
type: object
required:
- country
- price
- name
properties:
country:
type: string
description: >-
Two-letter shipping country code compliant with ISO-3166.
example: PL
price:
type: number
description: Shipping price.
example: 250
name:
type: string
description: Shipping method name
example: Postal package
products:
type: array
description: >-
Section containing data of the ordered products. Section
products is an array of objects of type product.
items:
type: object
required:
- name
- unitPrice
- quantity
properties:
name:
type: string
description: Name of the product.
example: My product
maxLength: 255
unitPrice:
type: string
description: Unit price.
example: 999
quantity:
type: string
description: Quantity of given product
example: 4
virtual:
type: boolean
description: >-
Product type, which can be virtual or material. **Even if sent,
the virtual parameter is not returned in PAYU notifications.**
example: true
shoppingCarts:
type: array
description: Array of objects related to transaction identification.
items:
type: object
required:
- extCustomerId
- amount
- products
properties:
extCustomerId:
type: string
description: Submerchant identifier
example: ext-customer-1
maxLength: 1024
amount:
type: number
description: Total amount for given submerchant
example: 24950
fee:
type: string
description: Marketplace fee. Value should be in range <0, amount>
example: 250
shippingMethods:
$ref: '#/components/schemas/shippingMethods'
products:
$ref: '#/components/schemas/products'
clickToPayVisa:
type: object
title: visa
description: Click to Pay data for Visa.
required:
- srcCorrelationId
properties:
srcCorrelationId:
type: string
description: A transaction identifier.
example: 123e4567-e89b-12d3-a456-426614174000
clickToPayMastercard:
type: object
title: mastercard
description: Click to Pay data for Mastercard.
required:
- srcCorrelationId
- srcDigitalCardId
properties:
srcCorrelationId:
type: string
description: A transaction identifier.
example: 123e4567-e89b-12d3-a456-426614174000
srcDigitalCardId:
type: string
description: >-
A srcDigitalCardId is a unique identifier that represents the token
associated with a card enrolled in Mastercard Checkout Solutions
(MCS)
example: DCID-111
clickToPay:
type: object
description: >-
ClickToPay details. When this node is used, set `type` to `PBL` and
`value` to `c`. Provide exactly one option: `visa` or `mastercard` (not
both).
oneOf:
- title: Visa
type: object
required:
- visa
properties:
visa:
$ref: '#/components/schemas/clickToPayVisa'
- title: Mastercard
type: object
required:
- mastercard
properties:
mastercard:
$ref: '#/components/schemas/clickToPayMastercard'
cardPlainData:
type: object
description: ''
required: []
properties:
number:
type: string
description: ''
example: '5100052384536818'
expirationMonth:
type: string
description: ''
example: '02'
expirationYear:
type: string
description: ''
example: '29'
cvv:
type: string
description: ''
example: '123'
firstTransactionId:
type: string
description: ''
example: MCC0111LL1121
specificData:
type: array
description: Additional data for some Visa Checkout integrations.
items:
type: object
properties:
name:
type: string
value:
type: string
blikData:
type: object
description: Additional data for BLIK payment with T6 or token.
properties:
aliasLabelProposal:
type: string
description: >-
Label proposal associated with given mobile application. This field
can be used only during token registration.Required for the
BLIK Recurring.
registerTokenValue:
type: string
description: >-
UID/PAYID token value assigned by the merchant. This field can be
used only during token registration.
register:
type: boolean
description: >-
Set to `true` specifies that an alias registration request will be
sent. Set to false will result in payment with a T6 authorization
code without token registration.
appKey:
type: string
description: >-
The identifier of the customer's chosen bank mobile application
within which the transaction authorization will take place.
recommendedAuthLevel:
type: string
description: >-
The proposed level of transaction authorisation. A value of
`NO_CONFIRMATION` means no need for transaction confirmation. In
case of recurring payments, the value of `NO_CONFIRMATION` means
that the merchant is aware of potential fraud risk, accepts it and
takes full responsibility for potential fraudulent transactions.
enum:
- NO_CONFIRMATION
- REQUIRED_CONFIRMATION
countryCode:
type: string
enum:
- PL
- SK
example: PL
description: >-
Indicates the market where the BLIK payment will be initiated. If
the field is not provided, the default value will be **PL**.
recurring:
type: object
description: Contains information about the recurring payment.
required:
- type
properties:
type:
type: enum
description: >-
Type of the recurring payment. Required for the recurring
payment.
enum:
- O
initializationDate:
type: string
description: >-
Date of the first transaction in the recurring payment cycle
without the customer confirmation.
example: '2026-10-01T00:00:00+02:00'
format: yyyy-MM-dd'T'HH:mm:ssXXX
expirationDate:
type: string
description: >-
Expiration date of the PAYID token. Maximum date is 10 years
from the creation date of the token. If the value is not
provided, token will be valid indifinitely.
example: '2026-10-01T00:00:00+02:00'
format: yyyy-MM-dd'T'HH:mm:ssXXX
authorizeDespiteRecurringNotSupported:
type: boolean
default: false
description: >-
Indicates if BLIK transaction should be processed even if Buyers
bank do not support recurring feature in BLIK payment. In
such case, only a single transaction will be processed.
threeDsData:
type: object
description: Object containing result data from 3DS process.
required:
- status3Ds
- dsTransactionId
properties:
status3Ds:
type: enum
description: >-
3DS status. Following values are allowed to be used:- Y
- successful 3DS2 authentication,
- A - 3DS2
authentication attempt.
enum:
- 'Y'
- A
example: 'Y'
status3DsDescription:
type: string
minLength: 1
maxLength: 1024
description: >-
Description related to 3DS result. Passing this parameter as a
additional description with the MPI will allow better potential
customer support from BOK.
example: Authentication successful
xid:
type: string
description: >-
Unique identifier of 3DS transaction given by the shop. Field
required within 3DS version 1 section. This field should not
be sent when attempting 3DS2.x authentication. - [1 .. 20]
characters - for value in plain text,
- {28}
characters - for Base64encoded value,
- {40}
characters - for HEXencoded value.
dsTransactionId:
type: string
description: >-
Field required within 3DS2.x section. This field should not be sent
when attempting 3DS version 1 authentication.
minLength: 1
maxLength: 36
example: 3b31b19d-1c06-4ea4-a85a-00af10c66588
eciCode:
type: enum
description: >-
E-commerce Indicator / UCAF. Values can be passed with "0", e.g.
"04", "05", etc. It should be passed always if the MPI provided this
information.
enum:
- 5
- 6
- 7
- 2
- 1
- 0
example: 5
cavv:
type: string
description: >-
3DS cryptogram. It should be passed always if the MPI provided this
information.
minLength: 1
maxLength: 200
example: AAABBBEAUAAAABgICABQAAAAAAA=
tavv:
type: string
description: >-
Token Authentication Verification Value (TAVV) from external
provider.
example: AgAAABBEAUAAAABg8CABQAAQEAAA=
payMethod:
type: object
required:
- type
- value
properties:
type:
type: string
description: Payment method type.
enum:
- PBL
- CARD_TOKEN
- PAYMENT_WALL
- BLIK_AUTHORIZATION_CODE
- BLIK_TOKEN
- TRANSPARENT
value:
type: string
description: Payment type for PBL, CARD_TOKEN.
example: c
clickToPay:
description: >-
ClickToPay details. When this node is used, set `type` to `PBL` and
`value` to `c`. Provide exactly one option: `visa` or `mastercard`
(not both).
allOf:
- $ref: '#/components/schemas/clickToPay'
authorizationCode:
type: string
description: >-
Optional, usage differs depending on payment method. For BLIK
integrated transparently: enables to collect 6-digit BLIK code on
your website instead of redirecting to BLIK.
example: '777123'
authorizationType:
type: string
description: Applicable only to card-based payments, incl. Apple Pay, Google Pay.
default: AUTHORIZATION
enum:
- PRE_AUTHORIZATION
- AUTHORIZATION
card:
$ref: '#/components/schemas/cardPlainData'
specificData:
$ref: '#/components/schemas/specificData'
amount:
type: string
description: >-
Additional information required for Marketplace integration - must
be equal to `totalAmount` as sum of amount parameters objects in
`shoppingCards` array
blikData:
$ref: '#/components/schemas/blikData'
threeDsData:
$ref: '#/components/schemas/threeDsData'
sourcePaymentFlow:
type: enum
description: Indicates digital wallet.
example: VISA_MOBILE
enum:
- APPLE_PAY
- CARDS
- MDES
- GOOGLE_PAY
- VISA_MOBILE
- VTS
cardInstallments:
type: object
description: >-
For merchants operating on the Romanian market (Requires contact
with a Payu representative first).
properties:
provider:
type: string
description: >-
Card installments program obtained by retrieving [Installments
Options](#tag/Card-Installments/operation/retrieve-card-installments).
example: BRD_INSTALLMENTS
number:
type: integer
description: >-
Selected amount of card installments, obtained by [retrieving
Installments
Options](#tag/Card-Installments/operation/retrieve-card-installments).
example: 6
payMethods:
type: object
description: >-
Section allows to directly invoke payment method. Section
payMethods is one object of payMethod type.
properties:
payMethod:
$ref: '#/components/schemas/payMethod'
mcpData:
type: object
description: >-
Section allows to pass currency conversion details if you chose to use
Multi-Currency Pricing.
required:
- mcpCurrency
- mcpAmount
- mcpRate
- mcpFxTableId
- mcpPartnerId
properties:
mcpCurrency:
type: string
description: termCurrency from the rate table.
example: EUR
mcpAmount:
type: string
description: baseCurrency amount converted to termCurrency.
example: 10000
mcpRate:
type: string
description: Applied conversion rate.
example: 4.2556
mcpFxTableId:
type: string
description: Applied FX rate table id.
example: 132331
mcpPartnerId:
type: string
description: Id provided by PayU.
example: 6283a549-8b1a-430d-8a62-eea64327440e
exemption:
type: object
required:
- value
- rejectionHandling
description: >-
Merchant's preference regarding SCA exemption to be used to exempt card
payment from 3DS authentication. Exclusive with challengeRequested.
Requires additional configuration to be enabled.
properties:
value:
type: string
description: >-
Either LOW_RISK (also known as TRA - transaction risk analysis
compliant with SCA requirements has been performed by the merchant)
or LOW_VALUE (low value payment, up to 30 EUR or equivalent in other
currency)
enum:
- LOW_RISK
- LOW_VALUE
example: LOW_RISK
rejectionHandling:
type: string
description: >-
Either PERFORM_AUTHENTICATION (PayU will return response with
WARNING_CONTINUE_3DS and redirection URL code if exemption cannot be
applied) or DECLINE (PayU will decline the payment if exemption
cannot be applied - error message will be returned synchronously in
OrderCreateResponse)
enum:
- PERFORM_AUTHENTICATION
- DECLINE
example: PERFORM_AUTHENTICATION
riskScore:
type: string
maxLength: 128
description: >-
Risk score assigned by merchant's antifraud tool. For informative
purposes only.
example: 120 - low risk score calculated in Merchants antifraud tool
browser:
type: object
description: >-
Browser data required for 3DS 2 browser flow. If not provided, these
data will be collected by PayU. It is strongly recommended to include it
when charging a stored card (multi-use token), because in some cases it
will spare you redirection to PayU's authentication page.
required:
- acceptHeaders
- requestIP
- screenWidth
- javaEnabled
- timezoneOffset
- screenHeight
- userAgent
- colorDepth
- language
properties:
acceptHeaders:
type: string
description: >-
Exact content of the HTTP accept headers as sent from the payer's
browser.
requestIP:
type: string
description: IP address of the browser as returned by the HTTP headers.
example: 127.0.0.1
screenWidth:
type: string
description: >-
Total width of the payer's screen in pixels. Obtained from the
screen.width HTML DOM property.
example: 1920
javaEnabled:
type: boolean
description: Obtained from the navigator HTML DOM object.
example: false
timezoneOffset:
type: string
description: Obtained from the getTimezoneOffset() method applied to Date object.
example: 1
screenHeight:
type: string
description: Obtained from the navigator HTML DOM object.
example: 1280
userAgent:
type: string
description: Exact content of the HTTP user-agent header.
example: >-
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/100.0.4896.127 Safari/537.36
colorDepth:
type: string
description: >-
Obtained from payer's browser using the screen.colorDepth HTML DOM
property.
example: 32
language:
type: string
description: >-
Obtained from payer's browser using the navigator.language HTML DOM
property. Max. 8 chars.
example: pl_PL
sdkEphemPubKey:
type: object
description: >-
Public key component of the ephemeral key pair generated by the 3DS SDK
and used to establish session keys between the 3DS SDK and the issuer.
properties:
'y':
type: string
example: MRy7wofaw77myc7hZef23hmmEOE
x:
type: string
example: MRy7wofaw77myc7hZef23hmmEOE
kty:
type: string
example: EC
crv:
type: string
example: P-256
sdk:
type: object
description: >-
Required if 3DS 2 is to be natively supported in your mobile app.
Content needs to be generated by a certified 3DS 2 SDK. This information
is not required, but it is strongly recommended to include it when
charging a stored card (multi-use token).
required:
- sdkReferenceNumber
- sdkMaxTimeout
- sdkAppID
- sdkEncData
- sdkTransID
- sdkEphemPubKey
properties:
sdkReferenceNumber:
type: string
example: DS_LOA_SDK_ADBV_739485_94783
sdkMaxTimeout:
type: string
description: >-
Indicates the maximum amount of time (in minutes) for all exchanges.
The field shall have value greater or equal to 05.
example: 30
sdkAppID:
type: string
example: 9063b12c-fcde-43c7-b28e-8d0af5520e8a
sdkEncData:
type: string
description: Data encrypted by the 3DS SDK.
example: 9063b12c-fcde-43c7-b28e-8d0af5520e8a
sdkTransID:
type: string
example: b60c9879-ac77-4918-a317-7b01c4317053/8Q==.
sdkEphemPubKey:
$ref: '#/components/schemas/sdkEphemPubKey'
merchantFunds:
type: object
description: >-
Indicates whether merchant's own funding (e.g. a gift card) has been
used to partially pay for the order. Sum of amounts provided here and of
field denote the real value of order in merchant's system.
required:
- amount
- currencyCode
properties:
amount:
type: string
description: In pennies.
example: 100
currencyCode:
type: string
description: Currency code compliant with ISO 4217.
example: PLN
merchantRiskIndicator:
type: object
description: >-
Set of fields helping to assess risk connected with the order itself
(type of goods purchased, shipping method etc.).
properties:
orderType:
type: string
enum:
- PURCHASE
- ACC_FUNDING
- LOAN
example: LOAN
shipIndicator:
type: string
enum:
- BILLING_ADDRESS
- VERIFIED_ADDRESS
- OTHER_ADDRESS
- SHIP_TO_STORE
- DIGITAL_GOODS
- TICKETS
- NOT_SHIPPED
description: Indicates shipping method chosen for the order.
example: TICKETS
preOrdered:
type: boolean
description: >-
Indicates order for merchandise with a future availability or
release date.
example: false
preOrderedDate:
type: string
example: '2019-03-27T10:57:59.000+01:00'
format: '2019-03-27T10:57:59.000+01:00'
description: ISO format applies.
deliveryTimeFrame:
type: string
enum:
- ELECTRONIC
- SAME_DAY
- OVERNIGHT
- TWO_OR_MORE_DAYS
example: OVERNIGHT
reordered:
type: boolean
description: Indicates if the same purchase has been ordered again.
example: false
merchantFunds:
$ref: '#/components/schemas/merchantFunds'
recurring:
type: object
description: Additional information in case of a recurring payment.
properties:
frequency:
type: string
description: >-
The minimum number of days between recurring payments (e.g. setting
it to 7 for a weekly cycle). However, according to the
recommendations of card schemes, when dealing with recurring
payments that have a variable frequency, it's advised to use a value
of 1 for this parameter.
example: '7'
expiry:
type: string
format: '2025-03-27T00:00:00.000Z'
description: >-
Date after no further recurring payments will be performed.
According to recommendation by the card schemes, in cases where
there is no established expiry or end date of recurring (e.g.
subscriptions), the value of "9999-12-31T00:00:00Z" should be used.
example: '2025-03-27T00:00:00.000Z'
accountInformation:
type: object
description: Informations about cardholders account.
properties:
createDate:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: Date when the account has been created for the cardholder.
example: '2019-03-27T10:57:59.000+01:00'
suspiciousActivity:
type: boolean
description: >-
Indicates whether merchant has experienced suspicious/fraudulent
activity for this account.
example: false
deliveryAddressFirstUsedDate:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: Date when the shipping address used for this order was first used.
example: '2019-03-27T10:57:59.000+01:00'
deliveryAdressUsageIndicator:
type: string
enum:
- THIS_TRANSACTION
- LESS_THAN_30_DAYS
- 30_TO_60_DAYS
- MORE_THAN_60_DAYS
description: Indicates when this shipping address was first used.
example: THIS_TRANSACTION
pastOrdersYear:
type: integer
description: >-
Orders created in merchant's system for this account in the past 12
months.
minimum: 1
maximum: 9999
example: 46
pastOrdersDay:
type: integer
description: >-
Orders created in merchant's system for this account in the last 24
hours.
minimum: 1
maximum: 9999
example: 125
purchasesLastSixMonths:
type: integer
description: >-
Fulfilled (successful) orders created in merchant's system for this
account in the past 6 months.
minimum: 1
maximum: 9999
example: 12
changeDate:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: Date when account details were last changed.
example: '2019-03-27T10:57:59.000+01:00'
changeIndicator:
type: string
enum:
- THIS_TRANSACTION
- LESS_THAN_30_DAYS
- 30_TO_60_DAYS
- MORE_THAN_60_DAYS
description: Indicates time when account information was last changed.
example: THIS_TRANSACTION
passwordChanged:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: Date when account password was last changed.
example: '2019-03-27T10:57:59.000+01:00'
passwordChangeIndicator:
type: string
enum:
- NO_CHANGE
- THIS_TRANSACTION
- LESS_THAN_30_DAYS
- 30_TO_60_DAYS
- MORE_THAN_60_DAYS
description: Indicates whether and when the password was last changed.
example: NO_CHANGE
nameToRecipientMatch:
type: boolean
description: Indicates whether cardholder's name matches recipient's name.
example: true
addCardAttemptsDay:
type: string
description: >-
Indicates attempts to add a card to cardholder's account in
merchant's system within last 24 hours.
example: 3
authMethod:
type: string
enum:
- GUEST
- LOGIN
- FEDERATED_ID
- THIRD_PARTY
- ISSUER
- FIDO
description: Authentication method used to recognize cardholder.
example: GUEST
authDateTime:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: Date and time when authentication was performed.
example: '2019-03-27T10:57:59.000+01:00'
cardAddedDate:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: Date when card account has been stored with merchant.
example: '2019-03-27T10:57:59.000+01:00'
cardAddedIndicator:
type: string
enum:
- GUEST
- THIS_TRANSACTION
- LESS_THAN_30_DAYS
- 30_TO_60_DAYS
- MORE_THAN_60_DAYS
description: Indicates if and when the card was stored with merchant.
example: THIS_TRANSACTION
billingAddress:
type: object
properties:
street:
type: string
minLength: 1
maxLength: 50
description: Full street address, incl. apartment number.
example: Test Street
postalCode:
type: string
minLength: 1
maxLength: 16
description: Postal/ZIP code.
example: 01-000
city:
type: string
minLength: 1
maxLength: 50
description: City name.
example: Test City
state:
type: string
minLength: 1
maxLength: 3
description: >-
Country principal subdivision like "state" or "province". If
provided, must be a two-letter country code compliant with ISO-3166.
example: 30
countryCode:
type: string
minLength: 1
maxLength: 2
description: Two-letter country code compliant with ISO-3166.
example: PL
cardholder:
type: object
description: >-
Describes cardholder's account data in merchant's possession, including
details of account run for the cardholder in merchant's system **You
have to use ISO/IEC 8859-1 encoding**.You can use this field
for providing cardholder name for AFT card authorization (Account
Funding Transaction) instead of using buyer's first and last name.
properties:
name:
type: string
description: Cardholder name and surname.
example: John Doe
accountInformation:
$ref: '#/components/schemas/accountInformation'
billingAddress:
$ref: '#/components/schemas/billingAddress'
threeDsAuthentication:
type: object
description: Contains optional fields required by 3DS 2 authentication protocol.
properties:
challengeRequested:
type: string
description: >-
Merchant's preference regarding 3DS 2 challenge. Exclusive with
exemption. Maybe overridden by PayU.
enum:
- 'YES'
- 'NO'
- MANDATE
exemption:
$ref: '#/components/schemas/exemption'
browser:
$ref: '#/components/schemas/browser'
sdk:
$ref: '#/components/schemas/sdk'
merchantRiskIndicator:
$ref: '#/components/schemas/merchantRiskIndicator'
recurring:
$ref: '#/components/schemas/recurring'
cardholder:
$ref: '#/components/schemas/cardholder'
riskData:
type: object
description: >-
Contains optional fields required for risk analysis purposes. **Required
for BLIK with authorization code or token.**
required:
- browser
properties:
browser:
$ref: '#/components/schemas/browser'
address:
type: object
description: >-
Section containing data about shipping address. Section
is a single object of type address
properties:
pointId:
type: string
description: The full name of the pickup point, including its unique identifier.
example: Parcel locker POZ29A
street:
type: string
description: Street name, possibly including house and flat number.
streetNo:
type: string
description: Street number
flatNo:
type: string
description: Flat number
postalCode:
type: string
description: Postal Code
city:
type: string
description: City
countryCode:
type: string
description: Two-letter country code compliant with ISO-3166.
shippingMethod:
type: object
description: >-
Section containing data of shipping method. Section is
a single object of type shippingMethod.
properties:
type:
type: string
description: Type of shipment
enum:
- COURIER
- COLLECTION_POINT_PICKUP
- PARCEL_LOCKER
- STORE_PICKUP
price:
type: string
description: Shipping cost
address:
$ref: '#/components/schemas/address'
shoppingCart:
type: array
description: >-
Section containing data of the ordered products. Section
is an array of objects of type shoppingCart.
items:
type: object
properties:
shippingMethod:
$ref: '#/components/schemas/shippingMethod'
products:
type: array
description: >-
Section containing data of the ordered products. Section
products is an array of objects of type product.
required:
- name
- unitPrice
- quantity
items:
type: object
properties:
name:
type: string
description: Name of the product
unitPrice:
type: string
description: Unit price
quantity:
type: string
description: Quantity of
virtual:
type: boolean
description: Product type, which can be virtual or material.
listingDate:
type: string
format: '2019-03-27T10:57:59.000+01:00'
description: >-
Marketplace date from which the product (or offer) is
available, ISO format applies.
extCustomerId:
type: string
description: >-
Submerchant identifier. This field should be consistent with field
extCustomerId in shoppingCarts section when order is placed in
marketplace.
credit:
type: object
description: >-
Section containing credit data. This information is not required, but it
is strongly recommended to include it. Otherwise the buyer will be
prompted to provide missing data on provider page when payment by
Installments or Pay later.
properties:
shoppingCarts:
$ref: '#/components/schemas/shoppingCart'
applicant:
type: object
description: Section containing data of person applying for a credit.
properties:
email:
type: string
description: Applicant's email address
example: test@test.com
phone:
type: string
description: Applicant's phone number
example: 123456789
firstName:
type: string
description: Applicant's first name
example: Joe
lastName:
type: string
description: Applicant's last name
example: Doe
language:
type: string
description: >-
Language code, ISO-639-1 compliant. Denotes the language version
of PayU hosted payment page and of e-mail messages sent from
PayU to the payer.
example: pl
nin:
type: string
description: National Identification Number
example: 123456789
address:
type: object
description: Section containing data about applican's address.
properties:
street:
type: string
description: Street name, possibly including house and flat number.
example: Test Street
streetNo:
type: string
description: Street number
example: 123
flatNo:
type: string
description: Flat number
example: 987
postalCode:
type: string
description: Postal Code
example: 01-000
city:
type: string
description: City
example: Test City
countryCode:
type: string
description: Two-letter country code compliant with ISO-3166.
example: PL
additionalInfo:
type: object
description: Additional information about person applying for credit.
properties:
hasSuccessfullyFinishedOrderInShop:
type: string
description: >-
Information whether there were previous, successfully
completed orders for applicant.
example: 'YES'
klarnaAttachment:
type: object
description: >-
Extra merchant data mandatory for merchants operating in certain
segments. You will find more information about this object and its
parameters on **[Klarna Documentation
Page](https://docs.klarna.com/klarna-payments/additional-resources/use-cases/extra-merchant-data/)**.
properties:
content_type:
type: string
body:
type: string
submerchant:
type: object
properties:
id:
type: string
description: >-
submerchant ID when payment is created by Payment Facilitator for
Submerchant
settings:
type: object
properties:
cardInstallmentsOptions:
type: object
description: >-
List of allowed installment numbers for any number of specific
providers, eg. "OPTIMO": [1, 2, 3]. For merchants operating on the
Romanian market (requires contact with a Payu representative first).
Available providers:
- CARD_AVANTAJ
- STAR_BT
- UNICREDIT
- BRD_INSTALLMENTS
- RAIFFEISEN
- GARANTI_RO
- BCR_INSTALLMENTS
- ALPHABANK_INSTALLMENTS
- OPTIMO
- CARD_EMAG
additionalProperties:
type: array
example:
- 1
- 3
- 5
- 7
- 9
- 11
- 13
properties:
type: array
description: Array of objects related to transaction identification.
items:
type: object
properties:
name:
type: string
description: >-
Static value. The payment identifier, displayed on transaction
statements as "Trans ID" and within the transaction search option
in the Management Panel.
example: PAYMENT_ID
value:
type: string
description: Transaction ID in PayU system.
example: '1234567890'
Full:
type: 'null'
description: ''
Partial:
type: object
description: ''
required:
- amount
- currencyCode
properties:
amount:
type: string
description: >-
Amount you want to capture. Must be less than captured order amount.
**Can be used only during partial capture**.
example: 900
currencyCode:
type: string
description: Currency of the order. **Can be used only during partial capture**
example: EUR
card:
type: object
properties:
transactions:
type: array
description: Array of order objects.
items:
type: object
properties:
payMethod:
type: object
properties:
value:
type: string
description: Payment method code
example: c
paymentFlow:
type: string
description: >-
Payment flow of of payment (for card and card based
instruments payments)
enum:
- APPLE_PAY
- CARD
- CARD_INSTALLMENTS
- CLICK_TO_PAY
- FIRST_ONE_CLICK_CARD
- GOOGLE_PAY
- GOOGLE_PAY_TOKENIZED
- VISA_MOBILE
- ONE_CLICK_CARD
- ONE_CLICK_CARD_RECURRING
- ONE_CLICK_MAIL_ORDER
- ONE_CLICK_MAIL_RECURRING
- ONE_CLICK_PHONE_ORDER
- ONE_CLICK_PHONE_RECURRING
example: CARD
validUntil:
type: string
description: Transaction capture expiration date.
example: '2024-06-20T09:05:44.238+02:00'
card:
type: object
description: Chosen payment method
properties:
cardData:
type: object
properties:
cardNumberMasked:
type: string
description: >-
Masked card number (real number or token - in case of
Apple Pay and Google Pay Tokenized).
example: 543402******4014
cardScheme:
type: string
description: >-
Payment organization: MC (MasterCard/Maestro), VS
(Visa)
example: MC
cardProfile:
type: string
description: Card profile (CONSUMER or BUSINESS)
example: CONSUMER
cardClassification:
type: string
description: Card classification (CREDIT/DEBIT)
example: DEBIT
cardResponseCode:
type: string
description: Response code
example: '000'
cardResponseCodeDesc:
type: string
description: Response code with description
example: 000 - OK
cardEciCode:
type: string
description: Electronic Commerce Indicator
example: '2'
card3DsStatus:
type: string
description: 3DS verification status
example: 'Y'
card3DsFrictionlessIndicator:
type: string
description: >-
Indicates whether the authentication was frictionless
or with challenge
example: 'YES'
card3DsStatusDescription:
type: string
description: Description of 3DS status
example: >-
MessageVersion=2.1.0,browser flow,3DS method not
available,dynamic authentication,no cancel
indicator,no status reason
cardBinCountry:
type: string
description: >-
Country in which card was issued. Two-letter country
code compliant with ISO-3166
example: PL
firstTransactionId:
type: string
description: >-
Identifier of the first of recurring payments or
Card-on-File, granted by the payment organisation
example: MCC0111LL1121
resultCode:
type: string
enum:
- AUT_ERROR_NO_AUTHORIZATION
- AUT_ERROR_ANTIFRAUD_DECLINED
- REG_ERROR_ANTIFRAUD_DECLINED
description: >-
Optional informaction about transaction result code:
- AUT_ERROR_NO_AUTHORIZATION - authorization was not
received, transaction cancelled.
- AUT_ERROR_ANTIFRAUD_DECLINED - transaction rejected
at the authoriztion stage by the antifraud system.
- REG_ERROR_ANTIFRAUD_DECLINED - transaction rejected
at registration stage by antifraud system.
- REG_ERROR_AUTHENTICATION_REJECTED - Authentication
was rejected by a third-party service.
- For Visa Mobile
payment method: Authentication failed in either the Visa
Mobile or Issuer application.
example: AUT_ERROR_NO_AUTHORIZATION
pbl:
type: object
properties:
transactions:
type: array
description: Array of order objects.
items:
type: object
properties:
payMethod:
type: object
properties:
value:
type: string
description: Payment method code
example: m
paymentFlow:
type: string
description: Defines how payments are handled.
enum:
- PBL
- PEX_BANK
bankAccount:
type: object
properties:
number:
type: string
description: Bank account number from which payment was made.
example: '80607787095718703296721164'
name:
type: string
description: >-
Name of the account holder from which payment was made (or
full data – name, surname and address).
example: JAN KOWALSKI
city:
type: string
description: City included in account holder address.
example: WARSZAWA
postalCode:
type: string
description: Postal code included in account holder address.
example: 02-638
street:
type: string
description: >-
Street name and house number included in account holder
address.
example: UL.NOWOWIEJSKIEGO 8
address:
type: string
description: Account holder address.
example: Warszawa Nowowiejskiego 8
resultCode:
type: string
enum:
- AUT_ERROR_NO_AUTHORIZATION
- AUT_ERROR_ANTIFRAUD_DECLINED
- REG_ERROR_ANTIFRAUD_DECLINED
description: >-
Optional informaction about transaction result code:
- AUT_ERROR_NO_AUTHORIZATION - authorization was not
received, transaction cancelled.
- AUT_ERROR_ANTIFRAUD_DECLINED - transaction rejected
at the authoriztion stage by the antifraud system.
- REG_ERROR_ANTIFRAUD_DECLINED - transaction rejected
at registration stage by antifraud system.
- REG_ERROR_AUTHENTICATION_REJECTED - Authentication
was rejected by a third-party service.
- For Visa Mobile
payment method: Authentication failed in either the Visa
Mobile or Issuer application.
example: AUT_ERROR_NO_AUTHORIZATION
blik:
type: object
properties:
transactions:
type: array
description: Array of order objects.
items:
type: object
properties:
payMethod:
type: object
properties:
value:
type: string
description: Payment method code.
example: blik
paymentFlow:
type: string
description: Defines how payments are handled.
enum:
- BLIK_PBL
- BLIK_AUTHORIZATION_CODE
- BLIK_AUTHORIZATION_CODE_WITH_UID_TOKEN_REGISTERING
- BLIK_UID_TOKEN
- BLIK_AUTHORIZATION_CODE_WITH_PAYID_TOKEN_TYPE_O_REGISTERING
- BLIK_PAYID_TOKEN_TYPE_O
resultCode:
type: string
description: Transaction handling result code.
blik:
type: object
description: ''
properties:
txRef:
type: string
description: The transaction identifier assigned by the BLIK system.
extTxRef:
type: string
description: Transaction identifier assigned by PayU.
wire:
type: object
properties:
transactions:
type: array
description: Array of order objects.
items:
type: object
properties:
payMethod:
type: object
properties:
value:
type: string
description: Payment method code
example: bt
validUntil:
type: string
format: date-time
description: The expiration date and time for the transaction
example: '2026-02-20T12:08:07.009+01:00'
wireTransfer:
type: object
properties:
title:
type: string
description: Title of the transfer
example: Payment Title
sortCode:
type: string
description: Bank sort code
example: '5500'
bankAccountNumber:
type: string
description: Bank account number
example: '2545661682'
ownerName:
type: string
description: Name of the account owner
example: Owner account name
ownerAddress:
type: string
description: Address of the account owner
example: string
bankName:
type: string
description: Name of the bank
example: UniCredit Bank
swiftCode:
type: string
description: SWIFT code of the bank
example: BACXROBUXXX
specificSymbol:
type: string
description: Specific symbol for the transfer
example: '29'
variableSymbol:
type: string
description: Variable symbol for the transfer
example: '5011964003'
balance:
type: object
description: Section containing Shop balance information.
properties:
currencyCode:
type: string
description: ISO 4217 currency code of currency in which Shop balance is kept.
example: PLN
total:
type: number
description: total balance of funds on Shop
example: 1234567890
available:
type: number
description: >-
value of available funds that are under Merchant disposition,
excluding funds locked by PayU system
example: 987654321
refundRetrievePending:
type: object
properties:
refundId:
type: string
description: ID of the refund
example: '5000000142'
extRefundId:
type: string
description: External refund ID.
example: hdjJduUEEH2
amount:
type: string
description: >-
Amount of the refund. If this is left blank, all funds will be
returned to the buyer.
example: 10000
description:
type: string
description: Refund description
example: Refund for order
creationDateTime:
type: string
description: Date of refund creation.
example: '2020-07-02T09:19:03.896+02:00'
currencyCode:
type: string
description: Currency code compliant with ISO 4217.
statusDatetime:
type: string
description: Timestamp of the status.
example: '2020-07-02T09:19:04.016+02:00'
status:
type: string
description: Refund status code.
example: PENDING
refundRetrieveCanceled:
type: object
properties:
refundId:
type: string
description: ID of the refund
example: '5000000142'
extRefundId:
type: string
description: External refund ID.
example: hdjJduUEEH2
amount:
type: string
description: >-
Amount of the refund. If this is left blank, all funds will be
returned to the buyer.
example: 10000
description:
type: string
description: Refund description
example: Refund for order
creationDateTime:
type: string
description: Date of refund creation.
example: '2020-07-02T09:19:03.896+02:00'
currencyCode:
type: string
description: Currency code compliant with ISO 4217.
statusDatetime:
type: string
description: Timestamp of the status.
example: '2020-07-02T09:19:04.016+02:00'
status:
type: string
description: Refund status code.
statusError:
type: object
description: Information about error.
properties:
code:
type: string
description: Error type.
description:
type: string
description: Error information.
refundRetrieveFinalized:
type: object
properties:
refundId:
type: string
description: ID of the refund
example: '5000000142'
extRefundId:
type: string
description: External refund ID.
example: hdjJduUEEH2
amount:
type: string
description: >-
Amount of the refund. If this is left blank, all funds will be
returned to the buyer.
example: 10000
description:
type: string
description: Refund description
example: Refund for order
creationDateTime:
type: string
description: Date of refund creation.
example: '2020-07-02T09:19:03.896+02:00'
currencyCode:
type: string
description: Currency code compliant with ISO 4217.
statusDatetime:
type: string
description: Timestamp of the status.
example: '2020-07-02T09:19:04.016+02:00'
status:
type: string
description: Refund status code.
example: FINALIZED
StandardPayout:
type: object
title: Standard Payout
required:
- shopId
properties:
shopId:
type: string
description: >-
Public identifier for the shop within PayU, under which payout will
be executed.
example: 1a2B3Cx
payout:
type: object
required:
- amount
- extPayoutId
description: Payout information.
properties:
description:
type: string
description: Payout description.
extPayoutId:
type: string
description: >-
External identificator of Payout assigned by Merchant. Parameter
must be unique within the scope of a given shop, upon
encountering an error, you should use a different value.
minLength: 1
maxLength: 64
amount:
type: number
description: amount for which Payout should be created
example: 987654321
additionalVariables:
type: string
format: VS=888111
description: >-
Allows sending additional information to the system (Variable
Symbol). Data from this field is send only to the supporting
banks. This solution is dedicated only for Czech market.
example: VS=888111
payout:
type: object
description: Payout information.
required:
- amount
- extPayoutId
properties:
description:
type: string
description: Payout description.
extPayoutId:
type: string
description: >-
External identificator of Payout assigned by Merchant. Parameter
must be unique within the scope of a given shop, upon encountering
an error, you should use a different value.
minLength: 1
maxLength: 64
amount:
type: long
description: Amount for which Payout should be created.
example: 10000
additionalVariables:
type: string
format: VS=888111
description: >-
Allows sending additional information to the system (Variable
Symbol). Data from this field is send only to the supporting banks.
This solution is dedicated only for Czech market.
example: VS=888111
foreign:
type: string
description: Flag indicating whether payout was made to a foreign account.
account:
type: object
required:
- accountNumber
description: Information about account to which payout should be sent.
properties:
accountNumber:
type: string
description: >-
Bank account number. Required account formats for foreign transfers:
Polish account: NRB, IBAN. Czech account: IBAN, internal in
([0-9]{1,6}[ -])?[0-9]{2,10}[ /][0-9]{4}) format. As for now, there
is no format restrictions for national bank transfers.
bankName:
type: string
description: >-
Name of the bank. Required for foreign flag set to
true.
swiftCode:
type: string
description: >-
Bank's SWIFT code. Required for foreign flag set to
true.
customerAddress:
type: object
required:
- name
description: Payout recipient's name.
properties:
name:
type: string
description: Payout recipient's name.
countryCode:
type: string
description: >-
Payout recipient's address details. Two-letter country code
compliant with ISO-3166. Required for foreign flag
set to true.
city:
type: string
description: >-
Payout recipient's address details - city. Required for
foreign flag set to true.
postalCode:
type: string
description: Payout recipient's address details - postal code.
street:
type: string
description: >-
Payout recipient's address details - street. Required for
foreign flag set to true.
bankAddress:
type: object
description: Bank address information.
properties:
street:
type: string
description: >-
Bank address information - street. Required for
foreign flag set to true.
postalCode:
type: string
description: >-
Bank address information - postal code. Required for
foreign flag set to true.
city:
type: string
description: >-
Bank address information - city. Required for
foreign flag set to true.
countryCode:
type: string
description: >-
Bank address information. Two-letter country code compliant with
ISO-3166. Required for foreign flag set to true.
BankAccountPayout:
type: object
title: Bank Account Payout
required:
- shopId
- payout
- account
- customerAddress
properties:
shopId:
type: string
description: >-
Public identifier for the shop within PayU, under which payout will
be executed.
example: 1a2B3Cx
payout:
$ref: '#/components/schemas/payout'
account:
$ref: '#/components/schemas/account'
customerAddress:
$ref: '#/components/schemas/customerAddress'
bankAddress:
$ref: '#/components/schemas/bankAddress'
payee:
type: object
description: >-
Required section designed to limit the risk of fraud or money
laundering.
required:
- extCustomerId
- accountCreationDate
- email
properties:
extCustomerId:
type: string
description: Customer (payee) id assigned in the merchant system.
minLength: 1
maxLength: 64
example: customer-id-1
accountCreationDate:
type: string
format: '2025-03-27T00:00:00.000Z'
description: Date when the user was created in the merchant system.
example: '2025-03-27T00:00:00.000Z'
phoneNumber:
type: string
description: Customer (payee) phone number.
minLength: 1
maxLength: 64
example: 48 225108001
email:
type: string
description: Customer (payee) email address.
minLength: 1
maxLength: 256
example: email@email.com
cardForPayout:
type: object
description: >-
Data of the card that the payout will be made to. Required in case of
a payout to the card number.
required:
- number
- expirationMonth
- expirationYear
properties:
number:
type: string
description: Card number.
example: '4444333322221111'
expirationMonth:
type: string
description: Card's expiration date - month.
example: '11'
expirationYear:
type: string
description: Card's expiration date - year.
example: '2029'
CardPayout:
type: object
title: Card Payout
required:
- shopId
- payout
- payee
- customerAddress
properties:
shopId:
type: string
description: >-
Public identifier for the shop within PayU, under which payout will
be executed.
example: 1a2B3Cx
payout:
$ref: '#/components/schemas/payout'
payee:
$ref: '#/components/schemas/payee'
customerAddress:
$ref: '#/components/schemas/customerAddress'
cardToken:
type: string
description: >-
Card token representing card to which payout will be made.
Required in case of a payout to the card token.
example: TOKC_2IHRST6HKSST3H62K2GS8pElI862
card:
$ref: '#/components/schemas/cardForPayout'
MarketplacePayout:
type: object
title: Payout for Marketplace
required:
- shopId
- payout
- account
properties:
shopId:
type: string
description: >-
Public identifier for the shop within PayU, under which payout will
be executed.
example: 1a2B3Cx
account:
type: object
required:
- extCustomerId
description: >-
Information about submerchant account to which payout should be
sent.
properties:
extCustomerId:
type: string
description: Unique submerchant identifier assigned by the Marketplace.
example: submerchant1
payout:
type: object
required:
- currencyCode
- amount
- extPayoutId
properties:
description:
type: string
description: Payout description.
extPayoutId:
type: string
description: >-
External identificator of Payout assigned by Merchant. Parameter
must be unique within the scope of a given shop, upon
encountering an error, you should use a different value.
minLength: 1
maxLength: 64
amount:
type: long
description: Amount for which Payout should be created.
example: 49
currencyCode:
type: string
format: ISO4217
minLength: 3
maxLength: 3
description: Shop currency from which the conversion will be made.
example: PLN
fxData:
type: object
description: Section containing details of the payout conversion.
required:
- partnerId
- currencyCode
- amount
- rate
- tableId
properties:
partnerId:
type: string
description: Partner id for currency exchange at PayU.
example: 9999e44b-f68f-42e1-ad6c-3735ba1e2954
currencyCode:
type: string
format: ISO4217
minLength: 3
maxLength: 3
enum:
- PLN
- EUR
- CZK
description: >-
Currency code after conversion. Currently supported currency codes
are **PLN**, **EUR**, **CZK**.
example: EUR
amount:
type: long
description: >-
The amount of payout after conversion that the marketplace seller
will receive.
example: 11
rate:
type: double
description: The rate at which the payout currency is converted.
example: 0.22458
tableId:
type: string
description: >-
The ID of the exchange rate table retrieved by the merchant from
PayU, determining the basis for currency conversion during payment.
example: '2055'
FxPayout:
type: object
title: FxPayout
required:
- shopId
- payout
- account
- fxData
properties:
shopId:
type: string
description: >-
Public identifier for the shop within PayU, under which payout will
be executed.
example: 1a2B3Cx
account:
type: object
required:
- extCustomerId
description: >-
Information about submerchant account to which payout should be
sent.
properties:
extCustomerId:
type: string
description: Unique submerchant identifier assigned by the Marketplace.
example: submerchant1
payout:
type: object
required:
- currencyCode
- amount
- extPayoutId
properties:
description:
type: string
description: Payout description.
extPayoutId:
type: string
description: >-
External identificator of Payout assigned by Merchant. Parameter
must be unique within the scope of a given shop, upon
encountering an error, you should use a different value.
minLength: 1
maxLength: 64
amount:
type: long
description: Amount for which Payout should be created.
example: 49
currencyCode:
type: string
format: ISO4217
minLength: 3
maxLength: 3
description: Shop currency from which the conversion will be made.
example: PLN
fxData:
$ref: '#/components/schemas/fxData'
PAYMENT_RECEIVED:
type: object
properties:
operations:
type: array
description: List of operations.
items:
type: object
properties:
type:
type: string
description: Operation type.
example: PAYMENT_RECEIVED
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- CHARGEBACK
- ADMIN_CORRECTION
amount:
type: string
description: Amount (of order, refund, payout).
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Operation description.
status:
type: string
description: Operation status.
example: COMPLETED
creationDate:
type: string
description: Operation request moment.
format: '2019-11-30T20:33:44+02:00'
eventDate:
type: string
description: Operation ending moment.
format: '2019-11-30T22:33:44+02:00'
details:
type: object
properties:
orderId:
type: string
description: Order identifier.
extOrderId:
type: string
description: External order identifier.
feeAmount:
type: string
description: Marketplace fee amount.
counterparties:
type: object
description: Order elements.
properties:
extCustomerId:
type: string
description: Buyer identifier.
name:
type: string
description: Buyer name.
email:
type: string
description: Buyer email.
products:
type: array
description: List of products in order.
items:
type: object
properties:
name:
type: string
description: Product name.
unitPrice:
type: string
description: Unit price of product
quantity:
type: string
description: Quantity
funds:
type: array
items:
type: object
pageResponse:
type: object
properties:
records:
type: string
description: Total number of records found.
size:
type: string
description: Number of returned operations.
pageCount:
type: string
description: Page count.
REFUND_SENT:
type: object
properties:
operations:
type: array
description: List of operations.
items:
type: object
properties:
type:
type: string
description: Operation type.
example: REFUND_SENT
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- CHARGEBACK
- ADMIN_CORRECTION
amount:
type: string
description: Amount (of order, refund, payout).
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Operation description.
status:
type: string
description: Operation status.
example: COMPLETED
creationDate:
type: string
description: Operation request moment.
format: '2019-11-30T20:33:44+02:00'
eventDate:
type: string
description: Operation ending moment.
format: '2019-11-30T22:33:44+02:00'
details:
type: object
properties:
orderId:
type: string
description: Order identifier.
extOrderId:
type: string
description: External order identifier.
refundId:
type: string
description: Refund identifier.
extRefundId:
type: string
description: External refund identifier.
counterparties:
type: object
description: Order elements.
properties:
extCustomerId:
type: string
description: Buyer identifier.
name:
type: string
description: Buyer name.
email:
type: string
description: Buyer email.
funds:
type: array
items:
type: object
pageResponse:
type: object
properties:
records:
type: string
description: Total number of records found.
size:
type: string
description: Number of returned operations.
pageCount:
type: string
description: Page count.
PAYOUT:
type: object
properties:
operations:
type: array
description: List of operations.
items:
type: object
properties:
type:
type: string
description: Operation type.
example: PAYOUT
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- CHARGEBACK
- ADMIN_CORRECTION
amount:
type: string
description: Amount (of order, refund, payout).
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Operation description.
status:
type: string
description: Operation status.
example: COMPLETED
creationDate:
type: string
description: Operation request moment.
format: '2019-11-30T20:33:44+02:00'
eventDate:
type: string
description: Operation ending moment.
format: '2019-11-30T22:33:44+02:00'
details:
type: object
properties:
payoutId:
type: string
description: Payout identifier
extPayoutId:
type: string
description: External payout identifier.
accountNumber:
type: string
description: The account to which the payout was made.
funds:
type: array
items:
type: object
pageResponse:
type: object
properties:
records:
type: string
description: Total number of records found.
size:
type: string
description: Number of returned operations.
pageCount:
type: string
description: Page count.
RETURN:
type: object
properties:
operations:
type: array
description: List of operations.
items:
type: object
properties:
type:
type: string
description: Operation type.
example: RETURN
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- CHARGEBACK
- ADMIN_CORRECTION
amount:
type: string
description: Amount (of order, refund, payout).
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Operation description.
status:
type: string
description: Operation status.
example: COMPLETED
creationDate:
type: string
description: Operation request moment.
format: '2019-11-30T20:33:44+02:00'
eventDate:
type: string
description: Operation ending moment.
format: '2019-11-30T22:33:44+02:00'
details:
type: object
properties:
payoutId:
type: string
description: Payout identifier
extPayoutId:
type: string
description: External payout identifier.
funds:
type: array
items:
type: object
pageResponse:
type: object
properties:
records:
type: string
description: Total number of records found.
size:
type: string
description: Number of returned operations.
pageCount:
type: string
description: Page count.
CHARGEBACK:
type: object
properties:
operations:
type: array
description: List of operations.
items:
type: object
properties:
type:
type: string
description: Operation type.
example: CHARGEBACK
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- CHARGEBACK
- ADMIN_CORRECTION
amount:
type: string
description: Amount (of order, refund, payout).
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Operation description.
status:
type: string
description: Operation status.
example: COMPLETED
creationDate:
type: string
description: Operation request moment.
format: '2019-11-30T20:33:44+02:00'
eventDate:
type: string
description: Operation ending moment.
format: '2019-11-30T22:33:44+02:00'
details:
type: object
properties:
correctionId:
type: string
description: Correction identifier
funds:
type: array
items:
type: object
pageResponse:
type: object
properties:
records:
type: string
description: Total number of records found.
size:
type: string
description: Number of returned operations.
pageCount:
type: string
description: Page count.
ADMIN_CORRECTION:
type: object
properties:
operations:
type: array
description: List of operations.
items:
type: object
properties:
type:
type: string
description: Operation type.
example: ADMIN_CORRECTION
enum:
- PAYMENT_SENT
- PAYMENT_RECEIVED
- PAYOUT
- REFUND_SENT
- REFUND_RECEIVED
- RETURN
- ADMIN_TRANSFER_SENT
- ADMIN_TRANSFER_RECEIVED
- FEE_TRANSFER_SENT
- FEE_TRANSFER_RECEIVED
- CHARGEBACK
- ADMIN_CORRECTION
amount:
type: string
description: Amount (of order, refund, payout).
currencyCode:
type: string
description: Currency code according to ISO-4217.
example: PLN
description:
type: string
description: Operation description.
status:
type: string
description: Operation status.
example: COMPLETED
creationDate:
type: string
description: Operation request moment.
format: '2019-11-30T20:33:44+02:00'
eventDate:
type: string
description: Operation ending moment.
format: '2019-11-30T22:33:44+02:00'
details:
type: object
properties:
correctionId:
type: string
description: Correction identifier
funds:
type: array
items:
type: object
pageResponse:
type: object
properties:
records:
type: string
description: Total number of records found.
size:
type: string
description: Number of returned operations.
pageCount:
type: string
description: Page count.
CompanyData:
type: object
description: Submerchant's data (if submerchant is a company).
required:
- verificationId
- sellerId
- companyName
- taxId
- legalForm
- address
- email
properties:
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: aZx65uY
sellerId:
type: string
description: >-
Unique id of seller (submerchant) given by marketplace side. This id
must be constant for every verification concerning the same
(submerchant).
maxLength: 50
example: seller_1"
email:
type: string
description: Contact email.
minLength: 5
maxLength: 80
example: company@test.com
phone:
type: string
description: Contact phone.
maxLength: 40
example: '111222333'
taxId:
type: string
description: Tax id.
format: no spaces, eg. 1122334455
maxLength: 60
example: '1122334455'
companyName:
type: string
description: Name of the company.
maxLength: 80
example: Company 1
legalForm:
type: string
description: FOREIGN_COMPANY type has been deprecated.
enum:
- AGENCY_OF_FOREIGN_COMPANY
- ASSOCIATION
- CHURCH_LEGAL_PERSON
- CIVIL_LAW_PARTNERSHIP
- COOPERATIVE
- EDUCATIONAL_INSTITUTION
- FOUNDATION
- GENERAL_PARTNERSHIP
- JOINT_STOCK_COMPANY
- LIMITED_JOINT_STOCK_PARTNERSHIP
- LIMITED_LIABILITY_COMPANY
- LIMITED_LIABILITY_PARTNERSHIP
- LIMITED_PARTNERSHIP
- LOCAL_GOVERNMENT_UNIT
- PRIVATE_PERSON
- PROFESSIONAL_PARTNERSHIP
- LOCAL_GOVERNMENT_CULTURE_INSTITUTION
- RESEARCH_INSTITUTE
- SOLE_TRADER
- OTHER
example: CIVIL_LAW_PARTNERSHIP
gusCode:
type: string
description: >-
Code relating to the legal form. For more information see the site
of the Główny Urząd Statystyczny.
maxLength: 50
registryNumber:
type: string
description: Company registry number (eg REGON in Poland).
maxLength: 40
registrationDate:
type: string
format: YYYY-MM-DD
description: Company registration date in the registries.
example: '2019-07-07'
address:
type: object
description: Address of the company.
required:
- country
properties:
street:
type: string
description: >-
Street with building and apartment number. Required for full
verification.
maxLength: 255
example: Grunwaldzka 186
zipcode:
type: string
description: >-
Company's address zipcode. Required for full
verification.
maxLength: 20
example: 60-166
city:
type: string
description: Required for full verification.
maxLength: 40
example: Poznan
country:
type: string
description: Two letter ISO country code.
maxLength: 80
example: PL
PrivatePerson:
type: object
description: Submerchant's data (if submerchant is a private person).
required:
- verificationId
- sellerId
- name
- surname
- legalForm
- address
- email
- dateOfBirth
properties:
verificationId:
type: string
description: Unique id of the verification provided by PayU.
maxLength: 18
example: BZx65uYW
sellerId:
type: string
description: >-
Unique id of seller (submerchant) given by marketplace side. This id
must be constant for every verification concerning the same
(submerchant).
maxLength: 50
example: seller_2"
email:
type: string
description: Contact email.
minLength: 5
maxLength: 80
example: test@test.com
phone:
type: string
description: Contact phone.
maxLength: 40
example: '111222333'
taxId:
type: string
description: Tax id. Should be empty for private person.
format: should be empty for private person
maxLength: 60
example: ''
name:
type: string
description: First name of the seller.
maxLength: 40
example: Jan
surname:
type: string
description: Last name of the seller.
maxLength: 40
example: Kowalski
legalForm:
type: string
description: FOREIGN_COMPANY type has been deprecated.
enum:
- AGENCY_OF_FOREIGN_COMPANY
- ASSOCIATION
- CHURCH_LEGAL_PERSON
- CIVIL_LAW_PARTNERSHIP
- COOPERATIVE
- EDUCATIONAL_INSTITUTION
- FOUNDATION
- GENERAL_PARTNERSHIP
- JOINT_STOCK_COMPANY
- LIMITED_JOINT_STOCK_PARTNERSHIP
- LIMITED_LIABILITY_COMPANY
- LIMITED_LIABILITY_PARTNERSHIP
- LIMITED_PARTNERSHIP
- LOCAL_GOVERNMENT_UNIT
- PRIVATE_PERSON
- PROFESSIONAL_PARTNERSHIP
- LOCAL_GOVERNMENT_CULTURE_INSTITUTION
- RESEARCH_INSTITUTE
- SOLE_TRADER
- OTHER
example: PRIVATE_PERSON
personalIdentificationNumber:
type: string
description: >-
National, personal identification number e.g. PESEL in Poland.
Required for private persons for full verification Not required
for basic data.
maxLength: 150
example: '90112322330'
dateOfBirth:
type: string
description: ''
format: YYYY-MM-DD
example: '1988-10-12'
registryNumber:
type: string
description: >-
Company registry number (eg REGON in Poland). Should be empty for
private person.
maxLength: 40
example: ''
address:
type: object
description: Address of the private person.
required:
- country
properties:
street:
type: string
description: >-
Street with building and apartment number. Required for full
verification.
maxLength: 255
example: Grunwaldzka 186
zipcode:
type: string
description: >-
Private person's address zipcode. Required for full
verification.
maxLength: 20
example: 60-166
city:
type: string
description: Required for full verification.
maxLength: 40
example: Poznan
country:
type: string
description: Two letter ISO country code.
maxLength: 80
example: PL
PayoutWithVerificationTransfer:
type: object
required:
- bankDataId
- verificationId
- accountNumberRequested
- swiftCode
- payoutDataVerificationType
- foreign
- verified
- verificationTransferId
properties:
bankDataId:
type: string
description: Id of the bank account details assigned by marketplace.
maxLength: 100
example: '01102020'
verificationId:
type: string
description: Id of verification in context of which data are provided.
maxLength: 18
example: verification-123
accountNumberRequested:
type: string
description: Bank account number declared for withdrawals by submerchant.
format: IBAN
maxLength: 255
example: PL1122334455667788991010111223345
hasDocument:
type: string
enum:
- true
- false
description: >
Flag informing that this bank account for payouts should be verified
on base of bank document. **It must be set to true when the method
used is "BANK_STATEMENT"**.
example: 'true'
payoutDataVerificationType:
type: string
enum:
- LIAN_LIAN
- PINGPONG
- OFX
- BANK_STATEMENT
- BANK_TRANSFER
- NO_VERIFICATION_NEEDED
description: >
Type of verification used for the provided payout details
verification. Different for each verification type:
* **LIAN_LIAN** - special type for Chinese submerchants,
* **PINGPONG** - special type for Chinese submerchants,
* **OFX** - special type for Chinese submerchants,
* **BANK_STATEMENT** - used if all data are present on the document
(**`hasDocument` must be true**),
* **BANK_TRANSFER**,
* **NO_VERIFICATION_NEEDED** - used if the provided bank account
number was not yet verified by 3rd party but it doesn't have to be
verified at the time of providing the bank details. It is used for
the occasional transaction process when the bank account number is
provided at the beginning of the process.
example: BANK_STATEMENT
foreign:
type: string
enum:
- true
- false
description: >
Foreign Transfer Indicator. Has to be `true` for all cross-border
payouts and payouts in EUR.
**For domestic transfers set this parameter to `false`,
specifically**:
- Payouts in CZK (Czech Koruna) to an account held in the Czech
Republic.
- Payouts in PLN (Polish Złoty) to an account held in Poland.
example: 'false'
verificationTransferId:
type: string
description: >-
Have to be indicated in request with declared payouts data. Payouts
data need to be declared in 72 hours from above request/response.
maxLength: 255
example: 5f7007da-8e05-4f0f-9503-05c053034bde
verified:
type: string
description: >-
parameter indicating whether the bank account number was already
verified e.g. by another provider. If set to **false** and the
verification type is other than "NO_VERIFICATION_NEEDED" PayU must
verify the bank account details.
example: 'false'
PayoutWithoutVerificationTransfer:
type: object
required:
- bankDataId
- verificationId
- accountNumberRequested
- payoutDataVerificationType
- foreign
- verified
properties:
bankDataId:
type: string
description: Id of the bank account details assigned by marketplace.
maxLength: 100
example: '01102020'
verificationId:
type: string
description: Id of verification in context of which data are provided.
maxLength: 18
example: verification-123
accountNumberRequested:
type: string
description: Bank account number declared for withdrawals by submerchant.
format: IBAN
maxLength: 255
example: PL1122334455667788991010111223345
hasDocument:
type: string
enum:
- true
- false
description: >
Flag informing that this bank account for payouts should be verified
on base of bank document. **It must be set to true when the method
used is "BANK_STATEMENT**".
example: 'true'
swiftCode:
type: string
description: Standard format of Bank Identifier Code.
maxLength: 11
example: BREXPLPW
bankAddress:
type: string
description: Bank address.
example: Schule Str. 23 60-000 Berlin
bankCountry:
type: string
description: Bank country. **Required for foreign bank account**.
maxLength: 10
example: DE
payoutDataVerificationType:
type: string
enum:
- LIAN_LIAN
- PINGPONG
- OFX
- BANK_STATEMENT
- BANK_TRANSFER
- NO_VERIFICATION_NEEDED
description: >
Type of verification used for the provided payout details
verification. Different for each verification type:
* **LIAN_LIAN** - special type for Chinese submerchants,
* **PINGPONG** - special type for Chinese submerchants,
* **OFX** - special type for Chinese submerchants,
* **BANK_STATEMENT** - used if all data are present on the document
(**`hasDocument` must be true**),
* **BANK_TRANSFER**,
* **NO_VERIFICATION_NEEDED** - used if the provided bank account
number was not yet verified by 3rd party but it doesn't have to be
verified at the time of providing the bank details. It is used for
the occasional transaction process when the bank account number is
provided at the beginning of the process.
example: BANK_STATEMENT
statementData:
type: object
description: Details from bank statement.
required:
- ownerName
- address
properties:
accountNumberFromBank:
type: string
description: ''
maxLength: 50
example: DE84074749817492314
ownerName:
type: string
description: Name of the account owner from bank transfer.
maxLength: 255
example: Marian Brotchen
address:
type: object
description: ''
properties:
street:
type: string
description: Street name.
maxLength: 255
example: Schule Str. 23
zipcode:
type: string
description: Zipcode
maxLength: 255
example: 60-000
city:
type: string
description: City name.
maxLength: 255
example: Berlin
country:
type: string
description: Country code.
format: ISO Country Code
maxLength: 2
example: DE
foreign:
type: string
enum:
- true
- false
description: >
Foreign Transfer Indicator. Has to be `true` for all cross-border
payouts and payouts in EUR.
**For domestic transfers set this parameter to `false`,
specifically**:
- Payouts in CZK (Czech Koruna) to an account held in the Czech
Republic.
- Payouts in PLN (Polish Złoty) to an account held in Poland.
example: 'false'
verified:
type: string
description: >-
parameter indicating whether the bank account number was already
verified e.g. by another provider. If set to **false** and the
verification type is other than "NO_VERIFICATION_NEEDED" PayU must
verify the bank account details.
example: 'false'
PayoutBankStatement:
type: object
required:
- bankDataId
- verificationId
- accountNumberRequested
- hasDocument
- payoutDataVerificationType
- foreign
- verified
properties:
bankDataId:
type: string
description: Id of the bank account details assigned by marketplace.
maxLength: 100
example: '01102020'
verificationId:
type: string
description: Id of verification in context of which data are provided.
maxLength: 18
example: verification-123
accountNumberRequested:
type: string
description: Bank account number declared for withdrawals by submerchant.
format: IBAN
maxLength: 255
example: PL1122334455667788991010111223345
hasDocument:
type: string
enum:
- true
- false
description: >
Flag informing that this bank account for payouts should be verified
on base of bank document. **It must be set to true when the method
used is "BANK_STATEMENT**".
example: 'true'
payoutDataVerificationType:
type: string
enum:
- LIAN_LIAN
- PINGPONG
- OFX
- BANK_STATEMENT
- BANK_TRANSFER
- NO_VERIFICATION_NEEDED
description: >
Type of verification used for the provided payout details
verification. Different for each verification type:
* **LIAN_LIAN** - special type for Chinese submerchants,
* **PINGPONG** - special type for Chinese submerchants,
* **OFX** - special type for Chinese submerchants,
* **BANK_STATEMENT** - used if all data are present on the document
(**`hasDocument` must be true**),
* **BANK_TRANSFER**,
* **NO_VERIFICATION_NEEDED** - used if the provided bank account
number was not yet verified by 3rd party but it doesn't have to be
verified at the time of providing the bank details. It is used for
the occasional transaction process when the bank account number is
provided at the beginning of the process.
example: BANK_STATEMENT
foreign:
type: string
enum:
- true
- false
description: >
Foreign Transfer Indicator. Has to be `true` for all cross-border
payouts and payouts in EUR.
**For domestic transfers set this parameter to `false`,
specifically**:
- Payouts in CZK (Czech Koruna) to an account held in the Czech
Republic.
- Payouts in PLN (Polish Złoty) to an account held in Poland.
example: 'false'
verified:
type: string
description: >-
parameter indicating whether the bank account number was already
verified e.g. by another provider. If set to **false** and the
verification type is other than "NO_VERIFICATION_NEEDED" PayU must
verify the bank account details.
example: 'false'
Card:
type: object
required:
- notifyUrl
- externalId
- legalName
- dbaName
- address
- phone
- websiteUrl
- mcc
- riskClass
- taxId
- representatives
- legalForm
- agreementDate
properties:
payTypeCategories:
type: array
description: >-
Array of enumerated values: `Card`, `PBL`. Both can be used at the
same time - minimum one is required.
items:
type: string
example:
- Card
externalId:
type: string
description: Id assigned by the Payment Facilitator.
notifyUrl:
type: string
description: >-
Notifications regarding submerchant status change will be sent to
address provided in this field.
legalName:
type: string
description: Full legal (registration) name.
dbaName:
type: string
description: >-
"Doing business as" name, usually simplified website address which
can be recognized by customer (e.g. when displayed on card
statement).
address:
type: object
required:
- street
- postalCode
- city
- countryCode
description: Legal address object.
properties:
street:
type: string
description: >-
Legal address street including house/apartment number (if
applicable).
city:
type: string
description: Legal address city.
postalCode:
type: string
description: Legal address postal code.
countryCode:
type: string
description: >-
Legal address country code. Must be a valid ISO 3166-1
two-letter code.
phone:
type: string
description: Contact phone number.
websiteUrl:
type: string
description: A valid URL address of merchant's website.
mcc:
type: number
description: >-
Accurate Merchant Category Code established during KYC process by
the PF.
riskClass:
type: string
description: >-
Risk class assigned by Payment Facilitator (basing on requirements
provided by PayU).
enum:
- LOW
- NORMAL
- HIGH
representatives:
type: array
description: >-
Array of either principals or enterprise owners (depends on legal
form). Minimum one is required.
items:
type: object
required:
- name
- phone
properties:
name:
type: string
description: Representative's name.
phone:
type: string
description: Representative's phone number.
legalForm:
type: string
enum:
- FU
- FZ
- IB
- JST
- KOP
- PO
- PP
- PPZ
- PRPA
- SA
- SC
- SD
- SIK
- SJ
- SK
- SO
- SP
- SPOL
- ST
description: >-
Dictionary value - legal entity type. Check dictionaries for specific
origin.
taxId:
type: string
description: >-
Tax identification (e.g. NIP in Poland) or business identification
(e.g. IČ in Czechia).
agreementDate:
type: string
description: >-
Date when PF signed agreement with the submerchant (required by Visa
for reporting purposes).
format: yyyy-mm-dd
CardPbl:
type: object
title: Card, PBL
required:
- notifyUrl
- externalId
- legalName
- dbaName
- address
- phone
- websiteUrl
- mcc
- riskClass
- taxId
- representatives
- legalForm
- agreementDate
properties:
payTypeCategories:
type: array
description: >-
Array of enumerated values: `Card`, `PBL`. Both can be used at the
same time - minimum one is required.
items:
type: string
example:
- Card
- PBL
externalId:
type: string
description: Id assigned by the Payment Facilitator.
notifyUrl:
type: string
description: >-
Notifications regarding submerchant status change will be sent to
address provided in this field.
legalName:
type: string
description: Full legal (registration) name.
dbaName:
type: string
description: >-
"Doing business as" name, usually simplified website address which
can be recognized by customer (e.g. when displayed on card
statement).
address:
type: object
required:
- street
- postalCode
- city
- countryCode
description: Legal address object.
properties:
street:
type: string
description: >-
Legal address street including house/apartment number (if
applicable).
city:
type: string
description: Legal address city.
postalCode:
type: string
description: Legal address postal code.
countryCode:
type: string
description: >-
Legal address country code. Must be a valid ISO 3166-1
two-letter code.
phone:
type: string
description: Contact phone number.
websiteUrl:
type: string
description: A valid URL address of merchant's website.
mcc:
type: number
description: >-
Accurate Merchant Category Code established during KYC process by
the PF.
riskClass:
type: string
description: >-
Risk class assigned by Payment Facilitator (basing on requirements
provided by PayU).
enum:
- LOW
- NORMAL
- HIGH
representatives:
type: array
description: >-
Array of either principals or enterprise owners (depends on legal
form). Minimum one is required.
items:
type: object
required:
- name
- phone
properties:
name:
type: string
description: Representative's name.
phone:
type: string
description: Representative's phone number.
legalForm:
type: string
enum:
- FU
- FZ
- IB
- JST
- KOP
- PO
- PP
- PPZ
- PRPA
- SA
- SC
- SD
- SIK
- SJ
- SK
- SO
- SP
- SPOL
- ST
description: >-
Dictionary value - legal entity type. Check dictionaries for specific
origin.
taxId:
type: string
description: >-
Tax identification (e.g. NIP in Poland) or business identification
(e.g. IČ in Czechia).
agreementDate:
type: string
description: >-
Date when PF signed agreement with the submerchant (required by Visa
for reporting purposes).
format: yyyy-mm-dd
Pbl:
type: object
title: PBL
required:
- notifyUrl
- externalId
- legalName
- dbaName
- address
- websiteUrl
- mcc
- taxId
properties:
payTypeCategories:
type: array
description: >-
Array of enumerated values: `Card`, `PBL`. Both can be used at the
same time - minimum one is required.
items:
type: string
example:
- PBL
externalId:
type: string
description: Id assigned by the Payment Facilitator.
notifyUrl:
type: string
description: >-
Notifications regarding submerchant status change will be sent to
address provided in this field.
legalName:
type: string
description: Full legal (registration) name.
dbaName:
type: string
description: >-
"Doing business as" name, usually simplified website address which
can be recognized by customer (e.g. when displayed on card
statement).
address:
type: object
required:
- street
- postalCode
- city
- countryCode
description: Legal address object.
properties:
street:
type: string
description: >-
Legal address street including house/apartment number (if
applicable).
city:
type: string
description: Legal address city.
postalCode:
type: string
description: Legal address postal code.
countryCode:
type: string
description: >-
Legal address country code. Must be a valid ISO 3166-1
two-letter code.
phone:
type: string
description: Contact phone number.
websiteUrl:
type: string
description: A valid URL address of merchant's website.
mcc:
type: number
description: >-
Accurate Merchant Category Code established during KYC process by
the PF.
riskClass:
type: string
description: >-
Risk class assigned by Payment Facilitator (basing on requirements
provided by PayU).
enum:
- LOW
- NORMAL
- HIGH
representatives:
type: array
description: >-
Array of either principals or enterprise owners (depends on legal
form). Minimum one is required.
items:
type: object
required:
- name
- phone
properties:
name:
type: string
description: Representative's name.
phone:
type: string
description: Representative's phone number.
legalForm:
type: string
enum:
- FU
- FZ
- IB
- JST
- KOP
- PO
- PP
- PPZ
- PRPA
- SA
- SC
- SD
- SIK
- SJ
- SK
- SO
- SP
- SPOL
- ST
description: >-
Dictionary value - legal entity type. Check dictionaries for specific
origin.
taxId:
type: string
description: >-
Tax identification (e.g. NIP in Poland) or business identification
(e.g. IČ in Czechia).
agreementDate:
type: string
description: >-
Date when PF signed agreement with the submerchant (required by Visa
for reporting purposes).
format: yyyy-mm-dd
security:
- Bearer:
- client_credentials