Mass Collect

1 O produkcie PayU ǀ Mass Collect

PayU ǀ Mass Collect, a więc płatności masowe, to usługa polegająca na przyjmowaniu masowych wpłat od Twoich klientów. Umożliwia ona dokonanie szybkiej wpłaty online na indywidualne subkonto w banku za pośrednictwem eSerwisu. Jeśli jesteś zatem masowym wystawcą faktur i dostarczasz usługi np. telekomunikacyjne, energetyczne jesteś operatorem telewizji kablowej bądź też przedsiębiorstwem leasingowym czy ubezpieczeniowym - ten produkt jest właśnie dla Ciebie! Dzięki niemu:
  • Obniżasz koszty związane z weryfikacją i obsługą błędnych wpłat oraz reklamacji
  • Oszczędzasz czas dzięki automatycznemu rozliczaniu przychodzących płatności
  • Podwyższasz standard Twojej obsługi klienta
Twoi Klienci mają możliwość dokonania wpłaty zgodnie ze swoimi preferencjami, łatwo i bezpiecznie zarządzają swoimi płatnościami (mają dostęp do historii i statusu transakcji).

1.1 Integracja usługi

Order z jednym rachunkiem wypłatowym

Mass Collect oparty jest na standardowej integracji z PayU poprzez REST API opisanej na: Tworzenie nowego zamówienia Rozszerzeniem jest pole targetAccount dodane do komunikatu OrderCreateRequest, w którym PayU otrzymuje indywidualny rachunek użytkownika na który zostaną przelane środki.

Przykład zamówienia z podstawowymi danymi kupującego, identyfikatorem zewnetrznym (extOrderId) oraz rachunkiem docelowym (targetAccount):

                    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 fakture ",
                          "additionalDescription":"1111/01/02/2017",
                          "currencyCode":"PLN",
                          "totalAmount":"15000",
                          "extOrderId":"[generateExtOrderId]",
                          "targetAccount":"PL23080049181648726886601824",
                          "products":[
                             {
                                "name":"Oplata za fakture",
                                "unitPrice":"15000",
                                "quantity":"1"
                             }
                          ],
                          "buyer": {
                             "email": "john.doe@example.com",
                             "phone": "654111654",
                             "firstName": "John",
                             "lastName": "Doe"
                          }
                        }'
                

Metody uwierzytelnienia znajdują się w: Uwierzytelnienie użytkownika API.

Order z wieloma rachunkami wypłatowymi

Mass Collect oparty jest na standardowej integracji z PayU poprzez REST API opisanej na: Tworzenie nowego zamówienia. Rozszerzeniem jest lista targetAccounts dodawana do komunikatu OrderCreateRequest, w którym PayU otrzymuje indywidualne rachunki użytkownika na które zostaną przelane środki.

Przykład zamówienia z podstawowymi danymi kupującego, identyfikatorem zewnetrznym (extOrderId) oraz trzema rachunkami docelowymi (targetAccounts):

                    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":"[generateExtOrderId]",
                          "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"
                        }
                    }'
                
Walidacja poprawności danych:
  • kwota zamówienia (totalAmount) jest równa sumie kwot wskazanych dla poszczególnych rachunków,
  • wszystkie podane rachunki są rachunkami dozwolonymi, tzn., że zostały zdefiniowane na white liście rachunków po stronie PayU,
  • na liście targetAccounts podano maksymalnie trzy rachunki,
  • 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. Dzięki niemu każdy z tytułów może otrzymać indywidualną nazwę. Tytuły operacji przychodzących (wpłat na podane w Orderze rachunki bankowe) dla powyższej podanego Ordera, dla szablonu:
  opis(40znaków),targetAccounts.description(40znaków),dane płacącego(40znaków)
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.

Metody uwierzytelnienia znajdują się w: Uwierzytelnienie użytkownika API.

Specific error codes:

StatusCode Code CodeLiteral Opis
ERROR_VALUE_INVALID TARGET_ACCOUNT_NOT_ON_WHITELIST 8308 Brak numeru rachunku na liście rachunków dozwolonych (whitelist).

Tytuły wypłat

PayU może nadać tytuł wypłaty na podstawie danych otrzymanych w Orderze i/lub danych uzyskanych z banku.

Przykładowe tytuły wypłat dla pay-by-linków:
  • Oplata za fakture 1111/01/02/2017,Jan Nowak
  • Oplata za fakture 1111/01/02/2017,Oliwia Nowak ul. Ptasia 89 Opole
Przykładowy tytuł wypłaty dla kart oraz płatności blik:
  • 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.
Lista dostępnych atrybutów, które można ustawić w szablonie definijącym tytuł wypłaty:
  • opis (źródło danych: Order),
  • imię i nazwisko płatnika (źródło danych: Bank),
  • adres płatnika (źródło danych: Bank),
  • numer rachunku płatnika (źródło danych: Bank),
  • identyfikator transakcji (źródło danych: transakcja).

W celu konfiguracji tytułu wypłaty prosimy o kontakt z PayU.

Konfiguracja po stronie PayU

Usługa Mass Collect wymaga konfiguracji po stronie PayU. Dlatego rozpoczynając integrację prosimy o kontakt z PayU poprzez Państwa Opiekuna handlowego.