Hoppa till innehåll

Integrera med TripPay

Den här artikeln innehåller ett komplett exempel på hur du integrerar med TripPay.

Det rekommenderas att du redan har läst:

Här är stegen för att framgångsrikt använda TripPay för att betala en bokning:

  1. Se till att de mottagare du nämner i bokningskontraktet har mappats.
  2. Låt resenären välja det lager de vill boka och förbered dem för att betala.
  3. Skapa ett payable contract med TripPay som innehåller de objekt som ska bokas.
  4. Låt resenären betala med TripPay Web Component.

Vi antar att du redan har slutfört Steg 1 och Steg 2 och är redo att låta TripPay få information om bokningen.

Här är ett JSON-exempel på en begäran som innehåller allt du behöver för att skapa ditt första 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"
}
]
}
]
}
]
}

Förklaring:

Vi kommer inte att förklara varje datapunkt här eftersom de redan täcks i API-dokumentationen.

  • Rader: 2 - 7 är användaren som ansvarar för bokningen. Det finns två typer av bokare:
    • Resenär.
    • Resebyrå.
  • Rader: 8 - 9 är TripPay-kontot som underlättar bokningen. Det kan vara:
    • Ditt TripPay-integratörskonto.
    • Om du driver ett affiliatenätverk kan det vara din affiliate.
  • Använd ett traceId för att gruppera flera bokningar över flera leverantörer. På så sätt kan du avboka en gruppbokning.
  • redirectUrl låter TripPay veta vilken sida som ska visas efter att betalningen är slutförd.
  • sourceUrl är webbplatsen/app där bokningen gjordes.

contractList-arrayen innehåller de objekt som resenären vill köpa från flera leverantörer. Varje objekt innehåller:

  • identifier är ett giltigt UUID som du genererar.
  • Leverantören du vill boka lager från.
  • Lagret du vill boka från den leverantören. Dessa specificeras i den nästlade arrayen contractItemList.
  • Varje post under contractItemList innehåller:
    • Gäst användare Detta är användaren som kommer att anlända till platsen.
    • Namn på engelska Namnet på lagret på engelska.
    • Beskrivning på engelska En längre beskrivning av lagret på engelska.
    • Pris Priset på objektet.
    • Resplan När detta objekt ska bokas.
    • Pristyp Hur priset beräknades.
    • Lager typ Vilken typ av lager detta är.
    • Betalningsbar När resenären ska debiteras. Vi stödjer för närvarande endast omedelbara betalningsalternativ.
    • Policy Inkludera regler för avbokningspolicy.
    • Lista över dagliga priser Om objektet som bokas är ett rum kan du välja att inkludera hur mycket rummet kostar för varje natt gästen stannar.
    • Mottagare Inkludera vilka TripPay-konton som ska tilldelas vilka belopp av priset på objektet. Fasta / procentuella belopp stöds.

När TripPay svarar på din begäran ser det ut ungefär så här:

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

Spara id på rad 3. Du kommer att använda detta för att injicera i TripPay web component.

Vid det här laget är du redo att bädda in Payment Web Component på din webbplats och visa den för användaren.

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

När det gäller integration är det allt du behöver göra. Allt det tunga arbetet sköts av TripPay härefter.