Skip to main content

Referral Program

The Referral Program is designed for businesses seeking to collaborate with PayU. This program is particularly relevant for various types of e-commerce platforms and web developers who are involved in integrating payment services for their clients.

If you're interested in the program and would like to gain insights into compensation, business terms, and the process of becoming a participant, feel free to get in touch with us at partnerzy@payu.pl.

partner program logo

Here, you'll discover instructions on registering a merchant in a way that allows us to identify that the referral came from you and subsequently provide compensation.

Notes

Registration link is the easiest way to register the referred merchants in the PayU system. Please be aware that at present, only merchants interested in conducting business in Poland can be registered through the provided link.

You have the option to share the link with potential merchants either through email or by embedding it on your website. This link can be utilized multiple times, and anyone who clicks on it will be directed to the PayU registration procedure. Any business that successfully completes the registration process will be marked as having been referred by you.

Sample Registration Link
https://secure.payu.com/boarding/#/form?lang=pl&nsf=false&partnerId=someid
Parameters that can be used in the Registration Link
ParameterRequiredDescription
nsf
No
If this value is present and set to true, the merchant will be registered without accepting online agreement in the process. This option can be used if your merchants are not subject to the standard PayU merchant agreement.
partnerId
Yes
Your Partner ID provided by PayU.
lang
No
If not present, the default value will be used. Possible values:
  • en (English, default),
  • pl (Polish).

Terms and Conditions

Notes

Terms and Conditions of the Referral Program valid from 1st Apr 2017 are available for download.

You can find previous version of the Terms and Conditions here.

Program Branding

Graphic materials for download:

Standard

Alternate

Registration via API

Notes

Merchant Registration API can be used to register merchants in the PayU system directly from your website.

The Merchant Registration API enables participants of the Referral Program (referred to as "partners") to establish merchant entities within the PayU system. This API is tailored for payment service integrators and operators of Software as a Service (SaaS) platforms.

Merchant Registration API assumes that despite automated merchant creation facilitated by the partner, PayU performs the following processes:

  1. Merchant verification through KYC (Know-Your-Customer) procedure, including AML (Anti-Money-Laundering) check.
  2. Merchant agreement conclusion, usually online via the merchant panel.
  3. Merchant activation to allow payment acceptance.

For the sake of this documentation, "merchant" means a full set of entities which designate a type of customer which creates payments and receives money from payers.

In short, these entities are:

hierarchy

  1. Firm - merchant's legal entity (name, address, tax id etc.).
  2. URL - address of the online shop, charity or other paid service.
  3. Shop - payment currency, balance and payout details (incl. merchant's bank account) are defined at this level.
  4. POS (point of sale) - available payment methods are configured here. Payment orders are created at this level.

Overview

To use the Registration API, you need to register as a "partner" (i.e. sign up to the PayU referral program) and obtain your client_id and client_secret to authenticate API calls.

Notes

The registration API is available on the PayU sandbox environment.

To start quickly just use these test partner credentials before you get your production ones:

Test Partner Credentials
client_id = egmcvdo5
client_secret = 9e0cad643b2d4f0bc1fe1750b9b706ec

The full process for creating a new merchant within the PayU system is illustrated below:

alt_name

  1. Obtain OAuth access token to create new firm.
  2. Create new firm, receive public firmId.
  3. For enhanced security, obtain another, firm-specific OAuth access token to add further entities to the firm.
  4. Create new URL, receive public urlId.
  5. Create new shop, using the URL to denote shop's URL, receive public shopId.
  6. Create new POS for the shop, receive posId.
  7. Obtain POS config details and add them to your SaaS platform to create payment transactions on behalf of the merchant.
  8. Obtain OAuth 2 access token to retrieve payment methods with status.
  9. Retrieve payment methods with status. Initially, POS is configured with a disabled test payment method only and without payout schedule configured. Addition of other payment methods in enabled status means merchant activation in PayU.

Creating a Firm

Authencticating Request

You authenticate using the OAuth standard by obtaining a token with grant_type="client_credentials". This token is then used for subsequent communication with PayU servers.

For more information on how to authenticate with PayU servers, please refer to the Authentication section on the Authorize and Order page.

Creating Firm Request

Below are examples of requests containing the essential data needed to create Czech and Polish firm entities within the sandbox environment:

curl -X POST https://secure.snd.payu.com/api/v2_1/firms \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47" \
-d '{
"name": "Testowa sp. z o.o.",
"type": "SO",
"taxId": "3771910486",
"taxIdType": "NIP",
"cin": "138237420",
"bankAccount": "PL92906300080597567560803897",
"partnerId": "egmcvdo5",
"businessArea": {
"origin": "PL"
},
"users": [
{
"name": "Jan",
"surname": "Nowak",
"email": "jan.nowak@testowa.pl",
"phone": "123123123",
"role": "manager"
}
],
"representatives": [
{
"name": "Jan",
"surname": "Nowak",
"nin": "80010104578",
"countryCode": "PL"
}
],
"contactData": {
"phone": "123123123",
"email": "biuro@@testowa.pl"
},
"address": {
"street": "Grunwaldzka",
"houseNo": "186",
"apartmentNo": "1",
"postalCode": "61-166",
"city": "Poznań",
"countryCode": "PL"
}
}'

