Przejdź do głównej zawartości

Płatność przy odbiorze

Płatność przy odbiorze (COD) to popularna metoda płatności dla kupujących, którzy wolą nie płacić online lub nie mogą tego zrobić. Zamiast tego płacą kurierowi przy dostawie towarów, gotówką lub kartą.

Możesz przetwarzać takie zakupy za pośrednictwem PayU, aby usprawnić realizację płatności online oraz uniknąć zawiłości związanych z obsługą przelewów od firmy kurierskiej. W tym celu musisz nawiązać współpracę z firmą kurierską odpowiedzialną za pobieranie płatności przy odbiorze i przekazywanie środków do PayU. Aspekty prawne i operacyjne tego partnerstwa powinny być rozpatrywane indywidualnie i nie zostały tutaj omówione.

Oprócz kilku dodatkowych wymagań dotyczących tworzenia zamówień i obsługi zwrotów, musisz na bieżąco dostarczać analityczne raporty do PayU, zawierające wszystkie zamówienia opłacone kurierowi. Te raporty będą następnie porównywane z przelewwami dokonywanymi przez firmę kurierską bezpośrednio do PayU. Po otrzymaniu zarówno środków, jak i odpowiadającego im raportu, wszystkie zamówienia będą automatycznie realizowane, zgłaszane i gotowe do wypłaty, tak jak w przypadku każdej innej metody płatności.

Poniżej znajdziesz uproszczony diagram przedstawiający kroki wymagane do przechwycenia transakcji płatności przy odbiorze. Zauważ, że w procesie uczestniczą trzy strony: Ty (sprzedawca), firma kurierska i PayU.

Notatka

Współpraca między sprzedawcą a firmą kurierską (kroki 3 i 4) zależy od dwustronnego porozumienia i integracji między tymi dwiema stronami.


Raport i przelew środków są wysyłane zbiorczo, a nie dla pojedynczego zamówienia.

Po zrealizowaniu zamówienia może ono zostać wypłacone lub zwrócone. Poniżej znajduje się szczegółowy opis sposobu zainicjowania zamówienia COD, przygotowania i przesłania raportu oraz przetworzenia zwrotu.

Tworzenie zamówienia płatności przy odbiorze

Płatność przy odbiorze jest odrębnym typem płatności i musi być wyraźnie określona podczas tworzenia zamówienia. Oznacza to, że metoda płatności, wraz ze wszystkimi wymaganymi szczegółami, musi zostać wybrana na stronie realiacji zamówienia.

Brak dostępności na stronie płatności

Płatność przy odbiorze nie jest dostępna na stronie płatności PayU.

Dodatkowe szczegóły wymagane dla zamówień płatności przy odbiorze obejmują adres dostawy (obiekt delivery) i obiekt metody wysyłki (obiekt shippingMethods). Zarówno nazwa dostawy, jak i nazwa metody wysyłki są wartościami w formacie string (nie są sztywno określone w predefiniowanym zestawie wartości - enum), ale powinny być wcześniej uzgodnione z PayU. Poniżej znajdują się przykłady pokazujące tylko dodatkowe pola (zarówno dla integracji standardowej, jak i marketplace).

Przykład potrzebnych sekcji
{
// inne pola wymagane do utworzenia zamówienia zostały pominięte dla zwięzłości
"payMethods": {
"payMethod": {
"type": "PBL",
"value": "cod"
}
},
"deviceFingerprint": "hash",
"buyer": {
// inne pola zostału pominięte
"delivery": {
"street": "123 Main Street",
"postalCode": "00000",
"city": "Anytown",
"name": "Nazwa firmy kurierskiej",
"countryCode": "RO", // poprawny kod ISO 3166-1
"recipientName": "Imię Nazwisko",
"recipientEmail": "some@email.com",
"recipientPhone": "+123 123123123"
}
},
"products": [
{
"name": "Mouse",
"unitPrice": 5500,
"quantity": 1,
"categoryName": "computer->peripherals",
"listingDate": "2025-04-01T12:00:00.000Z"
}
],
"shippingMethods": [
{
"country": "RO",
"name": "Nazwa firmy kurierskiej",
"price": 0 // 0 może być 0
}
]
}

Odebranie zamówienia płatności przy odbiorze

Po utworzeniu zamówienie za pobraniem pozostaje w statusie PENDING, dopóki PayU nie otrzyma środków od firmy kurierskiej i odpowiedniego raportu analitycznego. Raport musi zostać przesłany w formie zaszyfrowanego kluczem PGP, spakowanego pliku CSV na adres e-mail wskazany przez PayU. Poniżej znajdują się szczegóły dotyczące nazewnictwa tematu wiadomości email oraz pliku z raportem.

