Transakcje

Wprowadzenie

Dzięki Straal możesz w prosty i bezpieczny sposób zarządzać płatnościami elektronicznymi. W tej sekcji dowiesz się o operacjach, które mogą wchodzić w skład transakcji w Straal.

Grafika ilustruje etapy transakcji i odzwierciedla poniższy opis.

Transakcja może rozpocząć się tokenizacją jeśli przesyłane są pełne dane kartowe. Następnie ma miejsce autoryzacja i obciążenie karty. Dodatkowo, można anulować autoryzację, zazwyczaj w czasie do 24 godzin. W takim wypadku nie następuje obciążenie. Jeśli nastąpiło obciążenie, można dokonać zwrotu.

W tej sekcji przeczytasz o:

  • Tokenizacji
  • Autoryzacjach i obciążeniach
  • Zwrotach

Tokenizacja

Podczas pierwszej transakcji daną kartą Straal potrzebuje pełnego zestawu danych kartowych. Dane karty to imię i nazwisko właściciela karty, jej numer, kod bezpieczeństwa CVV/CVC i data ważności.

Następnie ta karta otrzymuje indywidualne ID, którego później można używać jako tokena (np. do wykonywania kolejnych transakcji), aby nie przechowywać wrażliwych danych w swoim systemie. Proces ten nazywamy tokenizacją.

Straal stosuje tokenizację przy obsłudze płatności typu one-click i subskrypcyjnych.

Dlaczego używamy tokenizacji
  • Dzięki tokenizacji Twój system nie przetwarza pełnych danych kartowych (jak numer karty albo CVV/CVC), dlatego obowiązują Cię mniej rygorystyczne wymagania bezpieczeństwa PCI DSS. Więcej dowiesz się w Standardy PCI DSS.
  • Jeśli używasz tokenów, w przypadku wycieku danych wrażliwe dane kartowe nie zostaną ujawnione.
  • Jeśli przechowujesz tylko tokeny, masz mniej danych do przechowywania. Ułatwia to rozwój i utrzymanie Twojego systemu.
Co się dzieje w trakcie tokenizacji
  1. Najpierw przesyłasz do Straal dane kartowe (przez API, stronę płatności lub spersonalizowany formularz płatniczy).

  2. Otrzymujesz od systemu ID karty (obiekt card), które działa jako token, czyli można go używać przy następnych transakcjach zamiast wrażliwych danych kartowych.

  3. Dane karty i płatnika przechowujemy na specjalnym oddzielnym serwerze, spełniającym wymagania bezpieczeństwa PCI DSS, żebyś nie musiał(-a) się tmy przejmować.

Autoryzacje i obciążenia

Autoryzacja karty to etap weryfikacji karty.

Jest to pierwszy etap przetwarzania płatności i polega na weryfikacji, czy dane karty są poprawne, czy płatnik ma na koncie środki wystarczające do pokrycia danej transakcji, oraz czy karta nie została zgłoszona jako zastrzeżona. Mimo że środki nie trafiają od razu na Twoje konto, są one blokowane na koncie płatnika.

Obciążenie karty jest drugim etapem płatności.

Kiedy karta uzyska pozytywną autoryzację, a bank (wydawca karty) klienta otrzyma żądanie obciążenia, środki są pobierane z konta płatnika, aby mogły zostać przesłane na Twoje konto. Straal wysyła żądanie obciążenia zaraz po pozytywnej autoryzacji.

Obecnie system Straal obsługuje autoryzacje i obciążenia razem podczas transakcji. Możesz wykorzystać nasze API do tworzenia transakcji dla nowych lub istniejących (1) kart, (2) kart i klientów, czy (3) istniejącego konta bankowego. Wykonywanie transakcji dla kart istniejących możliwe jest w przypadku płatności typu one click i subskrypcyjnych.

Przykład – wykonaj transakcję

W tym przykładzie dowiesz się, jak utworzyć transakcję, jednocześnie dodając kartę klienta istniejącego już w systemie.

Co jest potrzebne do utworzenia transakcji:

  • ID klienta (zobacz APIref: Create a customer)
  • kwota obciążenia, wyrażona w najmniejszej jednostce (groszach, centach, pensach itp.), np. 42 GBP zapisz jako 4200
  • dane karty płatniczej

Poniżej znajdziesz przykładowe dane, jakie należy umieścić w żądaniu do Straal API. Kwota transakcji to 42 funty brytyjskie (przesyłane jako 4200). Należy wysłać żądanie POST do naszego API, używając endpointu /customers/:id/transactions gdzie:id należy zastąpić ID klienta, którego dotyczy transakcja.

Przykładowa treść żądania:

{
  "amount": 4200,
  "currency": "gbp",
  "reference": "b138bc50148440ee",
  "card": {
    "name": "Janina Kowalska",
    "number": "4111111111111111",
    "cvv": "123",
    "expiry_month": 11,
    "expiry_year": 2022,
    "origin_ipaddr": "91.17.133.219"
  }
}

Przykładową odpowiedź serwera znajdziesz w APIref: Creating a transaction with a card. Więcej informacji o tworzeniu transakcji znajdziesz w APIref: Transactions.

Zwroty

W systemie Straal możliwe jest zlecenie zwrotu (częściowego lub całościowego) do uprzednio zrealizowanej transakcji. Możesz wykonać wiele zwrotów częściowych, pod warunkiem, że ich suma nie przekroczy zapłaconej kwoty. Poniżej znajdziesz przykład wykonania częściowego zwrotu za pomocą API Straal.

