Reise-Zahlungs-API
Payment-Gateway-API für Reisebuchungen: vom Checkout bis zur Erstattung
Über eine Payment-Gateway-API nimmt Ihre Buchungsseite das Geld des Reisenden an, ohne die Karte je zu berühren. Diese Seite zeigt die Aufrufe einer Kartenzahlung, die Status einer Zahlung, was Reisezahlungen schwieriger macht als den Einzelhandel und wie PHPTRAVELS Ihren Buchungsablauf mit dem Gateway Ihrer Wahl verbindet.
- Sitzung, 3-D Secure, Capture
- Alle Zahlungsstatus
- Karten, Wallets, Bank, Kredit
- Keine Kartendaten auf Ihrem Server
So laufen die Aufrufe ab
Eine Kartenzahlung, Aufruf für Aufruf
Eine Payment-Gateway-API ist eine Sammlung von Webservices, die ein Zahlungsunternehmen für Händler öffnet. Ihr Server fordert eine Zahlung über Betrag und Währung an, der Reisende gibt die Karte im eigenen Formular des Gateways ein, und das Gateway spricht mit dem Kartennetzwerk und der ausgebenden Bank. Ihr Server sieht die Kartennummer nie; er erhält eine Zahlungs-ID und einen Status zurück.
Vier Parteien sind beteiligt. Das Diagramm zeigt sie als Spalten und jede Nachricht als nummerierten Pfeil. Die Namen unterscheiden sich je nach Gateway (Payment Intent, Session, Order, Charge), der Ablauf ist aber derselbe.

