Demo na żywo

API płatności dla turystyki

API bramki płatności dla rezerwacji podróży: od kasy do zwrotu

API bramki płatności pozwala Twojemu serwisowi rezerwacyjnemu przyjąć pieniądze od podróżnego bez dotykania danych karty. Ta strona pokazuje wywołania jednej płatności kartą, statusy, przez które przechodzi, powody, dla których płatności w turystyce są trudniejsze niż w handlu, oraz sposób, w jaki PHPTRAVELS łączy Twój proces rezerwacji z wybraną bramką.

  • Sesja, 3-D Secure, przechwycenie
  • Wszystkie statusy płatności
  • Karty, portfele, przelew, kredyt
  • Zero danych karty na Twoim serwerze

Jak działają wywołania

Jedna płatność kartą, wywołanie po wywołaniu

API bramki płatności to zestaw usług sieciowych, które firma płatnicza udostępnia sprzedawcom. Twój serwer prosi o utworzenie płatności na daną kwotę i w danej walucie, podróżny wpisuje kartę w formularzu bramki, a bramka komunikuje się z organizacją kartową i bankiem wydawcą. Twój serwer nigdy nie widzi numeru karty; dostaje ID płatności i status.

W procesie uczestniczą cztery strony. Diagram pokazuje je jako kolumny, a każdą wiadomość jako numerowaną strzałkę. Nazwy różnią się między bramkami (payment intent, sesja, zamówienie, obciążenie), ale kolejność jest ta sama.

Podróżny płaci za wyjazd online, a serwis rezerwacyjny, bramka płatności i bank wymieniają komunikaty płatnicze

Strzałka przerywana to webhook: bramka sama wywołuje Twój serwer, więc płatność zaktualizuje rezerwację, nawet jeśli podróżny zamknie przeglądarkę. Strona Integracja bramek płatniczych opisuje, jak każdy krok jest powiązany z rezerwacją w PHPTRAVELS.

  • Podróżny
  • Twój serwis
  • Bramka
  • Organizacja kartowa / bank
  1. 01KasaPodróżny Twój serwis

    Podróżny sprawdza wyjazd i klika Zapłać. Rezerwacja jest wstrzymana u dostawcy, jeszcze niepotwierdzona.

  2. 02Utworzenie payment intent lub sesjiTwój serwis Bramka

    Twój serwer wysyła kwotę, walutę, numer rezerwacji i klucz idempotentności wraz z tajnym kluczem API. Bramka zwraca ID płatności.

  3. 03Pola hostowane lub przekierowanieBramka Podróżny

    Formularz karty serwuje bramka, w Twojej stronie lub na własnej, więc dane karty trafiają od razu do niej.

  4. 043-D SecureOrganizacja kartowa / bank Podróżny

    Jeśli bank wydawca tego zażąda, podróżny potwierdza płatność w aplikacji bankowej lub jednorazowym kodem.

  5. 05AutoryzacjaBramka Organizacja kartowa / bank

    Bramka prosi wydawcę, za pośrednictwem organizacji kartowej, o zatwierdzenie kwoty.

  6. 06Zatwierdzono, środki zablokowaneOrganizacja kartowa / bank Bramka

    Wydawca rezerwuje pieniądze na karcie. Nic jeszcze nie zostało pobrane.

  7. 07Wynik dla Twojego serwisuBramka Twój serwis

    Podróżny wraca do Twojego serwisu z ID płatności. Serwer odczytuje status z API i potwierdza rezerwację u dostawcy.

  8. 08PrzechwycenieTwój serwis Bramka

    Gdy dostawca potwierdzi, serwer przechwytuje całą kwotę lub niższą. Wiele bramek potrafi też przechwycić od razu.

  9. 09WebhookBramka Twój serwisWysyłane przez bramkę samodzielnie

    Bramka wysyła na Twój endpoint podpisane zdarzenie (płatność przechwycona, zwrócona, zakwestionowana). Serwer sprawdza podpis i aktualizuje rezerwację.

Statusy płatności

Życie płatności jako automat stanów

Każde API bramki zwraca status każdej płatności. Nazwy się różnią, ale odpowiadają tym samym kilku stanom, a logika rezerwacji powinna reagować na każdy z nich.

  1. created

    Utworzona

    Płatność istnieje z kwotą i walutą i czeka na podróżnego.

    failedKońcowy

    Nieudana

    Odrzucona, 3-D Secure niedokończone lub porzucone. Nic nie zostaje pobrane.

  2. authorized

    Zautoryzowana

    Wydawca zatwierdził kwotę i blokuje ją na karcie.

    voidedKońcowy

    Anulowana

    Blokada zostaje zdjęta przed przechwyceniem, więc podróżny nigdy nie jest obciążony.

  3. captured

    Przechwycona

    Pieniądze zostały pobrane i trafią na Twoje konto sprzedawcy.

    partially_refundedKońcowy

    Częściowo zwrócona

    Część przechwyconej kwoty wraca do klienta, na przykład po opłacie za anulowanie.

    refundedKońcowy

    Zwrócona

    Cała przechwycona kwota wraca na kartę.

