Hier finden Sie alles, was Sie wissen müssen, um Ihren Kunden flexible Zahlungsoptionen für ihr nächstes Reiseabenteuer anzubieten.
Bevor Sie anfangen …
Falls Sie noch keines haben, brauchen Sie noch ein Händlerkonto bei Fly Now Pay Later. Setzen Sie sich mit unserem Vertriebsteam in Verbindung, sie werden Ihnen eines einrichten.
Sobald Sie Ihre Zugangsdaten erhalten haben, können Sie sich in unser Händlerportal einloggen.
Abwicklung eines Kreditantrags
Sie können dem Kunden Fly Now Pay Later als eine flexible Zahlungsoption und eine alternative Möglichkeit zur Aufteilung der Kosten für seine Buchung anbieten. Formal handelt es sich dabei jedoch nach wie vor um einen Kredit, für den eine Bonitätsprüfung notwendig ist.
Wir führen diese Bonitätsprüfungen automatisch mit einem Formular durch, das dynamisch in Ihre Website eingebettet wird, sobald der Benutzer auf „Mit Fly Now Pay Later zur Kasse gehen“ klickt.
Wenn der Kreditantrag erfolgreich ist, müssen Sie über einen serverseitigen Aufruf unseres API-Endpunkts für virtuelle Karten eine virtuelle Debitkarte anfordern.
Wir zeigen Ihnen weiter unten auf dieser Seite, wie Sie diese Schaltfläche einrichten und eine virtuelle Debitkarte anfordern können.
Wofür können die Kunden Fly Now Pay Later nutzen?
Ihre Kunden können mit Fly Now Pay Later alles buchen, was mit Ihrem Urlaub oder Ihrer Reise zusammenhängt, sofern Sie ein E-Ticket kaufen können.
Das bedeutet normalerweise, dass Sie Pauschalreisen, Flüge und Hotels buchen können, aber nicht so etwas wie Bahnreisen.
Einrichten Ihrer Integration
Die Einrichtung ist ganz einfach.
-
Schritt 1: Melden Sie sich mit den Daten, die Sie von unserem Vertriebsteam erhalten haben, im Händlerportal an.
-
Schritt 2: Sobald Sie eingeloggt sind, klicken Sie bitte auf die Schaltfläche „Neu hinzufügen“, um eine neue Integration einzurichten.
-
Schritt 3: Geben Sie die Domain ein, für die Sie Fly Now Pay Later einrichten möchten.
-
Schritt 4: Klicken Sie auf die Schaltfläche „Fertig“.
-
Schritt 5: Sie sehen als nächstes den Integrationsbildschirm und den Integrationsschlüssel, den Sie benötigen, um die Bibliothek der Fly Now Pay Later-Funktionen in Ihre Website zu integrieren.
Hier gewinnen Sie Ihre Kunden.
Bevor Sie beginnen, stellen Sie bitte sicher, dass Sie den richtigen Integrationsschlüssel für Ihre Implementierung haben. (Weitere Informationen finden Sie unter Einrichten Ihrer Integration).
Unsere Bibliothek einbetten
Sie müssen den Service von Fly Now Pay Later über ein Skript-Tag einbinden, das auf unseren API-Endpunkt abzielt. Folgende sind die unterstützten URL-Parameter, die Sie innerhalb der URL angeben können:
https://widget.flynowpaylater.com/cdn/integration.min.js
Bei der Integration der Testumgebung wird die Anwendung im Entwicklermodus integriert.
Auf diesem Bildschirm können Sie alle an uns gesendeten Variablen bestätigen und Trigger nutzen, die unsere Anwendung ausführen kann.
-
callback=meinCallback
Der Name Ihrer Callback-Funktion.
-
key=**********
Der Integrationsschlüssel, der Ihre Integration im Portal repräsentiert.
-
currency=gbp (optional)
Die Währung, in der die Integration geladen wird.
-
locale=en (optional)
Die Sprache der Integrationsschnittstelle.
-
jurisdiction=gb (optional)
Der Ländercode der Gerichtsbarkeit, in der diese Anwendung genutzt wird.
-
mode=demo (optional)
Nur im Testmodus verfügbar – Lädt den Prozess zur Anwendung der Demo von Fly Now Pay Later.
-
reference=ABC1234 (optional)
Dies ist Ihre Systemreferenz.
Ihr Callback
Sie müssen eine Callback-Funktion erstellen, die dann ausgeführt wird, wenn der Service von Fly Now Pay Later gerade geladen wird. Sobald der Service geladen ist, ruft er den geregelten Callback auf und stellt Ihnen die Vorlage von Fly Now Pay Later zur Verfügung. Diese Vorlage kann dann für die Einrichtung Ihres Reiseplans und der Kundeninformationen verwendet werden.
<script type="text/javascript"> window.fnplCallback = FNPL => { // ... Die Variable FNPL repräsentiert die FNPL-Vorlage. }; </script>
Vorlage für Fly Now Pay Later
Die Vorlage wird Ihnen bei der Einbindung des Service von Fly Now Pay Later zur Verfügung gestellt. Sobald sie Ihnen zur Verfügung gestellt wird, dürfen Sie sie nutzen. Bitte beachten Sie dabei, das Modell im privaten Bereich zu belassen und es nicht für einen öffentlichen Bereich freizugeben, um zu verhindern, dass fortgeschrittene Benutzer über die Browserkonsole darauf zugreifen können.
- Reiseplan-Methoden
-
itinerary.type.setFlightType(): void DEPRECATED
Setzt den Reiseplantyp auf „Flugbuchung“.
-
itinerary.clearFlights(): void
Löscht alle Flüge aus dem Reiseplan.
-
itinerary.addFlight(FlightObject): void
Trägt einen Flug ein, der nicht zum Reiseplan gehört.
-
itinerary.clearHotels(): void
Löscht alle Hotels aus dem Reiseplan.
-
itinerary.addHotel(HotelObject): void
Trägt ein Hotel ein, das nicht zum Reiseplan gehört.
-
itinerary.clearRentals(): void
Löscht alle Mietgegenstände aus dem Reiseplan.
-
itinerary.addRental(RentalItem): void
Trägt einen Mietgegenstand ein, der nicht zum Reiseplan gehört.
-
itinerary.person.name.set(string): void
Der vollständige Name des Hauptreisenden auf Ihrer Buchung.
-
itinerary.person.name.get(): string | NULL
Sendet den vollständigen Namen des Hauptreisenden zurück.
-
itinerary.person.name.clear(): void
Löscht den vollständigen Namen des Hauptreisenden.
-
itinerary.person.dob.set(int day, int month, int year): void
Legt das Geburtsdatum des Hauptreisenden fest.
-
itinerary.person.dob.get(): Date | NULL
Sendet das Geburtsdatum des Hauptreisenden zurück.
-
itinerary.person.dob.clear(): void
Löscht das Geburtsdatum des Hauptreisenden.
- Checkout-Methoden
-
checkout.amount.set(float): void
Legt den vollständigen Zahlungsbetrag fest, den Sie erhalten möchten.
-
checkout.amount.get(): float | NULL
Sendet den Zahlungsbetrag zurück, den Sie erhalten möchten.
-
checkout.currency.get(): string
Sendet den Währungscode für diese Zahlung zurück.
-
checkout.locale.get(): string
Sendet den Gebietscode für diese Zahlung zurück.
-
checkout.jurisdiction.get(): string
Sendet den Ländercode der Gerichtsbarkeit für diese Zahlung zurück.
- Antragsteller-Methoden
-
applicant.fullName.set(string): void
Legt den vollständigen Namen des Antragstellers fest.
-
applicant.fullName.get(): string | NULL
Sendet den vollständigen Namen des Antragstellers zurück.
-
applicant.fullName.clear(): void
Löscht den vollständigen Namen des Antragstellers.
-
applicant.dateOfBirth.set(int day, int month, int year): void
Legt das Geburtsdatum des Antragstellers fest.
-
applicant.dateOfBirth.get(): Date | NULL
Sendet das Geburtsdatum des Antragstellers zurück.
-
applicant.dateOfBirth.clear(): void
Löscht das Geburtsdatum des Antragstellers.
-
applicant.residentialType.set(integer): void
Legt die Art der Wohnung des Antragstellers mit ResidentialType fest.
-
applicant.residentialType.get(): integer | NULL
Sendet die Art der Wohnung des Antragstellers zurück.
-
applicant.residentialType.clear(): void
Löscht die Art der Wohnung des Antragstellers.
-
applicant.employmentType.set(integer): void
Legt die Art der Wohnung des Antragstellers mit EmploymentType fest.
-
applicant.employmentType.get(): integer | NULL
Sendet die Art der Wohnung des Antragstellers zurück.
-
applicant.employmentType.clear(): void
Löscht die Art der Wohnung des Antragstellers.
-
applicant.phone.country.set(string country code): void
Legt die Handy-Landesvorwahl des Antragstellers fest.
-
applicant.phone.country.get(): string | NULL
Sendet die Handy-Landesvorwahl des Antragstellers zurück.
-
applicant.phone.country.clear(): void
Löscht die Handy-Landesvorwahl des Antragstellers.
-
applicant.phone.number.set(string): void
Legt die Handynummer des Antragstellers ohne Landesvorwahl fest.
-
applicant.phone.number.get(): string | NULL
Sendet die Handynummer des Antragstellers ohne Landesvorwahl zurück.
-
applicant.phone.number.clear(): void
Löscht die Handynummer des Antragstellers.
-
applicant.email.set(string): void
Legt die E-Mail-Adresse des Antragstellers fest.
-
applicant.email.get(): string | NULL
Sendet die E-Mail-Adresse des Antragstellers zurück.
-
applicant.email.clear(): void
Löscht die E-Mail-Adresse des Antragstellers.
-
applicant.salary.currency.set(string currency code): void
Legt die Gehaltswährung des Antragstellers fest.
-
applicant.salary.currency.get(): string | NULL
Sendet die Gehaltswährung des Antragstellers zurück.
-
applicant.salary.currency.clear(): void
Löscht die Gehaltswährung des Antragstellers.
-
applicant.salary.annualAmount.set(integer): void
Legt den jährlichen Gehaltsbetrag des Antragstellers fest.
-
applicant.salary.annualAmount.get(): integer | NULL
Legt den jährlichen Gehaltsbetrag des Antragstellers fest.
-
applicant.salary.annualAmount.clear(): void
Legt den jährlichen Gehaltsbetrag des Antragstellers fest.
-
applicant.gender.set(integer GenderType): void
Legt das Geschlecht des Antragstellers mit GenderType fest.
-
applicant.gender.get(): integer | NULL
Sendet das Geschlecht des Antragstellers zurück.
-
applicant.gender.clear(): void
Löscht das Geschlecht des Antragstellers.
-
applicant.address.floor.set(string): void
Legt das Stockwerk der Hauptadresse des Antragstellers fest.
-
Legt das Stockwerk der Hauptadresse des Antragstellers fest.
Legt das Stockwerk der Hauptadresse des Antragstellers fest.
-
applicant.address.floor.clear(): void
Löscht das Stockwerk der Hauptadresse des Antragstellers.
-
applicant.address.apartment.set(string): void
Legt das Zimmer der Hauptadresse des Antragstellers fest.
-
applicant.address.apartment.get(): string | NULL
Legt das Zimmer der Hauptadresse des Antragstellers fest.
-
applicant.address.apartment.clear(): void
Löscht das Zimmer der Hauptadresse des Antragstellers.
-
applicant.address.house.set(string): void
Legt das Haus der Hauptadresse des Antragstellers fest.
-
applicant.address.house.get(): string | NULL
Legt das Haus der Hauptadresse des Antragstellers fest.
-
applicant.address.house.clear(): void
Löscht das Haus der Hauptadresse des Antragstellers.
-
applicant.address.street.set(string): void
Legt die Straße der Hauptadresse des Antragstellers fest.
-
applicant.address.street.get(): string | NULL
Legt die Straße der Hauptadresse des Antragstellers fest.
-
applicant.address.street.clear(): void
Löscht die Straße der Hauptadresse des Antragstellers.
-
applicant.address.city.set(string): void
Legt die Stadt der Hauptadresse des Antragstellers fest.
-
applicant.address.city.get(): string | NULL
Legt die Stadt der Hauptadresse des Antragstellers fest.
-
applicant.address.city.clear(): void
Löscht die Stadt der Hauptadresse des Antragstellers.
-
applicant.address.county.set(string): void
Legt den Verwaltungsbezirk der Hauptadresse des Antragstellers fest.
-
applicant.address.county.get(): string | NULL
Legt den Verwaltungsbezirk der Hauptadresse des Antragstellers fest.
-
applicant.address.county.clear(): void
Löscht den Verwaltungsbezirk der Hauptadresse des Antragstellers.
-
applicant.address.postcode.set(string): void
Legt die Postleitzahl der Hauptadresse des Antragstellers fest.
-
applicant.address.postcode.get(): string | NULL
Legt die Postleitzahl der Hauptadresse des Antragstellers fest.
-
applicant.address.postcode.clear(): void
Löscht die Postleitzahl der Hauptadresse des Antragstellers.
-
applicant.address.country.set(string country code): void
Legt das Land der Hauptadresse des Antragstellers fest.
-
applicant.address.country.get(): string | NULL
Legt das Land der Hauptadresse des Antragstellers fest.
-
applicant.address.country.clear(): void
Löscht das Land der Hauptadresse des Antragstellers.
- Generische Methoden
-
build(your-element-id): void
Nach dem Aufruf wird ein
iframe
-Element innerhalb des angegebenen Dom-Elements erstellt. Dies ist der Ort, an dem alle unsere visuellen Anwendungsprozesse stattfinden werden. -
setCallback.complete(function): void
Im Falle eines erfolgreichen Kundenantrags wird der Kunde seine Gelder autorisieren und die Bibliothek von Fly Now Pay Later wird den erfolgreichen Callback durchführen. Hier müssen Sie Ihre Erfolgs-Callback-Funktion zuweisen, die zum Zeitpunkt der erfolgreichen Autorisierung der Kundengelder ausgeführt wird. Wenn die Funktion ausgeführt wird, muss sie ein Argument
token
enthalten. Das bereitgestellte Token kann dann verwendet werden, um die Autorisierung an der Backend API von Fly Now Pay Later zu verarbeiten. Wenn Ihrer Integration ein Zahlungs-Proxy zugeordnet ist, senden wir die Geldmittel zum Zeitpunkt der Einreichung des Tokens bei Fly Now Pay Later an Ihren Zahlungsabwickler, in allen anderen Fällen senden wir Ihnen die vollständigen Karteninformationen zurück, die Sie dann mit Ihren eigenen Zahlungsabwicklungstools verarbeiten können. -
save(): void
Legt die von Ihnen angegebenen Informationen verbindlich fest und übermittelt sie an unser System. Falls Sie zu irgendeinem Zeitpunkt Änderungen vornehmen müssen, ändern Sie das entsprechende Reiseplanfeld und führen Sie die Methode .save() aus, um die Änderungen zu bestätigen.
FlightObject
Dies ist ein Objekt, das Informationen für einen Einwegflug enthält.
-
flightNumber string
Enthält die Flugnummer, zum Beispiel
SVO8122
. -
passengers array
Enthält ein Array mit einem oder mehreren PersonObject-Objekten.
-
from.date.day integer
Enthält die Tageszahl des Abreisedatums
-
from.date.month integer
Enthält die Monatszahl des Abreisedatums
-
from.date.year integer
Enthält die Jahreszahl des Abreisedatums
-
from.airport string
Enthält den IATA-Code des Abflughafens, zum Beispiel
LGW
. -
from.country string
Enthält den Code des Abgangslandes, zum Beispiel
GB
. -
to.date.day integer
Enthält die Tageszahl des Ankunftsdatums
-
to.date.month integer
Enthält die Monatszahl des Ankunftsdatums
-
to.date.year integer
Enthält die Jahreszahl des Ankunftsdatums
-
to.airport string
Enthält den IATA-Code des Ankunftsflughafens, zum Beispiel
LGW
. -
to.country string
Enthält den Code des Ankunftslandes, zum Beispiel
GB
.
HotelObject
Dies ist ein Objekt, das Informationen für eine einzelne Hotelbuchung enthält.
-
checking.in.day integer
Enthält die Zahl des Check-in-Tages
-
checking.in.month integer
Enthält die Zahl des Check-in-Monats
-
checking.in.year integer
Enthält die Zahl des Check-in-Jahres
-
checking.out.day integer
Enthält die Zahl des Check-out-Tages
-
checking.out.month integer
Enthält die Zahl des Check-out-Monats
-
checking.out.year integer
Enthält die Zahl des Check-out-Jahres
-
persons array
Enthält ein Array aus einem oder mehreren PersonObject-Objekten.
-
name string
Name des Hotels.
-
rooms integer
Anzahl der gebuchten Zimmer.
-
country string
Enthält den Ländercode des Landes, in dem sich das Hotel befindet, zum Beispiel
GB
.
RentalObject
Dies ist ein Objekt, das Informationen zu einem einzelnen Mietobjekt enthält.
-
period.start.day integer
Enthält die Zahl des Tages des Periodenbeginns
-
period.start.month integer
Enthält die Monatszahl des Zeitraums
-
period.start.year integer
Enthält die Jahreszahl des Zeitraums
-
period.end.day integer
Enthält die Zahl des Endtages des Zeitraums
-
period.end.month integer
Enthält die Zahl des Endmonats des Zeitraums
-
period.end.year integer
Enthält die Zahl des Endjahres des Zeitraums
-
persons array
Enthält ein Array aus einem oder mehreren PersonObject-Objekten.
-
name string
Name des Hotels.
-
country string
Enthält den Ländercode des Landes, in dem sich das Hotel befindet, zum Beispiel
GB
.
PersonObject
Dies ist ein Objekt, das grundlegende Informationen über eine Person enthält.
-
name string
Enthält den vollständigen Namen des Reisenden.
-
dob.day integer
Enthält die Tageszahl des Geburtsdatums des Reisenden.
-
dob.month integer
Enthält die Monatszahl des Geburtsdatums des Reisenden.
-
dob.year integer
Enthält die Jahreszahl des Geburtsdatums des Reisenden.
GenderType
Liste der unterstützten Typen.
-
101 Weiblich
-
102 Männlich
EmploymentType
Liste der unterstützten Varianten.
-
100 Andere
-
101 Vollzeitbeschäftigung
-
102 Teilzeitbeschäftigung
-
103 Selbstständig
-
104 Nicht erwerbstätig
-
105 Student
-
106 Hausfrau
-
107 Im Ruhestand
ResidentialType
Liste der unterstützten Typen.
-
100 Sonstiger Mieter
-
101 Eigentümer
-
102 Mieter einer unmöblierten Wohnung
-
103 Mieter einer Sozialwohnung
-
104 Wohngemeinschaft
-
105 Lebt bei den Eltern
-
106 Mieter einer möblierten Wohnung
Beispiel für eine Integration
Hier ist ein Beispiel für die vollständige clientseitige Integration. Sie müssen so viele Informationen wie möglich angeben, um sicherzustellen, dass der Kunde unseren Prozess so schnell wie möglich durchläuft, um bei Ihren die Zahlung abzuschließen.
<div id="your-element-id"></div> <script type="text/javascript"> window.fnplCallback = FNPL => { FNPL.build('your-element-id'); // Legen Sie die Informationen über den Antragsteller fest (Kann mit dem Hauptpassagier übereinstimmen) FNPL.applicant.fullName.set('John Stuart-Tomas Doe'); FNPL.applicant.dateOfBirth.set(16, 3, 1990); FNPL.applicant.residentialType.set(101); FNPL.applicant.employmentType.set(101); FNPL.applicant.phone.country.set('GB'); FNPL.applicant.phone.number.set('7777000066'); FNPL.applicant.email.set('kunde@email-addres.se'); FNPL.applicant.salary.currency.set('GBP'); FNPL.applicant.salary.annualAmount.set(30000); FNPL.applicant.address.floor.set('4'); FNPL.applicant.address.apartment.set('12b'); FNPL.applicant.address.street.set('Marktstraße'); FNPL.applicant.address.city.set('Hyde'); FNPL.applicant.address.county.set('Greater Manchester'); FNPL.applicant.address.postcode.set('SK14 1HG'); FNPL.applicant.address.country.set('GB'); // Legen Sie die Informationen über den Hauptpassagier auf Ihrer Buchung fest FNPL.itinerary.person.name.set('John Stuart-Tomas Doe'); FNPL.itinerary.person.dob.set(16, 3, 1990); // Legen Sie die Informationen zu Ihrem Reiseplan fest // FNPL.itinerary.type.setFlightType(); // DEPRECATED // Sie können alle Anschluss-, Rück- oder Einzelflüge auf dem Ticket registrieren, es existieren keine Beschränkungen. // Tragen Sie den ersten Flug auf dem Ticket mit allen Passagieren dieses Fluges ein. FNPL.itinerary.addFlight({ flightNumber: 'FL123', passengers: [ { name: 'John Stuart-Tomas Doe', dob: {day:16, month: 3, year: 1990} }, { name: 'Anna Doe', dob: {day:2, month: 5, year: 1985} } ], from: { date: {day:10, month:1, year: 2021}, country: 'gb', airport: 'lgw', }, to: { date: {day:10, month:1, year: 2021}, country: 'gb', airport: 'lut', } }); // Legen Sie die Folge- oder Rückflüge auf dem Ticket fest FNPL.itinerary.addFlight({ flightNumber: 'FL345', passengers: [ { name: 'John Stuart-Tomas Doe', dob: {day:16, month: 3, year: 1990} } ], from: { date: {day:10, month:1, year: 2021}, country: 'gb', airport: 'lgw', }, to: { date: {day:11, month:1, year: 2021}, country: 'lv', airport: 'rix', } }); FNPL.itinerary.addHotel({ name: 'Tree House', rooms: 2, country: 'GB', checking: { in: {day:11, month:1, year: 2021}, out: {day:16, month:1, year: 2021} }, persons: [ { name: 'John Stuart-Tomas Doe', dob: {day:16, month: 3, year: 1990} }, { name: 'Anna Doe', dob: {day:2, month: 5, year: 1985} } ] }); FNPL.itinerary.addRental({ name: 'BMW e70, year 2007, x-drive 3.0d', country: 'GB', period: { start: {day:11, month:1, year: 2021}, end: {day:16, month:1, year: 2021} }, persons: [ { name: 'John Stuart-Tomas Doe', dob: {day:16, month: 3, year: 1990} }, { name: 'Anna Doe', dob: {day:2, month: 5, year: 1985} } ] }); // Legen Sie die Zahlungsinformationen fest FNPL.checkout.amount.set(799.98); // Legen Sie die Callback-Funktion fest, die wir aufrufen werden, sobald eine erfolgreiche Autorisierung eingeleitet wurde. FNPL.setCallback.complete(dispersalToken => { Alert('Ihr Verteilungstoken ist: ' + dispersalToken); }); // Leiten Sie die Speicherfunktion ein, um die Änderungen an unseren Service zu senden. FNPL.save(); }; </script>
Serverseitig
Wie wir in der clientseitigen Dokumentation beschrieben haben, haben Sie ein Verteilungstoken erhalten, wenn der Prozess eines Antrags oder Logins erfolgreich ist, d.h. wenn ein Kunde von Fly Now Pay Later eine Zahlung an Sie autorisiert hat. Sie müssen dann eine serverseitige Anfrage an die Backend API von Fly Now Pay Later bearbeiten, um die Zahlungskartendaten zu erhalten.
Wenn Ihre Integration für die Verwendung eines Zahlungs-Proxys eingerichtet ist, werden wir die Zahlung an Ihren Zahlungs-Proxy ausführen und die Informationen zurücksenden, die wir von ihm erhalten.