Skip to main content

Introduction

This page provides essential information regarding PayU payments. It covers a range of topics, including the available payment methods, supported languages and currencies. In addition to that, it will also direct you towards relevant resources which will help you with seamless integration. Additionally, provided below are some guiding questions that can assist you in determining the most suitable payment solution tailored to your specific needs.

Our suite of APIs provides a comprehensive range of functionalities that empower you to create, settle, cancel and retrieve orders. Additionally, it facilitates seamless transactions for payouts and offers capabilities beyond these basic features.

To simplify integration, you can use one of our plugins. You can also use utilize our PHP SDK or Mobile SDK. In addition, many shopping platforms offer built-in integration with PayU. If the platform you're using is one of them, follow the instructions on their site to quickly set up payments via PayU.

To improve convenience for your customers, we provide support for a diverse selection of currencies, allowing you to accept payments in various currencies beyond your store's native one. Moreover, we offer support for multiple languages to accommodate different customer backgrounds, ensuring smooth and effective communication.

Choosing Solutions

Before you start, it is important to choose the right solutions for your needs, as there are several options available. The service you need to integrate and the configuration of your account may depend on the following:

Will you fullfil each order paid via PayU?

If no, you should disable "automatic collection" on your POS and make separate API-calls to capture an order or cancel and refund it aferwards.

Are you selling more expensive goods or services?

If yes, boost your sales with PayU | Installments.

Will you process a lot of refunds?

If yes, you definitely should consider implementing API calls to facilitate refunds programatically, instead of performing them via the Panel.

Would you like to enable the payers to choose a payment method on your website?

If yes, build your own checkout page with our payment methods.

Will you create user accounts for your customers?

If yes, implement Card Tokenization service and PayU will securely store card data, so your returning customers do not have to provide them each time and will be able to pay with a single click.

Will you charge your customers on a recurring basis (e.g. monthly)?

If yes, use the Recurring Payments service.

Are you a billing your customers by issuing an invoice connected with a specific bank account?

If yes, use the Mass Collect service.

Will you need to collect funds from customers and later distribute them to your subcontractors?

If yes, use the Payout API to streamline funding of your business partners.

Environments

We provide two work environments: production and test (Sandbox).

Your organization will use a production environment where all of your customers' payments will be processed on a daily basis. This entire section is dedicated to getting you started on this environment.

On the other hand, the Sandbox is an exact replica of the production environment that allows you to test your integration and explore all of the PayU features without any actual financial transaction taking place. For detailed information about how to use the Sandbox and perform testing, please refer to our Testing section.

Notes

The Production and Sandbox environments are completely separate entities and are not interconnected in any way. If you wish to utilize both of these environments, you will need to create distinct accounts on each of them.

Payment Methods

For the complete list of PayU GPO Europe payment methods, visit the section dedicated to the Payment Methods.

Currencies

In PayU, you have the flexibility to set two types of currency for a single shop:

  1. Transaction Currency: This currency is used for payment transactions and determines the currency in which the payer can make payments. The transaction currency also influences the availability of payment methods:
  • Card payments are available in any currency.
  • Other methods, such as bank transfers, are only available in CZK, EUR, and PLN.
  1. Billing Currency: This currency is used for transferring funds to your account. By default, PayU settles with you in the same currency in which the transaction was processed, maintaining a 1:1 exchange rate.

It's important to note that depending on the selected settlement currency, there might be additional fees and restrictions on the payout frequency.

Below is a table displaying the list of transaction currencies that PayU can settle with on a 1:1 basis.

Currencies
CodeName
CHF
Swiss franc
CZK
Czech koruna
DKK
Danish krone
EUR
Euro
GBP
Pound sterling
HUF
Hungarian forint
NOK
Norwegian krone
PLN
Polish złoty
RON
Romanian leu
SEK
Swedish krona
USD
US dollar

Languages

The following table presents the list of languages that can be used as the language parameter in the buyer object.

The table outlines the language support for:

  • Paywall: Refers to a page hosted by PayU where the payer can select from all the payment methods configured on your POS (Point of Sale).
  • Card form: Indicates the language support for the card payment form hosted on the PayU payment page.
  • Email: Specifies the language support for emails containing payment-related information sent to the payer.
Available languages
CodeLanguagePaywallPaywall Card FormEmailWidget
pl
Polish
Yes
Yes
Yes
Yes
en
English
Yes
Yes
Yes
Yes
cs
Czech
Yes
Yes
Yes
Yes
bg
Bulgarian
No
Yes
Yes
Yes
da
Danish
No
Yes
Yes
Yes
de
German
Yes
Yes
Yes
Yes
el
Greek
No
Yes
Yes
No
es
Spanish
Yes
Yes
Yes
Yes
et
Estonian
No
Yes
No
Yes
fi
Finnish
No
Yes
No
No
fr
French
No
Yes
Yes
Yes
hr
Croatian
No
Yes
Yes
No
hu
Hungarian
No
Yes
Yes
Yes
it
Italian
Yes
Yes
Yes
Yes
lt
Lithuanian
No
Yes
Yes
No
lv
Latvian
No
Yes
Yes
No
nl
Dutch
Yes
Yes
Yes
No
pt
Portuguese
No
Yes
No
No
ro
Romanian
No
Yes
Yes
Yes
ru
Russian
No
Yes
No
No
sk
Slovak
Yes
Yes
Yes
Yes
sl
Slovenian
No
Yes
No
No
sr
Serbian
No
Yes
No
No
sv
Swedish
No
Yes
Yes
No
tr
Turkish
No
Yes
Yes
No
uk
Ukrainian
No
Yes
Yes
No

Transmission Encryption

Since 30 June 2018 PayU supports only TLS 1.2 protocol.

Lack of support for older protocols is for security reasons. The TLS 1.2 protocol is the best transmission encryption method compliant with the highest security standard PCI DSS 3.2.

The change applies to all transmission via HTTPS, therefore it includes all REST API and Classic API endpoints.

Majority of e-commerce solutions and hosting providers make sure that their software is up-to-date. Therefore, if your site is using such a provider, most probably you have nothing to worry about. You can contact your service providers and ask whether they have updated their software.

SNI (Server Name Indication).

Starting from December 9, 2023, to establish a TLS connection successfully with PayU servers, the Server Name Indication (SNI) extension will be required.

The SNI extension was proposed in 2003 (rfc3546) and is currently a widely adopted standard. SNI has been supported by web browsers for many years and is also backed by libraries in leading programming languages.

If your site is a custom-built solution, make sure that it uses the latest version of the protocol. The following information could be useful.

JAVA

Java 1.5 and below does not support TLS 1.2 In Java 1.6, TLS 1.2 is not supported in Oracle public updates. It is supported in the business edition starting Oracle java version 6u115 b32.

In Java 1.7, TLS1.2 is supported. But it needs to be explicitly enabled by selecting the enabled protocols while creating the SSLSocket & SSLEngine instances.

Please refer to: Oracle blog for more details.

cURL

Curl supports TLS1.2 starting 7.34.0. Please use the following command to test the connection.

Classic API

You may use any PayU endpoint. If you need help with Classic API integration contact our support.

If it works, you'll see Unauthorized message.

cURL+PHP

    php -r '$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "https://secure.payu.com/api/v2_1/orders");
curl_setopt ($ch, CURLOPT_SSLVERSION, 6);
var_dump(curl_exec($ch));
var_dump(curl_error($ch));'

If it works, you'll see "Unauthorized" message. TLS 1.1 and TLS 1.2 are supported since OpenSSL 1.0.1. Forcing TLS 1.1 and 1.2 are only supported since curl 7.34.0.