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.
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.
Registration via Link
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.
https://secure.payu.com/boarding/#/form?lang=pl&nsf=false&partnerId=someid
Parameter | Required | Description |
---|---|---|
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:
|
Terms and Conditions
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:
Registration via API
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:
- Merchant verification through KYC (Know-Your-Customer) procedure, including AML (Anti-Money-Laundering) check.
- Merchant agreement conclusion, usually online via the merchant panel.
- 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:
- Firm - merchant's legal entity (name, address, tax id etc.).
- URL - address of the online shop, charity or other paid service.
- Shop - payment currency, balance and payout details (incl. merchant's bank account) are defined at this level.
- 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.
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:
client_id = egmcvdo5
client_secret = 9e0cad643b2d4f0bc1fe1750b9b706ec
The full process for creating a new merchant within the PayU system is illustrated below:
- Obtain OAuth access token to create new firm.
- Create new firm, receive public
firmId
. - For enhanced security, obtain another, firm-specific OAuth access token to add further entities to the firm.
- Create new URL, receive public
urlId
. - Create new shop, using the URL to denote shop's URL, receive public
shopId
. - Create new POS for the shop, receive
posId
. - Obtain POS config details and add them to your SaaS platform to create payment transactions on behalf of the merchant.
- Obtain OAuth 2 access token to retrieve payment methods with status.
- 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:
- Polish firm
- Czech firm
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"
}
}'
curl -X POST https://secure.snd.payu.com/api/v2_1/firms \
-H "Content-Type: application/json" \
-H "Authorization: Bearer a9a4536e-62ba-4f60-8017-6053211d3f47" \
-d '{
"name": "e-shop a.s.",
"type": "AS",
"cin": "138237420",
"taxIdType": "VAT_EU",
"bankAccount": "2000145399/0800",
"partnerId": "egmcvdo5",
"businessArea": {
"origin": "CZ"
},
"users": [
{
"name": "Jana",
"surname": "Nováková",
"email": "jana@e-shop.cz",
"role": "MANAGER"
}
],
"representatives": [
{
"name": "Jana",
"surname": "Nováková",
"countryCode": "CZ",
"birthDate": "1990-01-01"
}
],
"contactData": {
"phone": "123123123",
"email": "office@@e-shop.cz"
},
"address": {
"street": "Antala Staška",
"houseNo": "2027",
"apartmentNo": "77",
"postalCode": "140 00",
"city": "Praha",
"countryCode": "CZ"
}
}'
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": "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.
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.
Endpoint address contains firmId
in the path.
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"
}
]
}'
Value | Description |
---|---|
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 |
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": "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
.
Endpoint address contains firmId
in the path.
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": "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.
Endpoint address contains shopId
in the path.
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": "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.
In rare cases when a legacy CLASSIC type needs to be used, please contact PayU technical support for further guidance.
Obtaining POS Credentials
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.
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.
{
"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
Type | Polish Name | English Name | Czech 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:
- Available payment methods retrieval (note: payment methods are returned only after merchant has been activated).
- Available merchant account balance retrieval.
- Payout facilitation.