Gå til indhold

Integration med TripPay

Denne artikel indeholder et end-to-end eksempel på, hvordan man integrerer med TripPay.

Det anbefales, at du allerede har læst:

Her er trinnene til succesfuldt at bruge TripPay til at betale for en booking:

  1. Sørg for, at de modtagere, du nævner i bookingkontrakten, er blevet mappet.
  2. Lad rejsende vælge det inventar, de ønsker at booke, og forbered dem på at betale.
  3. Opret en payable contract med TripPay, der indeholder de varer, der skal bookes.
  4. Lad rejsende betale ved hjælp af TripPay Web Component.

Vi antager, at du allerede har gennemført Trin 1 og Trin 2 og er klar til at lade TripPay få besked om bookingen.

Her er et JSON-eksempel på en anmodning, der indeholder alt, hvad du behøver for at oprette din første payable 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"
}
]
}
]
}
]
}

Forklaring:

Vi vil ikke forklare hvert datapunkt her, da de allerede er dækket i API-dokumentationen.

  • Linjer: 2 - 7 er brugeren, der er ansvarlig for bookingen. Der findes to typer bookere:
    • Rejsende.
    • Rejsebureau.
  • Linjer: 8 - 9 er TripPay-kontoen, der faciliterer bookingen. Det kan være:
    • Din TripPay integratorkonto.
    • Hvis du driver et affiliate-netværk, kan det være din affiliate.
  • Brug en traceId til at gruppere flere bookinger på tværs af flere leverandører. På den måde kan du annullere en gruppebooking.
  • redirectUrl fortæller TripPay, hvilken side der skal omdirigeres til, når betalingen er fuldført.
  • sourceUrl er det site/app, hvor bookingen fandt sted.

contractList-arrayet indeholder de varer, som den rejsende ønsker at købe fra flere leverandører. Hver vare indeholder:

  • identifier er en gyldig UUID, som du genererer.
  • Leverandøren, du ønsker at booke inventar fra.
  • Inventaret, du ønsker at booke fra den leverandør. Disse er alle specificeret i det indlejrede array contractItemList.
  • Hver post under contractItemList indeholder:
    • Gæstebruger Dette er brugeren, der vil ankomme til stedet.
    • Navn på engelsk Navnet på inventaret på engelsk.
    • Beskrivelse på engelsk En længere beskrivelse af inventaret på engelsk.
    • Pris Prisen på varen.
    • Rejseplan Hvornår denne vare skal bookes.
    • Pristype Hvordan prisen blev beregnet.
    • Inventartype Hvilken type inventar dette er.
    • Payable Hvornår den rejsende skal opkræves. Vi understøtter i øjeblikket kun øjeblikkelige betalingsmuligheder.
    • Politik Inkluder regler for afbestillingspolitik.
    • Daglig prisliste Hvis varen, der bookes, er et værelse, kan du vælge at inkludere, hvor meget det værelse koster for hver nat, gæsten bliver.
    • Modtagere Inkluder hvilke TripPay-konto(er), der skal tildeles hvilke beløb af prisen på varen. Faste/procentbeløb understøttes.

Når TripPay svarer på din anmodning, vil det se nogenlunde sådan ud:

[
{
"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"
}
}
]

Gem id på linje 3. Du vil bruge denne til at indsætte i TripPay webkomponenten.

På dette tidspunkt er du klar til at indlejre Payment Web Component på dit website og vise det til brugeren.

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

Hvad angår integration, er det alt, hvad du behøver at gøre. Alt det tunge arbejde udføres af TripPay herfra.