In response, you will receive firmId parameter. This parameter should be stored in your system and utilized to create additional entities for that specific firm.

firmId Parameter Retrieved in the Response
{
"firmId": "nZzFT4I5"
}

For details on parameters, please refer to the Create a firm section in our API Reference.

Authorizing Creation of firm Entities

To generate additional entities within a previously established firm, you must acquire a firm-specific access token. For this purpose, authenticate using the OAuth standard and obtain a token with grant_type="partner". Additionally, ensure that you include the firm_id parameter in the request.

For more information on how to authenticate with PayU servers, please refer to the Authentication section on the Authorize and Order page.

Notes

This authentication method should be used to create every entity that falls under Firm umbrella:

Creating URL

After creating a firm and obtaining firm-specific OAuth access token, the subsequent step involves creating a URL.

This URL should point to an actual location where the "customer journey" begins, such as an online shop or a charity website.

When creating the URL, it's essential to specify the desired payment services.

Notes

Endpoint address contains firmId in the path.

URL Creation Request Example
curl -X POST 'https://secure.snd.payu.com/api/v2_1/firms/{firmId}/urls' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47" \
-d '{
"value":"http://www.test-url.com",
"mcc": "0742",
"services":[
{
"type":"TRANSFERS"
},
{
"type":"CARD"
}
]
}'
Possible mcc Parameter Values
ValueDescription
4511
Airlines
4722
Trips & Travel agencies
4789
Transport
4812
Mobile phones
4816
Computer networks and services
4900
Electricity, water and gas supply
5047
Medical supplies
5200
Home & Garden
5262
Marketplace
5300
MLM (Multi-level marketing)
5499
Groceries
5533
Sale of vehicles and parts
5651
Clothing, shoes and accessories
5732
Consumer electronics
5812
Gastronomy
5815
E-books, digital music and film
5816
Electronic games
5912
Drugs and supplements
5941
Sports equipment
5942
Books and magazines
5944
Jewelry
5977
Cosmetics
5993
Tobacco and e-cigarettes
5999
Erotica
6050
Financial services
6300
Insurance
7011
Hotels & Accommodation
7273
Dating portals
7311
Advertising
7333
Photography and graphics
7512
Vehicle rental
7922
Events & Conferences
7995
Gambling
8099
Medical services
8299
Education & Online courses
8398
Foundations & Charities
8651
Fundraising
Notes
Default mcc

If required MCC is not present on the above list, please provide value 8999.

In response, you will obtain a urlId parameter. You should to store this parameter within your system, as it will be used for creating a Shop entity.

urlId Parameter Retrieved in Response to the Request
{
"urlId": "PItR5x0v"
}

For details on parameters, pleae refer to the Create a URL for the Partner's firm section in our API Reference.

Creating a Shop

Following the process of establishing a firm and URL creation, the next step involves creating a Shop entity.

Shop requires a reference to a previously created URL and is used to store payment account balance, therefore the most important parameter is the currencyCode.

Notes

Endpoint address contains firmId in the path.

Shop Creation Request Example
curl -X POST 'https://secure.snd.payu.com/api/v2_1/firms/{firmId}/shops' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47" \
-d '{
"name":"Shop name",
"description":"Shop description",
"currencyCode":"EUR",
"urlId":"PItR5x0v"
}'

