openapi: 3.1.0 info: version: 2.1.0 title: PayU GPO Europe REST Authorize Order 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 security: - Bearer: - client_credentials tags: - 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.' paths: /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'
components:
schemas:
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: 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
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
'400':
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
description: Error type.
severity:
type: string
description: error severity type.
code:
type: string
description: Identification code of specific error.
codeLiteral:
type: string
description: Cause of the error.
statusDesc:
type: string
description: Error description.
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
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
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'
'500':
type: object
properties:
status:
type: object
properties:
statusCode:
type: string
description: Error type.
code:
type: string
description: Identification code of specific error.
codeLiteral:
type: string
description: Cause of the error.
statusDesc:
type: string
description: Error description.
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'
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'
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
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
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.
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: 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.
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'
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: payMethods is one object of payMethod type.
properties:
payMethod:
$ref: '#/components/schemas/payMethod'
Full:
type: 'null'
description: ''
securitySchemes:
Bearer:
type: http
scheme: bearer
Basic:
type: http
scheme: basic