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.

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
01KasaPodróżny Twój serwis
Podróżny sprawdza wyjazd i klika Zapłać. Rezerwacja jest wstrzymana u dostawcy, jeszcze niepotwierdzona.
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.
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.
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.
05AutoryzacjaBramka Organizacja kartowa / bank
Bramka prosi wydawcę, za pośrednictwem organizacji kartowej, o zatwierdzenie kwoty.
06Zatwierdzono, środki zablokowaneOrganizacja kartowa / bank Bramka
Wydawca rezerwuje pieniądze na karcie. Nic jeszcze nie zostało pobrane.
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.
08PrzechwycenieTwój serwis Bramka
Gdy dostawca potwierdzi, serwer przechwytuje całą kwotę lub niższą. Wiele bramek potrafi też przechwycić od razu.
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.
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.
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.
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.
| Metoda | Co to jest | Kiedy wpływają pieniądze | Zwroty |
|---|---|---|---|
| Karty | Karty 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 cyfrowe | Konta 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 bankowy | Podróż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óźniej | Rezerwacja 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 B2B | Subagenci 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.
StripePrzewodnik integracjiPayPalPrzewodnik integracji
xMoney
Fawaterk
Cashfree
Paystack
Flutterwave
Adyen
MyFatoorah
SSLcommerz
Razorpay- Wszystkie integracje płatności
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.
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.
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.
Odkryj więcej
Więcej o platformie
- Integracja bramek płatniczychCheckout, 3D Secure, zwroty i webhooki
- Płatności StripePłatność kartą i portfelem, zwroty i wypłaty
- Płatności PayPalPłatność PayPal za loty, hotele i wycieczki
- Portfel B2B agentaWpłaty, limity kredytowe i księga dla każdego agenta
- API turystyczneAPI GDS, hoteli, wycieczek, aut i płatności
- API lotówAPI lotów z GDS, NDC i od konsolidatorów na jednej platformie