In response, you will receive a shopId parameter. You should store this parameter in your system, as it will be utilized for creating a POS (Point of Sale) entity.

shopId Parameter Retrieved in the Response to the Request
{
"shopId": "ycmGyfCv"
}

For details on parameters, please refer to the Create a shop for the Partner section in our API Reference.

Creating a POS

The final entity you need to create is a POS (Point of Sale).

A POS is established at the shop level and inherits its currency. It houses the credentials required for authenticating payments.

Notes

Endpoint address contains shopId in the path.

POS Creation Request Example
curl -X POST https://secure.snd.payu.com/api/v2_1/shops/{shopId}/poses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47" \
-d '{
"name":"Test POS",
"type":"REST"
}'

In response, you will receive posId parameter. You should store this parameter within your system, as it will be used to retrieve POS-related data.

posId Parameter Retrieved in the Response to the Request
{
"posId": "JyoMIVTY"
}

For details on parameters, please refer to the Create POS for Partner section in our API Reference.

The request params contain POS name and type. REST is the default type and allows to integrate payments via REST API.

POS Classic Type

In rare cases when a legacy CLASSIC type needs to be used, please contact PayU technical support for further guidance.

Obtaining POS Credentials

GET Request Body

When making GET requests, please remember not to include any data in the request body, as specified in the RFC 9110 standard. Requests that do not adhere to this requirement will be rejected by PayU with an HTTP 403 status.

To retrieve POS credentials, you need to send a GET request to the /api/v2_1/poses/{posId} endpoint.

Retrieveing POS Credentials Request Example
curl -X GET 'https://secure.snd.payu.com/api/v2_1/poses/{posId}' \
-H 'Authorization: Bearer d9a4536e-62ba-4f60-8017-6053211d3f47'

In response, you will receive a full set of credentials which will allow you to authenticate payments and refunds and check payment status notifications.

Retrieving POS Credentials Response
{
"posId": "JyoMIVTY",
"type": "REST",
"name": "Test POS",
"encoding": "UTF-8",
"authorization": {
"standard": {
"merchantPosId": "385234",
"key": "9c0041e05fdee99749de4c2d2ce4c66e",
"secondKey": "f096a39d78fbe03b8d23dde43b728cfd",
"authKey": "uHcZ9Ly"
}
}
}

For details on parameters, please refer to the Retrieve Partner's POS Data section in our API Reference.

firm Type Values

Firm Types Values
TypePolish NameEnglish NameCzech Name
PP
jednoosobowa działalność gospodarcza
sole trader
podnikající fyzická osoba tuzemská
SO
spółka z ograniczoną odpowiedzialnością
limited liability company
společnost s ručením omezeným
SC
spółka cywilna
civil law partnership
občanské sdružení
SJ
spółka jawna
general partnership
komora (hospodářská, agrární)
SA
spółka akcyjna
joint-stock company
akciová společnost
FU
fundacja
foundation
nadace
SK
spółka komandytowa
limited liability partnership
společnost komanditní
ST
stowarzyszenie
association
spolek
SP
spółka partnerska
professional partnership
samosprávná stavovská organizace (profesní komora)
SD
spółka komandytowo-akcyjna
limited joint-stock partnership
společnost komanditní na akcie
PO
placówka oświaty
educational institution
školská právnická osoba
SPOL
spółdzielnia
cooperative
družstvo
KOP
kościelna osoba prawna lub jej jednostka organizacyjna
church legal person
evidované církevní právnické osoby
JST
jednostka samorządu terytorialnego
local government unit
obec, kraj, městská část, městský obvod
IB
instytut badawczy
research institute
veřejná výzkumná instituce
PPZ
przedstawicielstwo przedsiębiorstwa zagranicznego
agency of foreign company
odštěpný závod zahraniční právnické osoby
PRPA
przedsiębiorstwo państwowe
state company
státní podnik
SIK
publiczna instytucja kultury
public culture institution
veřejná kulturní instituce
FZ
zagraniczna osoba prawna
foreign legal body
zahraniční spolek

Further Actions

After obtaining POS credentials, you may consider not only using them to integrate payment services specified in REST API reference, but also non-payment API calls, like: