Skip to content

Integrering med TripPay

Denne artikkelen inneholder et komplett eksempel på hvordan man integrerer med TripPay.

Det anbefales at du allerede har lest:

Her er trinnene for å bruke TripPay til å betale for en bestilling:

  1. Sørg for at mottakerne du nevner i bestillingskontrakten er kartlagt.
  2. La den reisende velge hvilket inventar de ønsker å bestille, og la dem gjøre seg klare til å betale.
  3. Opprett en payable contract med TripPay som inneholder varene som skal bestilles.
  4. La den reisende betale ved hjelp av TripPay-webkomponenten.

Vi antar at du allerede har fullførtStep 1ogStep 2og er klare til å gi TripPay beskjed om bestillingen.

Gå til betalings-API-et for å lære mer om kravene for å opprette en betalbar kontrakt.

Her er en JSON-eksempelforespørsel som inneholder alt du trenger for å opprette din første betalbare kontrakt.

{
"user": {
"userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01",
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@email.com"
},
"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": "john.smith@email.com",
"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 kommer ikke til å forklare alle datapunktene her, da de allerede er dekket i API-dokumentasjonen.

  • Linjer:2–7er brukeren som er ansvarlig for bestillingen. Det finnes to typer bestillere:
    • Reisende.
    • Reisebyrå.
  • Linjer:8–9Er TripPay-kontoen som tilrettelegger bestillingen? Det kan være:
    • Din TripPay-integratorkonto.
    • Hvis du driver et affiliate-nettverk, kan det være din affiliate.
  • Bruk entraceIdå gruppere flere bestillinger på tvers av flere leverandører. På denne måten kan du avbryte en gruppebestilling.
  • redirectUrllar TripPay vite hvilken side den skal omdirigere til etter at betalingen er fullført.
  • sourceUrler nettstedet/appen bestillingen ble gjort på.

DencontractListMatrisen inneholder varen(e) den reisende ønsker å kjøpe fra flere leverandører. Hver vare inneholder:

  • Denidentifierer en gyldig UUID du genererer.
  • Leverandøren du ønsker å bestille lagerbeholdning fra.
  • Varelageret du ønsker å bestille fra den leverandøren. Alt dette er spesifisert i den nestede tabellen.contractItemList.
  • Hver oppføring undercontractItemListinneholder:
    • GjestebrukerDette er brukeren som skal ankomme lokalene.
    • Navn på engelskNavnet på inventaret på engelsk.
    • Beskrivelse på engelskEn lengre beskrivelse av inventaret på engelsk.
    • PrisPrisen på varen.
    • ReiseruteNår denne varen skal bestilles.
    • PristypeHvordan prisen ble beregnet.
    • LagertypeHva slags varelager dette er.
    • Som skal betalesNår den reisende skal belastes.Vi støtter for øyeblikket bare umiddelbare betalingsalternativer.
    • PolitikkInkluder regler for avbestillingsregler.
    • Daglig prislisteHvis varen som bestilles er et rom, kan du velge å inkludere hvor mye rommet kostet for hver natt gjesten bor.
    • MottakereOppgi hvilke TripPay-kontoer som skal tildeles hvilke beløp av varens pris.Faste beløp / prosentbeløp støttes.

I JSON-eksemplet ovenfor har vi tre mottakere:

  • 1,5 % ble tildelt plattformen som tilrettela bestillingen.f.eks. Blunk
  • 9,85 % ble tildelt affiliaten som provisjon.f.eks. Kim Kardashian
  • 88,65 % ble tildelt leverandøren for bestilling av rommet.f.eks. Hilton

Når TripPay svarer med en betalbar kontrakt, vil du legge merke til at de har tilført sin egen mottaker 4,0 %. :::

Når TripPay svarer på forespørselen din, vil det se omtrent slik ut:

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

Lagreidpå linje 3. Du skal bruke dette til å sette det inn i TripPay-webkomponenten.

Sørg for at du har lastet inn stilene og Javascript-filen vår på forhånd.

På dette tidspunktet er du klar til å legge innPayment Web Componentinn på nettstedet ditt og vis det til brukeren.

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

Når det gjelder integrering, er det alt du trenger å gjøre. Alt det tunge arbeidet gjøres av TripPay fra nå av.