Mass Collect
Gdy klient zamierza zapłacić rachunek, uzyskuje dostęp do platformy internetowej przedsiębiorstwa. W ramach tego systemu wybiera PayU i dokonuje płatności za pomocą karty lub metody pay-by-link. PayU ułatwia transfer płatności na indywidualne konto skonfigurowane w systemie przedsiębiorstwa energetycznego klienta. Następnie system rozliczeniowy przedsiębiorstwa rejestruje otrzymane środki na indywidualnym koncie klienta.
Powyższy scenariusz służy jako przykład tego, kiedy włączenie usługi Mass Collect na stronie internetowej staje się opłacalne. PayU | Mass Collect umożliwia klientom inicjowanie płatności bezpośrednio na wskazane indywidualne konto powiązane z daną usługą. Rozwiązanie to jest szczególnie korzystne dla różnych sektorów, w tym firm telekomunikacyjnych, operatorów telewizji kablowej, dostawców internetu, dostawców energii, a także firm leasingowych i ubezpieczeniowych.
Konfiguracja usługi Mass Collect wymaga konfiguracji w systemie PayU. Przed rozpoczęciem integracji PayU | Mass Collect, skontaktuj się z PayU za pośrednictwem swojego opiekuna handlowego.
Tworzenie zamówienia
Zamówienie z jednym rachunkiem wypłatowym
Mass Collect oparty jest na standardowej integracji z PayU poprzez REST API. Rozszerzeniem komunikatu jest pole targetAccount
, w którym PayU otrzymuje indywidualny rachunek użytkownika na który zostaną przelane środki.
curl -v -X POST https://secure.payu.com/api/v2_1/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 0089270b-5027-42f1-8f51-8a47fe99d9cd" \
-d '{
"notifyUrl":"https://your.eshop.com/notify",
"customerIp":"127.0.0.1",
"merchantPosId":"199022",
"description":"Invoice payment ",
"additionalDescription":"1111/01/02/2017",
"currencyCode":"PLN",
"totalAmount":"15000",
"extOrderId":"tlmnkfqdjc7irodvbs4gb6",
"targetAccount":"PL23080049181648726886601824",
"products":[
{
"name":"Invoice payment",
"unitPrice":"15000",
"quantity":"1"
}
],
"buyer": {
"email": "john.doe@example.com",
"phone": "654111654",
"firstName": "John",
"lastName": "Doe"
}
}'
Szczegóły parametrów znajdziesz w sekcji Creating an Order w naszej referencji API.
Zamówienie z wieloma rachunkami wypłatowymi
W przypadku transakcji Mass Collect, w których określono wiele kont, standardowe zamówienie powinno zostać rozszerzone o dodatkowe pole targetAccounts
, które dostarczy dla PayU indywidualne konta użytkowników na które mają zostać przelane środki (maksymalna liczba indywidualnych rachunków w tablicy targetAccounts
wynosi 50).
curl -v -X POST https://secure.payu.com/api/v2_1/orders \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 0089270b-5027-42f1-8f51-8a47fe99d9cd" \
-d '{
"notifyUrl":"https://your.eshop.com/notify",
"customerIp":"127.0.0.1",
"merchantPosId":"199022",
"description":"Oplata za ",
"additionalDescription":"gaz, prad",
"currencyCode":"PLN",
"totalAmount":"15000",
"extOrderId":"dsvg82i7fl4y79lpljxjy9",
"targetAccounts":[
{
"account":"PL23080049181648726886601824",
"amount":"5000",
"description":"Rozksiegowanie wewnetrzne AAA"
},
{
"account":"PL83520640964843486631050632",
"amount":"8000",
"description":"Rozksiegowanie wewnetrzne BBB"
},
{
"account":"PL42718382961584083942417177",
"amount":"2000",
"description":"Rozksiegowanie wewnetrzne CCC"
}
],
"products":[
{
"name":"Oplata za fakture XXX",
"unitPrice":"10000",
"quantity":"1"
},
{
"name":"Oplata za fakture YYY",
"unitPrice":"5000",
"quantity":"1"
}
],
"buyer": {
"email": "john.doe@example.com",
"phone": "654111654",
"firstName": "John",
"lastName": "Doe"
}
}'
Szczegóły parametrów znajdziesz w sekcji Creating an Order w naszej referencji API.
- kwota zamówienia (
totalAmount
) jest równa sumie kwot wskazanych dla poszczególnych rachunków, - wszystkie podane rachunki są rachunkami dozwolonymi, tzn., zostały zdefiniowane na liście zaufanych rachunków po stronie PayU,
- na liście
targetAccounts
nie przekroczono maksymalnej liczby rachunków (50), - liczba rachunków nie musi być równa liczbie produków z sekcji
products
; opcja taka pozwala na agregowanie wpłat za poszczególne produkty lub dowolne dzielenie opłaty uiszczonej przez użytkownika na subkonta wewnętrzne jak również rachunki zewnętrzne.
Wypłaty otrzymają tytuły, zgodne z ustawionym szablonem. Szczegóły zawarto w punkcie Tytuły wypłat. Dodatkowo zostanie dodany atrybut targetAccounts.description
do szablonu definiującego tytuł wypłaty.
description(<40characters),targetAccounts.description(<40characters),buyer's details(<40characters)
Tytuły operacji przychodzących (wpłat na podane w zamówieniu rachunki bankowe) dla powyższego przykładowego zamówienia przedstawiają się następująco:
- Oplata za gaz, prad,Rozksiegowanie wewnetrzne AAA,Jan Nowak ul.Polna 1 61-051 Opole
- Oplata za gaz, prad,Rozksiegowanie wewnetrzne BBB,Jan Nowak ul.Polna 1 61-051 Opole
- Oplata za gaz, prad,Rozksiegowanie wewnetrzne CCC,Jan Nowak ul.Polna 1 61-051 Opole
Należy zauważyć, że w tym przykładzie podano trzy różne rachunki bankowe, będą to zatem trzy odzielne zestawienia bankowe.
Testowanie usługi Mass Collect
Możesz przetestować usługę Mass Collect na środowisku sandbox, korzystając z dedykowanego punktu płatności:
Id punktu płatności (pos_id): 478674
Drugi klucz (MD5): eaab0d1f51b99f77e4ebc6fe368c252e
Protokół OAuth - client_id : 478674
Protokół OAuth - client_secret: 3152a46e0d28ff0e3fa528c0fba48550
Kody błędów
Kod statusu | Kod | CodeLiteral | Opis |
---|---|---|---|
ERROR_VALUE_MISSING | MISSING_TARGET_ACCOUNT | 8093 | targetAccount jest wymagane dla POS ze skonfigurowaną funkcją Mass Collect. |
ERROR_VALUE_INVALID | TARGET_ACCOUNT_NOT_ON_WHITELIST | 8308 | Brak numeru rachunku na liście rachunków dozwolonych (whitelist). |
ERROR_VALUE_INVALID | TOO_MANY_ITEMS_IN_TARGET_ACCOUNTS | 8312 | Zbyt wiele obiektów w tablicy targetAccounts . |
Tytuły wypłat
PayU może nadać tytuł wypłaty na podstawie danych otrzymanych w zamówieniu i/lub danych uzyskanych z banku.
Przykładowe tytuły wypłat:
- szybkie przelewy pay-by-link
- Karty i BLIK
- Oplata za fakture 1111/01/02/2017,Jan Nowak
- Oplata za fakture 1111/01/02/2017,Oliwia Nowak ul. Ptasia 89 Opole
- Oplata za fakture 1111/01/02/2017
Należy zaznaczyć, że faktyczny zakres danych zależy od wybranego w procesie płatnościowym banku. Zależnie od banku wypłatowego PayU oraz wpłatowego odbiorcy znaki specjalne mogą zostać zastąpione w różny sposób.
Powyższe tytuły zostały nadane w oparciu o zdefiniowany po stronie PayU szablon: opis (60 znaków), separator (przecinek), dane Płatnika (60 znaków). Poniżej zawarto szczegóły dotyczące tego przykładu:
Order.description
(przycięte do 50 znaków) +Order.additionalDescription
(przycięte do 50 znaków), następnie tak złączony ciąg zostanie przycięty do 60 znaków,- przecinek,
- imię i nazwisko płacącego uzyskane z banku (czasami w tych danych jest również adres), przycięte do 60 znaków. Niewypełnione dla kart i płatności blik.
Atrybut | Źródło |
---|---|
opis | komunikat zamówienia |
imię i nazwisko płatnika | bank |
adres płatnika | bank |
numer rachunku płatnika | bank |
identyfikator transakcji | transaction |
opis wypłaty dla danego konta | pole targetAccounts.description w komunikacie zamówienia |
Skontaktuj się z PayU w celu konfiguracji tytułu wypłat.