Skip to content

Integracija su TripPay

Šiame straipsnyje pateikiamas pilnas pavyzdys, kaip integruotis su TripPay.

Rekomenduojama, kad jau būtumėte perskaitę:

Štai žingsniai, kaip sėkmingai naudoti TripPay mokėjimui už rezervaciją:

  1. Įsitikinkite, kad naudotojai, kuriuos nurodote rezervacijos sutartyje, yra susieti.
  2. Leiskite keliautojui pasirinkti norimą rezervuoti inventorių ir pasiruošti mokėjimui.
  3. Sukurkite payable contract su TripPay, kuriame būtų įtraukti rezervuojami elementai.
  4. Leiskite keliautojui sumokėti naudodami TripPay Web Component.

Darome prielaidą, kad jau atlikote 1 žingsnį ir 2 žingsnį ir esate pasiruošę pranešti TripPay apie rezervaciją.

Čia pateikiamas JSON pavyzdys, kuriame yra viskas, ko reikia pirmajam payable contract sukūrimui.

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

Paaiškinimas:

Čia nebus aiškinama kiekviena duomenų reikšmė, nes jos jau aprašytos API dokumentacijoje.

  • Eilutės: 2 - 7 nurodo naudotoją, atsakingą už rezervaciją. Yra du rezervacijos tipai:
    • Keliautojas.
    • Kelionių agentas.
  • Eilutės: 8 - 9 nurodo TripPay paskyrą, kuri vykdo rezervaciją. Tai gali būti:
    • Jūsų TripPay integratoriaus paskyra.
    • Jei valdote filialų tinklą, tai gali būti jūsų filialas.
  • Naudokite traceId, kad sugrupuotumėte kelias rezervacijas iš skirtingų tiekėjų. Taip galėsite atšaukti grupinę rezervaciją.
  • redirectUrl nurodo TripPay, į kurią puslapį nukreipti po mokėjimo užbaigimo.
  • sourceUrl yra svetainė / programa, kurioje įvyko rezervacija.

contractList masyvas talpina elementus, kuriuos keliautojas nori įsigyti iš kelių tiekėjų. Kiekvienas elementas turi:

  • identifier – galiojantis UUID, kurį sugeneruojate jūs.
  • Tiekėją, iš kurio norite rezervuoti inventorių.
  • Inventorių, kurį norite rezervuoti iš to tiekėjo. Visi jie nurodyti vidiniame masyve contractItemList.
  • Kiekvienas įrašas contractItemList turi:
    • Svečio naudotoją – tai naudotojas, kuris atvyks į vietą.
    • Pavadinimą anglų kalba – inventoriaus pavadinimas anglų kalba.
    • Aprašymą anglų kalba – ilgesnis inventoriaus aprašymas anglų kalba.
    • Kainą – elemento kainą.
    • Kelionės planą – kada šis elementas turi būti rezervuotas.
    • Kainodaros tipą – kaip buvo apskaičiuota kaina.
    • Inventoriaus tipą – kokio tipo inventorius tai yra.
    • Mokėjimo laiką – kada keliautojas turi būti apmokestintas. Šiuo metu palaikome tik momentinius mokėjimus.
    • Politiką – įtraukite atšaukimo politikos taisykles.
    • Dienos kainų sąrašą – jei rezervuojamas kambarys, galite nurodyti, kiek kainuoja kambarys kiekvienai nakčiai.
    • Naudos gavėjus – nurodykite, kurioms TripPay paskyroms turi būti paskirstytos tam tikros kainos dalys. Palaikomos fiksuotos ir procentinės sumos.

Kai TripPay atsakys į jūsų užklausą, atsakymas atrodys maždaug taip:

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

Išsaugokite id 3 eilutėje. Jį naudosite įterpdami į TripPay web komponentą.

Dabar esate pasiruošę įterpti Payment Web Component į savo svetainę ir parodyti jį naudotojui.

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

Kalbant apie integraciją, tai viskas, ką reikia padaryti. Visa sudėtinga dalis nuo šiol atliekama TripPay.