Przykład – wykonaj zwrot

Ten przykład pozwoli Ci lepiej zrozumieć działanie zwrotów.

Klient Twojej księgarni online kupił wydanie zebrane wszystkich pięciu książek "Autostopem przez galaktykę". Po kilku dniach otrzymał od kuriera paczkę z wyczekiwaną książką. Niestety okazało się, że w trakcie dostawy poobijała się ona w pudełku i nie wygląda już na nową.

Na szczęście klient kontaktuje się z Tobą, zamiast pisać negatywną opinię w internecie. Zgodnie z polityką zwrotów Twojego sklepu, decydujesz się przyjąć zwrot książki.

Do wykonania zwrotu wpłaconej kwoty potrzebne będzie ID transakcji, której zwrot dotyczy.

Poniżej znajdziesz przykładowe dane, jakie należy zawrzeć w żądaniu do Straal API. Należy wysłać żądanie POST do naszego API, używając endpointu /transactions/:id/refund gdzie :id należy zastąpić ID transakcji, której zwrot dotyczy.

Przykładowa treść żądania:

{
  "extra_data": {
    "reason": "cancellation"
  }
}

Przykładową odpowiedź serwera znajdziesz w APIref: Creating a full refund.

Gdyby opisany wyżej klient chciał zatrzymać zamówioną książkę i otrzymać częściowy zwrot w ramach rekompensaty, możesz wykonać częściowy zwrot. Jeśli chcesz dowiedzieć się, jak to zrobić, odwiedź APIref: Creating a partial refund.

Co dalej:


Jeśli coś jest dla Ciebie niejasne w tej sekcji, zajrzyj do Dokumentacji API Straal.

Możesz też sprawdzić Słowniczek, który pomoże Ci zapoznać się ze słownictwem z obszaru płatności.

Skontaktuj się z nami. Zespół Techniczny: [email protected], Dział Wsparcia Klienta: [email protected].

Kody odrzuceń autoryzacji

Zdecydowana większość transakcji kończy się powodzeniem. Sporadycznie jednak może dojść do odrzucenia płatności, co może mieć różne przyczyny. W tej sekcji przedstawiamy możliwe powody odrzuceń transakcji, wraz z rekomendacjami działań, jakie należy podjąć, by kolejne płatności dokonywane dana kartą odbyły się bez zakłóceń.

Do najczęstszych powodów odrzucania płatności dokonywanych kartą płatniczą należą:

  • brak środków lub niewystarczająca do dokonania płatności ilość środków na karcie
  • źle skonfigurowana karta płatnicza – niskie limity transakcji (ilościowe i/lub wartościowe) lub karta zablokowana na płatności zdalne (internet, telefon)
  • nieprawidłowy numer karty lub karta nieważna (termin ważności karty wygasł)
  • odmowa banku wydawcy karty ze względu na reguły antyfraudowe.

Dokładny powód odrzucenia danej transakcji przeważnie zna bank. Stąd też, w większości przypadków Straal sugeruje, aby płatnik skontaktował się ze swoim bankiem i wyjaśnił dokładną przyczynę odrzucenia płatności.

Poniższa tabela prezentuje możliwe kody odrzuceń transakcji w systemie Straal wraz z sugestią, jaki komunikat powinien zostać przekazany klientowi, aby kolejna płatność zakończyła się sukcesem:

Kod Opis Informacja dla merchanta
1001 General decline Odmowa banku wydawcy karty. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1002 Insufficient funds Odmowa banku wydawcy karty - niewystarczająca ilość środków na karcie lub zbyt niskie limity na karcie; Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1003 Expired card Odmowa banku wydawcy karty - karta utraciła ważność. Należy wymienić kartę lub użyć innej.
1004 Internal error Błąd po stronie Straal. Prosimy o kontakt ze Straal.
1005 Invalid amount Odmowa banku wydawcy karty - niewystarczająca ilość środków na karcie lub zbyt niskie limity na karcie. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1006 Invalid card data Odmowa banku wydawcy karty - niepoprawne dane karty.
1007 Restricted card Odmowa banku wydawcy karty. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1008 Invalid transaction Odmowa banku wydawcy karty. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1009 Withdrawal limit exceeded Odmowa banku wydawcy karty. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1010 Card not supported Odmowa banku wydawcy karty - karta nieobsługiwana.
1011 Transaction not permitted to cardholder Odmowa banku wydawcy karty. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1012 Merchant account error Źle skonfigurowane konto merchanta. Prosimy o kontakt ze Straal - [email protected]
1013 Security violation Odmowa banku wydawcy karty. Sugerujemy, aby klient skontaktował się ze swoim bankiem i zweryfikował ustawienia karty.
1014 Gateway frequency limit exceeded Przekroczony limit aktywności u acquirera. Prosimy o kontakt ze Straal.
1015 Acquirer error Wystąpił błąd po stronie acquirera. Prosimy o kontakt ze Straal.
1101 Possible fraud Odmowa banku wydawcy karty - możliwe oszustwo! Karta oznaczona jest w Banku Wydawcy jako zablokowana/zagubiona/skradziona. UWAGA: Nie należy powtarzać obciążeń dla tej karty! Może to zostać uznane za próbę oszustwa!