Autoryzacja nie trwa wiecznie: jeśli nie zostanie przechwycona na czas, blokada wygasa, a bank zwalnia środki. Płatność częściowo zwróconą można zwracać dalej, do wysokości przechwyconej kwoty.

Dlaczego turystyka jest trudniejsza

Dlaczego płatności w turystyce są inne

Sklep sprzedaje to, co ma na magazynie. Sprzedawca podróży przyjmuje pieniądze za rezerwację, którą dostawca dopiero musi potwierdzić, często na miesiące przed wyjazdem. API płatności musi to uwzględniać.

  • 01

    Autoryzuj teraz, przechwyć później

    Hotele na zapytanie, taryfy grupowe i wycieczki są potwierdzane godziny lub dni po zamówieniu. Autoryzacja najpierw i przechwycenie po potwierdzeniu oznacza brak obciążenia za rezerwację, która nie dojdzie do skutku.

  • 02

    Dostawca nadal może odmówić

    Taryfa może zniknąć między płatnością a wystawieniem biletu. Przy autoryzacji pieniądze zwalnia anulowanie; po przechwyceniu staje się to zwrotem.

  • 03

    Częściowe zwroty po opłatach za anulowanie

    Anulowanie pobytu lub biletu zwykle oznacza zatrzymanie opłaty. Wywołanie zwrotu wysyła niższą kwotę do oryginalnej płatności, tyle razy, ile wymagają zasady.

  • 04

    Wiele walut

    Podróżni płacą w swojej walucie, a dostawcy fakturują w swojej. Bramka musi obsługiwać walutę prezentacji, a Twoje zapisy muszą przechowywać obie kwoty.

  • 05

    Kontrole oszustw przy wysokich kwotach

    Bilety na jutro, dla kogoś innego, opłacone nową kartą to klasyczny wzorzec oszustwa. 3-D Secure, ocena ryzyka bramki i kolejka ręcznej weryfikacji chronią zamówienia o wysokiej wartości.

  • 06

    Chargebacki po miesiącach

    Reklamacje często przychodzą po podróży. Przechowuj razem wynik uwierzytelnienia, dokumenty rezerwacji i zdarzenia bramki, aby odpowiedzieć na każdą z dowodami.

Metody płatności

Jakie sposoby płatności obejmuje API bramki płatności

Karty to tylko jedna z opcji. Podróżni i agenci płacą na różne sposoby, a każdy z nich zwraca się inaczej.

MetodaCo to jestKiedy wpływają pieniądzeZwroty
KartyKarty debetowe i kredytowe przez bramkę, z 3-D Secure, gdy wymaga tego wydawca.Autoryzacja w kasie; przechwycenie od razu lub po potwierdzeniu przez dostawcę.Pełny lub częściowy zwrot na tę samą kartę przez API.
Portfele cyfroweKonta portfeli obsługiwane przez bramkę, jak PayPal czy portfel w telefonie z tokenizowaną kartą.W kasie, po zatwierdzeniu przez podróżnego w portfelu.Z powrotem do portfela lub karty, która za nim stoi, przez bramkę.
Przelew bankowyPodróżny lub agent wysyła pieniądze na Twoje konto bankowe, a płatność jest księgowana przy rezerwacji.Po kilku dniach; rezerwacja czeka, aż Twój zespół potwierdzi wpłatę.Zwrot przelewem, poza bramką.
Zapłać późniejRezerwacja powstaje teraz, a płatność później; Twój zespół odnotowuje wpłatę, gdy dotrze.Po rezerwacji, gdy podróżny zapłaci.Zwracane jest tylko to, co faktycznie zapłacono.
Portfel lub kredyt agenta B2BSubagenci płacą z salda, które zasilają z góry, lub z limitu kredytowego, który im przyznajesz.Potrącane przy rezerwacji; depozyty i kredyt rozliczane na Twoich warunkach.Zwrot na saldo agenta.

Przelew bankowy, zapłać później i saldo portfela to sposoby rozliczeń samej platformy, a nie bramki. Salda i limity kredytowe agentów opisuje strona Portfel B2B agenta; płatności bankowe strona Płatności przelewem bankowym.

Gotowe w PHPTRAVELS

Połączone już API bramek płatności

Te bramki są już połączone z PHPTRAVELS. Zakładasz konto sprzedawcy u dostawcy, wpisujesz klucze API w panelu admina, testujesz w jego sandboksie i uruchamiasz sprzedaż. Lista jest aktualna, z naszego katalogu integracji.

Opłaty i akceptację sprzedawcy ustalasz z firmą płatniczą, nie z PHPTRAVELS. Bramkę, której tu nie ma, można dodać jako Integracja API na zamówienie, a strona Integracja bramek płatniczych opisuje konfigurację każdej z nich.

Bezpieczeństwo

Dane kart poza Twoim systemem

