openapi: 3.1.0
info:
version: 2.1.0
title: PayU GPO Europe REST Authorize Payment-Methods 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: 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.
paths:
/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'
components:
schemas:
'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.
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
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
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
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'
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
payByLinks:
type: array
description: Section containing available PayByLink payment methods
items:
type: object
properties:
value:
type: string
example: sgb
description: 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'
securitySchemes:
Bearer:
type: http
scheme: bearer
Basic:
type: http
scheme: basic