PayU · Schema
PayU GPO Europe REST API - JSON Schemas
JSON Schema definitions extracted from the PayU GPO Europe REST API OpenAPI 3.1.0 specification (version 2.1.0)
PaymentsPayment ProcessingFintechFinancial ServicesSubscriptionsFraud DetectionCheckoutMarketplaceTokenizationEmerging Markets
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/payu/refs/heads/main/json-schema/payu-europe-rest-api.json",
"title": "PayU GPO Europe REST API - JSON Schemas",
"description": "JSON Schema definitions extracted from the PayU GPO Europe REST API OpenAPI 3.1.0 specification (version 2.1.0)",
"$defs": {
"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.\n* **Success** - transfer was received by PayU.\n* **Failure** - PayU did not received funds\n* **Matched** - transfer has been matched properly.\n* **null** - did not have enough information about the transfer.\n",
"enum": [
"Success",
"Failure",
"Matched",
"null"
],
"example": "null"
},
"processType": {
"type": "string",
"description": "Type of the process.",
"enum": [
"OCCASIONAL",
"REGULAR"
],
"example": "OCCASIONAL"
},
"status": {
"type": "string",
"description": "Possible statuses: <ul> <li><b>POSITIVE</b> - indicates that the seller is accepted and can process transactions with PayU.</li> <li><b>NEGATIVE</b> - indicates that the seller is rejected and can't process transactions with PayU. There is an error code always send for negative scenario.</li> <li><b>REJECTED</b> - indicates that provided data must be corrected.</li> <li><b>WAITING_FOR_DATA</b> - waiting for data is sent in the notification when the verification was initialized but the request to start verification was not yet received. Provide the necessary data and documents according to the type of submerchant and send POST request on <code complete</code> endpoint.</li> <li><b>WAITING_FOR_VERIFICATION</b> - waiting for verification indicates that data and documents submitted to PayU will be verified by PayU or currently being verified. Wait for notification about status change.</li> <li><b>CANCELED</b> - canceled. Initiate new verification when it is necessary. Marketplace can not cancel verification intialized by PayU or after sending complete information.</li> </ul>",
"example": "REJECTED"
},
"sellerId": {
"type": "string",
"description": "",
"example": "123456test12"
},
"note": {
"type": "string",
"description": "",
"example": null
},
"errors": {
"type": "array",
"description": "",
"items": {
"type": "object",
"properties": {
"content": {
"type": "object",
"description": "Group of fields that indicate which data/document the error code applies to.",
"properties": {
"itemType": {
"type": "string",
"description": "",
"enum": [
"SELLER",
"SELLER_DOCUMENT",
"ASSOCIATE",
"ASSOCIATE_DOCUMENT",
"PAYOUT_ACCOUNT"
],
"example": "SELLER_DOCUMENT"
},
"itemProperties": {
"type": "object",
"description": "",
"properties": {
"documentType": {
"type": "string",
"description": "",
"enum": [
"ID_CARD",
"PASSPORT",
"DRIVING_LICENCE",
"RESIDENCE_PERMIT",
"OTHER"
],
"example": "PEP_STATEMENT"
},
"documentId": {
"type": "string",
"description": "",
"example": "2"
},
"associateId": {
"type": "string",
"description": "",
"example": null
}
}
}
}
},
"code": {
"type": "string",
"description": "Error Code.",
"example": "006"
}
}
}
},
"updateDate": {
"type": "string",
"description": "",
"example": "2020-04-03T09:14:06.000Z"
},
"createDate": {
"type": "string",
"description": "",
"example": "2020-04-03T06:36:15.000Z"
}
}
},
"400": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"description": "Error type."
},
"severity": {
"type": "string",
"description": "error severity type."
},
"code": {
"type": "string",
"description": "Identification code of specific error."
},
"codeLiteral": {
"type": "string",
"description": "Cause of the error."
},
"statusDesc": {
"type": "string",
"description": "Error description."
}
}
}
}
},
"401": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"description": "Error type."
},
"code": {
"type": "string",
"description": "Identification code of specific error."
},
"codeLiteral": {
"type": "string",
"description": "Cause of the error."
},
"statusDesc": {
"type": "string",
"description": "Error description."
}
}
}
}
},
"403": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"error": {
"type": "string",
"description": "Error type.",
"enum": [
"access_denied"
]
},
"error_description": {
"type": "string",
"description": "Description of error.",
"enum": [
"Access is denied"
]
}
}
}
}
},
"404": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"description": "Error type."
},
"severity": {
"type": "string",
"description": "error severity type."
},
"statusDesc": {
"type": "string",
"description": "Error description."
}
}
}
}
},
"409": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Error type.",
"example": "409"
},
"message": {
"type": "string",
"description": "Error message."
}
}
}
}
},
"500": {
"type": "object",
"properties": {
"status": {
"type": "object",
"properties": {
"statusCode": {
"type": "string",
"description": "Error type."
},
"code": {
"type": "string",
"description": "Identification code of specific error."
},
"codeLiteral": {
"type": "string",
"description": "Cause of the error."
},
"statusDesc": {
"type": "string",
"description": "Error description."
}
}
}
}
},
"ClientCredentials": {
"type": "object",
"required": [
"grant_type",
"client_id",
"client_secret"
],
"properties": {
"grant_type": {
"type": "string",
"example": "client_credentials",
"enum": [
"client_credenitals"
],
"description": "Authorization mode"
},
"client_id": {
"type": "string",
"example": "145227",
"description": "Merchant's POS identifier in PayU's system. Can be found in PayU's merchant panel"
},
"client_secret": {
"type": "string",
"example": "12f071174cb7eb79d4aac5bc2f07563f",
"description": "Merchant's secret key. Can be found in PayU's merchant panel"
}
}
},
"TrustedMerchant": {
"type": "object",
"required": [
"grant_type",
"client_id",
"client_secret",
"email",
"ext_customer_id"
],
"properties": {
"grant_type": {
"type": "string",
"example": "trusted_merchant",
"enum": [
"trusted_merchant"
],
"description": "Authorization mode"
},
"client_id": {
"type": "string",
"example": "145227",
"description": "Merchant's POS identifier in PayU's system. Can be found in PayU's merchant panel"
},
"client_secret": {
"type": "string",
"example": "12f071174cb7eb79d4aac5bc2f07563f",
"description": "Merchant's secret key. Can be found in PayU's merchant panel"
},
"email": {
"type": "string",
"description": "Customer's email address in merchant's system"
},
"ext_customer_id": {
"type": "string",
"description": "Customer's identifier in the merchant's system"
}
}
},
"Partner": {
"type": "object",
"required": [
"grant_type",
"client_id",
"client_secret",
"firm_id"
],
"description": "only usable with special Technical Partner priviliges that allow management of Firms, URLs, Shops and POSes created and managed by Partner",
"properties": {
"grant_type": {
"type": "string",
"example": "partner",
"enum": [
"partner"
],
"description": "Authorization mode"
},
"client_id": {
"type": "string",
"example": "145227",
"description": "Partners client_id"
},
"client_secret": {
"type": "string",
"example": "12f071174cb7eb79d4aac5bc2f07563f",
"description": "Partners client_secret"
},
"firm_id": {
"type": "string",
"example": "p3BiPgVO",
"description": "publicFirmId created by Partner that will be managed"
}
}
},
"blikTokens": {
"type": "array",
"description": "Section containing saved BLIK tokens",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "BLIK token value."
},
"type": {
"type": "string",
"enum": [
"UID",
"PAYID"
],
"description": "Type of the token. Either UID for normal transactions or PAYID for recurring payments."
},
"brandImageUrl": {
"type": "string",
"example": "https://static.payu.com/images/mobile/logos/pbl_blik.png"
},
"bankApplicationReferences": {
"type": "array",
"description": "Array containing objects about available installments options.",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Unique key for assignment of particular banking application to a token. The value of this field is inserted in the order in payMethod.blikData.appKey field.",
"example": 11111
},
"label": {
"type": "string",
"description": "The value of the label for assigning a particular banking application to a token. A list of values for these fields is presented to the customer for selection when paying with the UID token.",
"example": "BLIK label"
}
}
}
},
"recurring": {
"type": "object",
"description": "Contains information about the recurring payment.",
"properties": {
"aliasLabel": {
"type": "string",
"description": "BLIK recurring payment title."
},
"type": {
"type": "string",
"description": "Type of the recurring payment.",
"enum": [
"O"
]
},
"initializationDate": {
"type": "string",
"description": "Date of the first transaction in the recurring payment cycle without the customer confirmation.",
"example": "2026-10-01T00:00:00+02:00",
"format": "yyyy-MM-dd'T'HH:mm:ssXXX"
},
"expirationDate": {
"type": "string",
"description": "Expiration date of the PAYID token. Maximum date is 10 years from the creation date of the token. If the value is not provided, token will be valid indifinitely.",
"example": "2026-10-01T00:00:00+02:00",
"format": "yyyy-MM-dd'T'HH:mm:ssXXX"
}
}
}
}
}
},
"cardTokens": {
"type": "array",
"description": "Section containing saved card tokens",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"example": "TOKC_XATB7DF8ACXYTVQIPLWTVPFRKQE"
},
"brandImageUrl": {
"type": "string",
"example": "https://static.payu.com/images/mobile/visa.png"
},
"preferred": {
"type": "boolean",
"example": true
},
"status": {
"type": "string",
"enum": [
"NEW",
"ACTIVE",
"EXPIRED"
],
"example": "ACTIVE"
},
"cardExpirationYear": {
"type": "integer",
"example": 2026
},
"cardExpirationMonth": {
"type": "integer",
"example": 7
},
"cardNumberMasked": {
"type": "string",
"example": "411111******1111"
},
"cardScheme": {
"type": "string",
"example": "VS"
},
"cardBrand": {
"type": "string",
"example": "VISA"
}
}
}
},
"mastercardFeature": {
"type": "object",
"description": "Click to Pay Mastercard feature.",
"title": "mastercard",
"properties": {
"status": {
"enum": [
"ENABLED",
"DISABLED"
],
"type": "string",
"description": "Status of the Click to Pay feature for Mastercard.",
"example": "ENABLED"
},
"dpaId": {
"type": "string",
"description": "Merchant ID in Mastercard Click to Pay.",
"example": "jI8iGo86"
}
}
},
"visaFeature": {
"type": "object",
"description": "Click to Pay feature.",
"title": "visa",
"properties": {
"status": {
"Enum": [
"ENABLED",
"DISABLED"
],
"type": "string",
"description": "Status of the Click to Pay feature for Visa.",
"example": "ENABLED"
},
"dpaId": {
"type": "string",
"description": "Merchant ID in Visa Click to Pay.",
"example": "jI8iGo86"
},
"acquirerBIN": {
"type": "string",
"description": "Acquirer Bank Identification Number for Click to Pay transactions.",
"example": 123456
},
"acquirerMerchantId": {
"type": "string",
"description": "Acquirer Merchant ID for Click to Pay transactions.",
"example": "MARCH01"
}
}
},
"clickToPayFeature": {
"type": "object",
"description": "Click to Pay feature.",
"title": "clickToPay",
"properties": {
"brandImageUrl": {
"type": "string",
"description": "URL of the Click to Pay brand image.",
"example": "https://static.payu.com/images/mobile/logos/pbl_cpt_on.png"
},
"mastercard": {
"$ref": "#/components/schemas/mastercardFeature"
},
"visa": {
"$ref": "#/components/schemas/visaFeature"
}
}
},
"payByLinks": {
"type": "array",
"description": "Section containing available PayByLink payment methods",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"example": "sgb",
"description": "<code>payType</code> value. You can find available values <b><a href=\"/europe/docs/get-started/introduction/#paymethods\" target=\"_blank\">here</a></b>."
},
"brandImageUrl": {
"type": "string",
"example": "https://static.payu.com/images/mobile/logos/pbl_sgb_off.png",
"description": "Link to <code><payType</code> logo graphic on PayU server."
},
"name": {
"type": "string",
"example": "SGB Bank",
"description": "Name of <code>payType</code> set by PayU"
},
"status": {
"type": "string",
"enum": [
"ENABLED",
"DISABLED",
"TEMPORARY_DISABLED"
],
"example": "DISABLED"
},
"minAmount": {
"type": "number",
"example": 50
},
"maxAmount": {
"type": "number",
"example": 99999999
},
"features": {
"type": "object",
"description": "List of features available.",
"properties": {
"clickToPay": {
"$ref": "#/components/schemas/clickToPayFeature"
}
}
}
}
}
},
"donation": {
"type": "object",
"description": "Section containing data of donation added to the order.",
"properties": {
"amount": {
"type": "integer",
"description": "Donation amount in pennies.",
"example": 500
},
"organizationId": {
"type": "string",
"description": "Charity identifier provided by PayU."
}
}
},
"delivery": {
"type": "object",
"description": "Section containing delivery address. For a list of parameters, see section delivery",
"properties": {
"street": {
"type": "string",
"description": "Full street address, incl. apartment number. <b>Section recommended for the 3DS 2 authentication</b>.",
"maxLength": 255
},
"postalBox": {
"type": "string",
"description": "Postal box",
"maxLength": 255
},
"postalCode": {
"type": "string",
"description": "Postal code. <b>Section recommended for the 3DS 2 authentication</b>.",
"maxLength": 255
},
"city": {
"type": "string",
"description": "City, <b>section recommended for the 3DS 2 authentication</b>.",
"maxLength": 255
},
"state": {
"type": "string",
"description": "Country principal subdivision like \"state\" or \"province\". If provided, must be a valid ISO 3166-2 code (e.g. \"UT\" for Utah in the USA or \"30\" for \"Wielkopolskie\" in Poland). <b>Section recommended for the 3DS 2 authentication</b>.",
"example": "30",
"maxLength": 255
},
"countryCode": {
"type": "string",
"description": "Two-letter country code compliant with <b><a href=\"https://www.iso.org/iso-3166-country-codes.html\">ISO-3166</a></b>. <b>Section recommended for the 3DS 2 authentication</b>."
},
"name": {
"type": "string",
"description": "Address description",
"maxLength": 255
},
"recipientName": {
"type": "string",
"description": "Recipient name",
"maxLength": 255
},
"recipientEmail": {
"type": "string",
"description": "Ecipient email"
},
"recipientPhone": {
"type": "string",
"description": "Recipient phone number"
}
}
},
"buyer": {
"type": "object",
"description": "Section containing buyer data.",
"properties": {
"extCustomerId": {
"type": "string",
"description": "ID of the customer used in merchant system",
"minLength": 1,
"maxLength": 255
},
"email": {
"type": "string",
"description": "Buyer's email address. **Required for Installments (PL), Pay Later (PL), Pay Later with Twisto (CZ), 3DS 2 authentication.**",
"example": "[email protected]",
"minLength": 1,
"maxLength": 255
},
"phone": {
"type": "string",
"description": "Buyer's telephone number. Please use +[country code] [number] format. **Required for Pay Later with Twisto (CZ), 3DS 2 authentication.**",
"example": "+48 225108001",
"minLength": 1,
"maxLength": 255
},
"firstName": {
"type": "string",
"description": "Buyer's first name. </br>**Required for Pay Later with Twisto (CZ) and AFT card authorization (Account Funding Transaction)** </br></br>**In case of AFT card authorization you have to use ISO/IEC 8859-1 encoding**.",
"example": "John",
"minLength": 1,
"maxLength": 100
},
"lastName": {
"type": "string",
"description": "Buyer's last name. </br>**Required for Pay Later with Twisto (CZ) and AFT card authorization (Account Funding Transaction)**</br></br>**In case of AFT card authorization you have to use ISO/IEC 8859-1 encoding**.",
"example": "Doe",
"minLength": 1,
"maxLength": 100
},
"nin": {
"type": "string",
"description": "National Identification Number",
"example": 123456789
},
"language": {
"type": "string",
"description": "Language code, ISO-639-1 compliant. Denotes the language version of PayU hosted payment page and of e-mail messages sent from PayU to the payer.",
"example": "pl"
},
"birthDate": {
"type": "string",
"description": "Buyer's date of birth. **Required for AFT card authorization (Account Funding Transaction)**.",
"format": "ISO 8601",
"example": "2006-12-03T00:00:00.000+01:00"
},
"delivery": {
"description": "**Section recommended for the 3DS 2 authentication.**",
"$ref": "#/components/schemas/delivery"
}
}
},
"shippingMethods": {
"type": "array",
"description": "Array of objects related to shipping method.",
"items": {
"type": "object",
"required": [
"country",
"price",
"name"
],
"properties": {
"country": {
"type": "string",
"description": "Two-letter shipping country code compliant with <b><a href=\"https://www.iso.org/iso-3166-country-codes.html\">ISO-3166</a></b>.",
"example": "PL"
},
"price": {
"type": "number",
"description": "Shipping price.",
"example": 250
},
"name": {
"type": "string",
"description": "Shipping method name",
"example": "Postal package"
}
}
}
},
"products": {
"type": "array",
"description": "Section containing data of the ordered products. Section <code>products</code> is an array of objects of type product.",
"items": {
"type": "object",
"required": [
"name",
"unitPrice",
"quantity"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the product.",
"example": "My product",
"maxLength": 255
},
"unitPrice": {
"type": "string",
"description": "Unit price.",
"example": 999
},
"quantity": {
"type": "string",
"description": "Quantity of given product",
"example": 4
},
"virtual": {
"type": "boolean",
"description": "Product type, which can be virtual or material. **Even if sent, the virtual parameter is not returned in PAYU notifications.**",
"example": true
}
}
}
},
"shoppingCarts": {
"type": "array",
"description": "Array of objects related to transaction identification.",
"items": {
"type": "object",
"required": [
"extCustomerId",
"amount",
"products"
],
"properties": {
"extCustomerId": {
"type": "string",
"description": "Submerchant identifier",
"example": "ext-customer-1",
"maxLength": 1024
},
"amount": {
"type": "number",
"description": "Total amount for given submerchant",
"example": 24950
},
"fee": {
"type": "string",
"description": "Marketplace fee. Value should be in range <0, amount>",
"example": 250
},
"shippingMethods": {
"$ref": "#/components/schemas/shippingMethods"
},
"products": {
"$ref": "#/components/schemas/products"
}
}
}
},
"clickToPayVisa": {
"type": "object",
"title": "visa",
"description": "Click to Pay data for Visa.",
"required": [
"srcCorrelationId"
],
"properties": {
"srcCorrelationId": {
"type": "string",
"description": "A transaction identifier.",
"example": "123e4567-e89b-12d3-a456-426614174000"
}
}
},
"clickToPayMastercard": {
"type": "object",
"title": "mastercard",
"description": "Click to Pay data for Mastercard.",
"required": [
"srcCorrelationId",
"srcDigitalCardId"
],
"properties": {
"srcCorrelationId": {
"type": "string",
"description": "A transaction identifier.",
"example": "123e4567-e89b-12d3-a456-426614174000"
},
"srcDigitalCardId": {
"type": "string",
"description": "A srcDigitalCardId is a unique identifier that represents the token associated with a card enrolled in Mastercard Checkout Solutions (MCS)",
"example": "DCID-111"
}
}
},
"clickToPay": {
"type": "object",
"description": "ClickToPay details. When this node is used, set `type` to `PBL` and `value` to `c`. Provide exactly one option: `visa` or `mastercard` (not both).",
"oneOf": [
{
"title": "Visa",
"type": "object",
"required": [
"visa"
],
"properties": {
"visa": {
"$ref": "#/components/schemas/clickToPayVisa"
}
}
},
{
"title": "Mastercard",
"type": "object",
"required": [
"mastercard"
],
"properties": {
"mastercard": {
"$ref": "#/components/schemas/clickToPayMastercard"
}
}
}
]
},
"cardPlainData": {
"type": "object",
"description": "",
"required": [],
"properties": {
"number": {
"type": "string",
"description": "",
"example": "5100052384536818"
},
"expirationMonth": {
"type": "string",
"description": "",
"example": "02"
},
"expirationYear": {
"type": "string",
"description": "",
"example": "29"
},
"cvv": {
"type": "string",
"description": "",
"example": "123"
},
"firstTransactionId": {
"type": "string",
"description": "",
"example": "MCC0111LL1121"
}
}
},
"specificData": {
"type": "array",
"description": "Additional data for some Visa Checkout integrations.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"blikData": {
"type": "object",
"description": "Additional data for BLIK payment with T6 or token.",
"properties": {
"aliasLabelProposal": {
"type": "string",
"description": "Label proposal associated with given mobile application. This field can be used only during token registration.</br><b>Required for the BLIK Recurring</b>."
},
"registerTokenValue": {
"type": "string",
"description": "UID/PAYID token value assigned by the merchant. This field can be used only during token registration."
},
"register": {
"type": "boolean",
"description": "Set to `true` specifies that an alias registration request will be sent. Set to false will result in payment with a T6 authorization code without token registration."
},
"appKey": {
"type": "string",
"description": "The identifier of the customer's chosen bank mobile application within which the transaction authorization will take place."
},
"recommendedAuthLevel": {
"type": "string",
"description": "The proposed level of transaction authorisation. A value of `NO_CONFIRMATION` means no need for transaction confirmation. In case of recurring payments, the value of `NO_CONFIRMATION` means that the merchant is aware of potential fraud risk, accepts it and takes full responsibility for potential fraudulent transactions.",
"enum": [
"NO_CONFIRMATION",
"REQUIRED_CONFIRMATION"
]
},
"countryCode": {
"type": "string",
"enum": [
"PL",
"SK"
],
"example": "PL",
"description": "Indicates the market where the BLIK payment will be initiated. If the field is not provided, the default value will be **PL**."
},
"recurring": {
"type": "object",
"description": "Contains information about the recurring pa
# --- truncated at 32 KB (155 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/payu/refs/heads/main/json-schema/payu-europe-rest-api.json