Der gestrichelte Pfeil ist ein Webhook: Das Gateway ruft Ihren Server von selbst auf, sodass eine Zahlung die Buchung auch dann aktualisiert, wenn der Reisende den Browser schließt. Wie jeder Schritt in PHPTRAVELS mit einer Buchung verknüpft wird, erklärt die Seite Zahlungs-Gateway-Integration.
- Reisender
- Ihre Website
- Gateway
- Kartennetzwerk / Bank
01CheckoutReisender Ihre Website
Der Reisende prüft die Reise und klickt auf Bezahlen. Die Buchung ist beim Anbieter reserviert, aber noch nicht bestätigt.
02Payment Intent oder Sitzung anlegenIhre Website Gateway
Ihr Server sendet Betrag, Währung, Buchungsreferenz und einen Idempotenzschlüssel mit seinem geheimen API-Schlüssel. Das Gateway liefert eine Zahlungs-ID.
03Gehostete Felder oder WeiterleitungGateway Reisender
Das Kartenformular kommt vom Gateway, eingebettet in Ihre Seite oder auf dessen eigener Seite, sodass die Kartendaten direkt dorthin gehen.
043-D SecureKartennetzwerk / Bank Reisender
Verlangt die ausgebende Bank es, bestätigt der Reisende die Zahlung in der Banking-App oder mit einem Einmalcode.
05AutorisierenGateway Kartennetzwerk / Bank
Das Gateway bittet den Herausgeber über das Kartennetzwerk, den Betrag zu genehmigen.
06Genehmigt, Betrag reserviertKartennetzwerk / Bank Gateway
Der Herausgeber reserviert das Geld auf der Karte. Es ist noch nichts geflossen.
07Ergebnis an Ihre WebsiteGateway Ihre Website
Der Reisende kehrt mit der Zahlungs-ID auf Ihre Website zurück. Ihr Server liest den Status über die API und bestätigt die Buchung beim Anbieter.
08CaptureIhre Website Gateway
Sobald der Anbieter bestätigt, bucht Ihr Server den vollen oder einen geringeren Betrag ab. Viele Gateways können auch sofort abbuchen.
09WebhookGateway Ihre WebsiteVom Gateway selbstständig gesendet
Das Gateway sendet ein signiertes Ereignis (Zahlung eingezogen, erstattet, angefochten) an Ihren Endpunkt. Ihr Server prüft die Signatur und aktualisiert die Buchung.
Zahlungsstatus
Der Lebenslauf einer Zahlung als Zustandsautomat
Jede Gateway-API meldet für jede Zahlung einen Status. Die Begriffe variieren, entsprechen aber denselben wenigen Zuständen, auf die Ihre Buchungslogik jeweils reagieren sollte.
created
Angelegt
Die Zahlung existiert mit Betrag und Währung und wartet auf den Reisenden.
failedEndstatus
Fehlgeschlagen
Abgelehnt, 3-D Secure nicht abgeschlossen oder abgebrochen. Es wird nichts belastet.
authorized
Autorisiert
Der Herausgeber hat den Betrag genehmigt und hält ihn auf der Karte zurück.
voidedEndstatus
Storniert
Die Reservierung wird vor dem Capture aufgehoben, der Reisende wird nie belastet.
captured
Eingezogen
Das Geld ist abgebucht und wird auf Ihr Händlerkonto ausgezahlt.
partially_refundedEndstatus
Teilweise erstattet
Ein Teil des eingezogenen Betrags geht zurück, etwa nach einer Stornogebühr.
refundedEndstatus
Erstattet
Der gesamte eingezogene Betrag geht auf die Karte zurück.
Eine Autorisierung gilt nicht ewig: Wird sie nicht rechtzeitig eingezogen, läuft die Reservierung ab und die Bank gibt das Geld frei. Eine teilweise erstattete Zahlung kann bis zum eingezogenen Betrag weiter erstattet werden.
Warum Reisen schwieriger ist
Warum Reisezahlungen anders sind
Ein Shop verkauft, was er vorrätig hat. Ein Reiseverkäufer nimmt Geld für eine Buchung an, die ein Anbieter noch bestätigen muss, oft Monate vor der Reise. Die Zahlungs-API muss dazu passen.
01
Jetzt autorisieren, später einziehen
Hotels auf Anfrage, Gruppentarife und Touren werden Stunden oder Tage nach der Bestellung bestätigt. Erst autorisieren und bei Bestätigung einziehen heißt: keine Belastung für eine Buchung, die nie zustande kommt.
02
Der Anbieter kann noch ablehnen
Ein Tarif kann zwischen Zahlung und Ticketing ausverkauft sein. Bei einer Autorisierung wird das Geld per Storno freigegeben, nach dem Capture wird daraus eine Erstattung.
03
Teilerstattungen nach Stornogebühren
Wer einen Aufenthalt oder ein Ticket storniert, verliert meist eine Gebühr. Der Erstattungsaufruf sendet einen geringeren Betrag zur ursprünglichen Zahlung, so oft die Regeln es verlangen.
04
Mehrere Währungen
Reisende zahlen in ihrer Währung, Anbieter stellen in ihrer Rechnung. Das Gateway muss die Anzeigewährung unterstützen, und Ihre Unterlagen müssen beide Beträge festhalten.
05
Betrugsprüfung bei hohen Beträgen
Tickets für morgen, für eine andere Person, mit einer neuen Karte bezahlt: ein klassisches Betrugsmuster. 3-D Secure, das Risiko-Scoring des Gateways und eine manuelle Prüfwarteschlange schützen hochwertige Bestellungen.
06
Rückbuchungen Monate später
Anfechtungen kommen oft erst nach der Reise. Bewahren Sie Authentifizierungsergebnis, Buchungsunterlagen und Gateway-Ereignisse zusammen auf, damit Sie mit Belegen antworten können.
Zahlungsarten
Welche Zahlungswege eine Payment-Gateway-API abdeckt
Karten sind nur eine Möglichkeit. Reisende und Agenten zahlen auf unterschiedliche Weise, und jede Art wird anders erstattet.
| Zahlungsart | Was es ist | Wann das Geld eintrifft | Erstattungen |
|---|---|---|---|
| Karten | Debit- und Kreditkarten über das Gateway, mit 3-D Secure, wo der Herausgeber es verlangt. | Beim Checkout autorisiert; sofort oder bei Anbieterbestätigung eingezogen. | Volle oder teilweise Erstattung auf dieselbe Karte per API. |
| Digitale Wallets | Wallet-Konten, die das Gateway unterstützt, etwa PayPal oder eine Handy-Wallet mit tokenisierter Karte. | Beim Checkout, nachdem der Reisende in der Wallet bestätigt hat. | Über das Gateway zurück auf die Wallet oder die dahinterliegende Karte. |
| Banküberweisung | Reisender oder Agent überweist Geld auf Ihr Bankkonto, und die Zahlung wird der Buchung zugeordnet. | Tage später; die Buchung wartet, bis Ihr Team den Zahlungseingang bestätigt. | Rückzahlung per Überweisung, außerhalb des Gateways. |
| Später zahlen | Die Buchung erfolgt jetzt und wird später bezahlt; Ihr Team erfasst die Zahlung, sobald sie eingeht. | Nach der Buchung, wenn der Reisende zahlt. | Erstattet wird nur, was tatsächlich bezahlt wurde. |
| B2B-Agenten-Wallet oder -Kredit | Unteragenten zahlen von einem vorab aufgeladenen Guthaben oder aus einem von Ihnen eingeräumten Kreditlimit. | Bei Buchung abgezogen; Anzahlungen und Kredit nach Ihren Bedingungen abgerechnet. | Dem Agentenguthaben gutgeschrieben. |
Banküberweisung, Später zahlen und Wallet-Guthaben sind Abrechnungsoptionen der Plattform selbst, keine Gateways. Agentenguthaben und Kreditlimits erklärt die Seite B2B-Agenten-Wallet, Banküberweisungen die Seite Zahlung per Banküberweisung.
Bereit in PHPTRAVELS
Bereits angebundene Payment-Gateway-APIs
Diese Gateways sind bereits mit PHPTRAVELS verbunden. Sie eröffnen ein Händlerkonto beim Anbieter, tragen Ihre API-Schlüssel im Admin-Bereich ein, testen in dessen Sandbox und gehen live. Die Liste stammt live aus unserem Integrationsverzeichnis.
StripeIntegrationsanleitungPayPalIntegrationsanleitung
xMoney
Fawaterk
Cashfree
Paystack
Flutterwave
Adyen
MyFatoorah
SSLcommerz
Razorpay- Alle Zahlungsintegrationen
Gebühren und Händlerfreigabe vereinbaren Sie mit dem Zahlungsunternehmen, nicht mit PHPTRAVELS. Ein Gateway, das hier fehlt, lässt sich als Individuelle API-Integration ergänzen, und die Seite Zahlungs-Gateway-Integration erklärt, wie jedes eingerichtet wird.
Sicherheit
Kartendaten aus Ihrem System heraushalten
Die sicherste Kartennummer ist die, die Ihr Server nie erhält. Eine Payment-Gateway-API ist genau dafür gebaut.
Kartennummern nie speichern
Kartendaten gehen an das Gateway, das ein Token oder eine Zahlungs-ID zurückgibt. Ihre Datenbank speichert nur diese Referenz, nie Kartennummer oder Sicherheitscode.
Gehostete Felder und Weiterleitungen verkleinern den PCI-DSS-Umfang
PCI DSS gilt für alle, die Kartendaten verarbeiten. Ist das Kartenformular die Seite des Gateways oder eingebettete Felder, liegt deutlich weniger Ihres Systems im Umfang. Welche Selbstbeurteilung für Sie gilt, bestätigt Ihr Acquirer.
Webhooks per Signatur geprüft
Jeder Webhook trägt eine mit einem gemeinsamen Geheimnis erzeugte Signatur. Ihr Server berechnet sie neu und weist jedes Ereignis ab, das nicht passt, sodass niemand eine bezahlte Buchung fälschen kann.
Geheime Schlüssel bleiben auf dem Server
Der Browser erhält nur einen öffentlichen Schlüssel. Der geheime Schlüssel, der Zahlungen und Erstattungen auslöst, liegt in Ihrer Serverkonfiguration, und jede Anfrage trägt einen Idempotenzschlüssel, damit eine Wiederholung nie doppelt belastet.
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"]);
Generisches Beispiel. Header-Namen und Signaturverfahren richten sich nach dem gewählten Gateway.
PHPTRAVELS ist selbst gehostete Software, daher wird die PCI-DSS-Konformität für Ihr Unternehmen und Ihren Server beurteilt, nicht für die Software allein.
Eine Buchung bezahlen, einziehen und erstatten sehen
Buchen Sie in der Live-Demo eine Reise und verfolgen Sie die Zahlung im Admin-Bereich. Im Enterprise-Tarif erhalten Sie von PHPTRAVELS außerdem eine eigene REST API und Webhooks für Ihre Apps und Partner.
Auch Flüge geplant? Die Seite Flug-API erklärt die Anbieterseite, und Reise-APIs listet jede API, die PHPTRAVELS anbindet.
Eine Sammlung von Webservices eines Zahlungsunternehmens, mit der eine Website Zahlungen anlegen, die Karte zur Genehmigung an die Bank senden, Geld einziehen, Erstattungen auslösen und Statusmeldungen per Webhook empfangen kann, ohne selbst Kartendaten zu speichern.
Das Gateway ist der Teil, mit dem Ihre Website spricht: Es erfasst die Karte sicher und gibt die Anfrage weiter. Der Abwickler leitet die Transaktion über die Kartennetzwerke zur ausgebenden Bank. Viele Anbieter bieten beides als einen Dienst an.
Die, die Ihr Unternehmen akzeptiert, die Länder, Währungen und Zahlungsarten Ihrer Kunden unterstützt und getrennte Autorisierung und Capture sowie Teilerstattungen bietet. Viele Agenturen kombinieren ein globales Kartengateway mit einem regionalen.
Das Autorisieren reserviert den Betrag auf der Karte des Reisenden, das Capture bucht ihn ab. Die Trennung erlaubt, erst zu belasten, wenn der Anbieter die Buchung bestätigt, und die Reservierung sonst aufzuheben.
In vielen Regionen, darunter dem Europäischen Wirtschaftsraum und Großbritannien, ist für die meisten Online-Kartenzahlungen eine starke Kundenauthentifizierung vorgeschrieben, und 3-D Secure ist der Weg dafür. Die Gateway-API übernimmt die Abfrage; Ihr Buchungsablauf wartet auf das Ergebnis.
Nicht von allein. Gehostete Felder oder die Zahlungsseite des Gateways halten Kartendaten von Ihrem Server fern und verkleinern den PCI-DSS-Umfang, aber die von Ihrem Acquirer geforderte Beurteilung müssen Sie trotzdem abschließen.
Ja, sofern das Gateway Teilerstattungen unterstützt, was die meisten Kartengateways tun. Sie senden eine Erstattung über einen geringeren Betrag zur ursprünglichen Zahlung, etwa den Preis abzüglich einer Stornogebühr.
Nein. Sie eröffnen ein Händlerkonto beim gewählten Gateway und vereinbaren die Gebühren mit ihm. PHPTRAVELS verbindet Ihre Buchungsplattform mit diesem Konto über die API-Schlüssel, die Sie im Admin-Bereich eintragen.
Ja. Jedes Gateway mit dokumentierter API lässt sich als individuelle Integration ergänzen, und weil der Quellcode enthalten ist, können Ihre Entwickler auch den Zahlungsablauf erweitern.
Weiter entdecken
Mehr zur Plattform
- Zahlungs-Gateway-IntegrationCheckout, 3D Secure, Erstattungen und Webhooks
- Stripe-ZahlungenKarten- und Wallet-Zahlung mit Erstattungen
- PayPal-ZahlungenPayPal-Checkout für Flüge, Hotels und Touren
- B2B-Agenten-WalletEinzahlungen, Kreditlimits und ein Kontobuch je Agent
- Reise-APIsGDS-, Hotel-, Touren-, Mietwagen- und Zahlungs-APIs
- Flug-APIGDS-, NDC- und Konsolidator-Flug-APIs auf einer Plattform
