Ga naar inhoud

Integratie met TripPay

Dit artikel bevat een end-to-endvoorbeeld van hoe u kunt integreren met TripPay.

Het is aan te raden dat u het volgende alvast leest:

Dit zijn de stappen om TripPay succesvol te gebruiken om een boeking te betalen:

  1. Zorg ervoor dat de begunstigden die u in het boekingscontract vermeldt, in kaart zijn gebracht.
  2. Laat de reiziger kiezen welke uitrusting hij wil boeken en wacht tot hij kan betalen.
  3. Maak een payable contract met TripPay die de te boeken items bevat.
  4. Laat de reiziger betalen via de TripPay-webcomponent.

Wij gaan ervan uit dat u dit al heeft afgerondStep 1 En Step 2en bereid zijn TripPay op de hoogte te stellen van de boeking.

Hier is een JSON-voorbeeldverzoek dat alles bevat wat u nodig hebt voor uw eerste betaalbare contract.

{
"user": {
"userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01",
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]"
},
"affiliateAccountIdentifier": "291d5729-0b91-4001-95df-2bec7a6e9a01",
"affiliateAccountIdentifierType": "INTERNAL",
"displayCurrency": "USD",
"traceId": "trace-1",
"redirectUrl": "/thank-you",
"sourceUrl": "https://www.travel.com",
"contractList": [
{
"identifier": "191d5729-0b90-4000-8298-72431beb1701",
"supplierIdentifier": "191d5729-0b90-4000-8b72-58186a642401",
"supplierIdentifierType": "EXTERNAL",
"contractItemList": [
{
"user": {
"userIdentifier": "191d5729-0b90-4000-8596-ed18f9876801",
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]",
"telephone": "+1 212 555 1212",
},
"nameInEnglish": "Deluxe King",
"descriptionInEnglish": "This is the best deluxe king that money can buy.",
"price": {
"amount": 100,
"currency": "USD"
},
"itinerary": {
"startDate": "2024-12-24T00:00:00.000Z",
"endDate": "2024-12-25T00:00:00.000Z",
"adults": 2
},
"pricingType": "PER_STAY",
"type": "LODGING",
"payable": "PREPAY",
"policy": {
"refundable": true
},
"externalIdentifier": "room-type-1",
"dailyRateList": [
{
"date": "2024-12-24",
"price": {
"amount": 100,
"currency": "USD"
}
}
],
"beneficiaryList": [
{
"identifier": "account-0",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.015
},
"type": "PLATFORM_FEE"
},
{
"identifier": "account-1",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.0985
},
"type": "COMMISSION"
},
{
"identifier": "account-2",
"identifierType": "INTERNAL",
"amountDue": {
"type": "PERCENTAGE",
"percent": 0.8865
},
"type": "SALE"
}
]
}
]
}
]
}

Uitleg:

We gaan hier niet alle gegevenspunten uitleggen, omdat deze al in de API-documentatie worden behandeld.

  • Lijnen:2 - 7is de gebruiker die verantwoordelijk is voor de boeking. Er zijn twee soorten boekers:
    • Reiziger.
    • Reisagent.
  • Lijnen:8 - 9is het TripPay-account dat de boeking faciliteert. Het kan zijn:
    • Uw TripPay-integratoraccount.
    • Als u een affiliatenetwerk beheert, kan dit uw affiliate zijn.
  • Gebruik eentraceIdOm meerdere boekingen bij meerdere leveranciers te groeperen. Zo kunt u een groepsboeking annuleren.
  • redirectUrllaat TripPay weten naar welke pagina er moet worden doorgestuurd nadat de betaling is voltooid.
  • sourceUrlis de site/app waarop de boeking heeft plaatsgevonden.

DecontractListDe array bevat de artikelen die de reiziger bij meerdere leveranciers wil kopen. Elk artikel bevat:

  • Deidentifieris een geldige UUID die u genereert.
  • De leverancier bij wie u voorraad wilt boeken.
  • De voorraad die u bij die leverancier wilt boeken. Deze worden allemaal gespecificeerd in de geneste array.contractItemList.
  • Elke inzending ondercontractItemListbevat:
    • GastgebruikerDit is de gebruiker die op het terrein aankomt.
    • Naam in het EngelsDe naam van de inventaris in de Engelse taal.
    • Beschrijving in het EngelsEen langere beschrijving van de inventaris in de Engelse taal.
    • PrijsDe prijs van het artikel.
    • RoutebeschrijvingWanneer dit item geboekt moet worden.
    • PrijstypeHoe de prijs werd berekend.
    • VoorraadtypeWat voor soort inventaris dit is.
    • Te betalenWanneer de reiziger moet betalen.Momenteel ondersteunen wij alleen directe betalingsopties.
    • BeleidNeem annuleringsvoorwaarden op.
    • Dagelijkse tarievenlijstAls er een kamer wordt geboekt, kunt u aangeven hoeveel de kamer kost per nacht dat de gast verblijft.
    • BegunstigdenGeef aan welke TripPay-rekening(en) welk bedrag van de prijs van het artikel toegewezen moet krijgen.Vaste/percentagebedragen worden ondersteund.

Wanneer TripPay op uw verzoek reageert, ziet het er ongeveer zo uit:

[
{
"id": "contract-1",
"traceId": "trace-1",
"supplierContractIdentifier": "191d5729-0b90-4000-8298-72431beb1701",
"supplierIdentifier": "191d5729-0b90-4000-8b72-58186a642401",
"supplierName": "Hilton",
"totalPrice": {
"amount": 100,
"currency": "USD"
},
"totalDisplayPrice": {
"amount": 100,
"currency": "USD"
},
"totalSupplierPrice": {
"amount": 100,
"currency": "USD"
},
"totalInternalPrice": {
"amount": 100,
"currency": "USD"
},
"totalCapturePrice": {
"amount": 100,
"currency": "USD"
}
}
]

Bewaar deidop regel 3. U gebruikt dit om in het TripPay-webcomponent te injecteren.

Op dit punt bent u klaar om dePayment Web Componentin uw website en toon deze aan de gebruiker.

<trip-pay id="contract-1"></trip-pay>

Wat de integratie betreft, hoeft u verder niets te doen. Al het zware werk wordt vanaf nu door TripPay gedaan.