Wzór tematu wiadomości email

Temat wiadomości email powinien mieć następujący format: COD_[kod waluty]_[identyfikator], gdzie identyfikatorem jest tytuł przelewu. Na przykład, jeśli zamówienia są w lejach rumuńskich (RON), a firma kurierska używa UUID jako tytułu przelewu, temat wiadomości może wyglądać następująco: COD_RON_4712e91a-c18f-49d1-be81-162d5de7ab48.

Wzór nazwenictwa pliku raportu

Plik z raportem powinien być nazwany zgodnie z następującym formatem: COD_[kod waluty]_[identyfikator].[rozszerzenie pliku], gdzie identyfikatorem jest tytuł przelewu. Na przykład, jeśli zamówienia są w lejach rumuńskich (RON), a firma kurierska używa UUID jako tytułu przelewu, nazwa pliku może wyglądać następująco: COD_RON_4712e91a-c18f-49d1-be81-162d5de7ab48.gpg.

Format zawartości raportu

Poniższa tabela przedstawia format pliku raportu, nazwy pól, przykładowe wartości i ich opisy.

Opisy pól raportu
Nazwa polaPrzykładowa wartośćOpis
type
"TRANSACTION"
Obecnie zawsze TRANSACTION.
payment_method
"CASH"
CASH lub CARD, może być puste.
external_identifier
"<twoje id>"
Twoje id, używane tylko w celach informacyjnych, może być puste.
order_id
"<payu_order_id>"
Id zamówienia utworzonego w systemie PayU.
amount
"10000"
Kwota w najmniejszych jednostkach waluty (tak jak w totalAmount podanym dla zamówienia).
currency
"RON"
Kod w formacie ISO 4217, np. EUR, RON.
reference_id
"4712e91a-c18f-49d1-be81-162d5de7ab48"
Tytuł przelewu od firmy kurierskiej.

Wzór nazewnictwa przelewu

Przelew powinien być zatytułowany zgodnie z następującym formatem: COD_[nazwa firmy kurierskiej lub skrót]_[identyfikator UUID v4]. Zakładając, że firma kurierska nazywa się Speedy Gonzalez Services i jest skrócona do SGS, nazwa pliku może wyglądać następująco: COD_SGS_4712e91a-c18f-49d1-be81-162d5de7ab48.

Szyfrowanie raportu

PayU udostępni publiczny klucz do szyfrowania pliku CSV. Plik CSV musisz najpierw spakować, a następnie zaszyfrować. Jeśli szyfrowanie odbywa się programistycznie, musi być równoważne użyciu operacji wiersza poleceń gpg --encrypt.

Tworzenie zwrotu dla zamówienia płatności przy odbiorze

Zamówienie z wybraną metodą płatności przy odbiorze nie może zostać zwrócone bezpośrednio na instrument płatniczy, jak ma to miejsce w przypadku płatności online. Zwrot może zostać zrealizowany wyłącznie przelewem bankowym na rachunek wskazany przez kupującego. W związku z tym to Ty jesteś odpowiedzialny za zebranie numeru konta bankowego oraz adresu rozliczeniowego kupującego i uwzględnienie tych danych w żądaniu utworzenia zwrotu.

Dla twojej informacji.

Ze względów bezpieczeństwa dozwolone są wyłącznie przelewy krajowe.

Na przykład zamówienie opłacone w RON można zwrócić tylko na konto bankowe w Rumunii. W przypadku zamówień w EUR dozwolone jest każde państwo, które używa EUR jako oficjalnej waluty.

Przykład ciała żądania zwrotu
{
"refund": {
// tak samo jak dla standardowego zwrotu
},
"bankAccount": {
"number": "PL82361283786702674167609144" // format IBAN, pole jest wymagane
},
"customerAddress": {
// wymagane
"name": "John Doe",
"street": "123 Main Street",
"postalCode": "00000",
"city": "Anytown",
"countryCode": "PL"
}
}

Testowanie płatności przy odbiorze

Możesz testować żądania związane z tworzeniem zamówień i zwrotów w środowisku sandbox. Wszystkie utworzone zamówienia są automatycznie rozliczane i przechwytywane (środowisko sandbox symuluje przesyłanie raportu i przelewu co godzinę dla wszystkich zamówień za pobraniem).

Aby przetestować raport analityczny, skontaktuj się z PayU.