Najbezpieczniejszy numer karty to ten, którego Twój serwer nigdy nie otrzymuje. API bramki płatności zbudowano tak, by nie musiał.

  • Nigdy nie przechowuj numerów kart

    Dane karty trafiają do bramki, która zwraca token lub ID płatności. Twoja baza danych zachowuje tylko tę referencję, nigdy numer karty ani kod bezpieczeństwa.

  • Pola hostowane i przekierowania zmniejszają zakres PCI DSS

    PCI DSS dotyczy każdego, kto przetwarza dane kart. Gdy formularz karty to strona bramki lub osadzone pola, w zakresie jest znacznie mniej Twojego systemu. Który kwestionariusz samooceny Cię dotyczy, potwierdza Twój acquirer.

  • Webhooki weryfikowane podpisem

    Każdy webhook niesie podpis utworzony ze wspólnym sekretem. Serwer liczy go ponownie i odrzuca każde zdarzenie, które się nie zgadza, więc nikt nie podrobi opłaconej rezerwacji.

  • Tajne klucze zostają na serwerze

    Przeglądarka dostaje tylko klucz publiczny. Tajny klucz, który tworzy płatności i zwroty, jest w konfiguracji serwera, a każde żądanie niesie klucz idempotentności, by ponowienie nigdy nie obciążyło dwa razy.

webhook.php
 1$payload   = file_get_contents("php://input"); 2$signature = $_SERVER["HTTP_X_SIGNATURE"] ?? ""; 3$expected  = hash_hmac("sha256", $payload, $webhookSecret); 4 5if (!hash_equals($expected, $signature)) { 6    http_response_code(400); exit;      // reject 7} 8$event = json_decode($payload, true); 9if (alreadyHandled($event["id"])) exit; // repeat delivery10updateBooking($event["data"]["metadata"]["booking_ref"], $event["type"]);

Przykład ogólny. Nazwy nagłówków i metoda podpisu zależą od wybranej bramki.

PHPTRAVELS to oprogramowanie hostowane na własnym serwerze, więc zgodność z PCI DSS ocenia się dla Twojej firmy i Twojego serwera, a nie wyłącznie dla oprogramowania.

Zobacz rezerwację opłaconą, przechwyconą i zwróconą

Zarezerwuj wyjazd w demo na żywo i śledź płatność w panelu admina. W planie Enterprise PHPTRAVELS daje też własne REST API i webhooki dla Twoich aplikacji i partnerów.

Sprzedajesz też loty? Strona API lotów opisuje stronę dostawców, a API turystyczne wymienia wszystkie API, które łączy PHPTRAVELS.

FAQ

API bramki płatności: pytania sprzedawców podróży

Kontakt ze sprzedażą

To zestaw usług sieciowych udostępnianych przez firmę płatniczą, dzięki którym strona może tworzyć płatności, wysyłać kartę do banku do zatwierdzenia, przechwytywać pieniądze, wykonywać zwroty i odbierać aktualizacje statusu przez webhook, bez przechowywania danych karty.

Bramka to część, z którą rozmawia Twoja strona: bezpiecznie zbiera dane karty i przekazuje żądanie dalej. Procesor przeprowadza transakcję przez organizacje kartowe do banku wydawcy. Wielu dostawców oferuje oba jako jedną usługę.

To, które zaakceptuje Twoją firmę, obsłuży kraje, waluty i metody płatności Twoich klientów oraz oferuje osobną autoryzację i przechwycenie oraz zwroty częściowe. Wiele biur łączy globalną bramkę kartową z regionalną.

Autoryzacja rezerwuje kwotę na karcie podróżnego; przechwycenie ją pobiera. Rozdzielenie obu pozwala obciążyć klienta dopiero po potwierdzeniu rezerwacji przez dostawcę i zdjąć blokadę, jeśli do niego nie dojdzie.

W wielu regionach, w tym w Europejskim Obszarze Gospodarczym i Wielkiej Brytanii, silne uwierzytelnienie klienta jest wymagane przy większości płatności kartą online, a 3-D Secure to sposób, w jaki karty je spełniają. API bramki obsługuje weryfikację; Twój proces rezerwacji czeka na wynik.

Nie samo w sobie. Użycie pól hostowanych lub strony płatności bramki trzyma dane karty z dala od Twojego serwera i zmniejsza zakres PCI DSS, ale nadal musisz przejść ocenę wymaganą przez acquirera.

Tak, jeśli bramka obsługuje zwroty częściowe, a większość bramek kartowych to robi. Wysyłasz zwrot na niższą kwotę do oryginalnej płatności, na przykład cenę pomniejszoną o opłatę za anulowanie.

Nie. Konto sprzedawcy zakładasz u wybranej bramki i z nią uzgadniasz opłaty. PHPTRAVELS łączy Twoją platformę rezerwacyjną z tym kontem za pomocą kluczy API wpisanych w panelu admina.

Tak. Każdą bramkę z udokumentowanym API można dodać jako integrację na zamówienie, a ponieważ kod źródłowy jest w komplecie, Twoi programiści mogą też rozbudować proces płatności.