Fly Now Pay Later einrichten

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.

Das Vertriebsteam kontaktieren.

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.

Einrichten der Oberfläche, die Ihre Kunden sehen

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.

<script type="text/javascript" src="https://widget.flynowpaylater.com/cdn/integration.min.js?callback=fnplCallback&key=ABC"></script>

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 Argumenttoken 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.


Bewilligung von Geldmitteln

Wenn Ihre Integration für die Verwendung eines Zahlungs-Proxy eingerichtet ist, werden wir die Zahlung an Ihren Zahlungs-Proxy vornehmen und die Informationen zurücksenden, die wir von ihm erhalten.
Sie müssen das clientseitig empfangene Verteilungstoken an den Verteilungsendpunkt unserer Backend-API senden.

Bitte schauen Sie in Ihrem Integrationsprotokoll im Händlerportal von Fly Now Pay Later nach, um Ihr API-Schlüssel-Autorisierungstoken einzusehen.