Skip to content

Integracija s TripPayom

Ta članek vsebuje celovit primer integracije s TripPay.

Priporočljivo je, da ste že prebrali:

Tukaj so koraki za uspešno uporabo TripPay za plačilo rezervacije:

  1. Prepričajte se, da so upravičenci, ki jih omenjate v pogodbi o rezervaciji, kartirani.
  2. Naj popotnik izbere inventar, ki ga želi rezervirati, in se pripravi na plačilo.
  3. Ustvari payable contract s TripPay, ki vsebuje elemente za rezervacijo.
  4. Naj popotnik plača z uporabo spletne komponente TripPay.

Predvidevamo, da ste že zaključiliStep 1inStep 2in so pripravljeni obvestiti TripPay o rezervaciji.

Tukaj je vzorec zahteve JSON, ki vključuje vse, kar morate ustvariti za svojo prvo plačljivo pogodbo.

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

Pojasnilo:

Tukaj ne bomo razlagali vseh podatkovnih točk, saj so že zajete v dokumentaciji API-ja.

  • Vrstice:2–7je uporabnik odgovoren za rezervacijo. Obstajata dve vrsti rezervacij:
    • Popotnik.
    • Potovalni agent.
  • Vrstice:8–9je račun TripPay, ki omogoča rezervacijo. Lahko je:
    • Vaš račun za integracijo TripPay.
    • Če vodite partnersko mrežo, je to lahko vaš partner.
  • UporabitetraceIdzdružiti več rezervacij pri več dobaviteljih. Na ta način lahko prekličete skupinsko rezervacijo.
  • redirectUrlsporoči TripPayu, na katero stran ga preusmeriti po zaključku plačila.
  • sourceUrlje spletno mesto/aplikacija, na kateri je bila rezervacija opravljena.

ThecontractListMatrika vsebuje artikle, ki jih želi popotnik kupiti pri več dobaviteljih. Vsak artikel vsebuje:

  • Theidentifierje veljaven UUID, ki ga ustvarite.
  • Dobavitelj, pri katerem želite rezervirati zalogo.
  • Zaloga, ki jo želite rezervirati pri tem dobavitelju. Vse to je navedeno v ugnezdeni tabeli.contractItemList.
  • Vsak vnos podcontractItemListvsebuje:
    • Gostujoči uporabnikTo je uporabnik, ki bo prišel na lokacijo.
    • Ime v angleščiniIme inventarja v angleškem jeziku.
    • Opis v angleščiniDaljši opis inventarja v angleškem jeziku.
    • CenaCena artikla.
    • Načrt potovanjaKdaj je treba rezervirati ta artikel.
    • Vrsta cenKako je bila izračunana cena.
    • Vrsta inventarjaKakšna vrsta inventarja je to.
    • PlačljivoKdaj je treba potniku zaračunati stroške.Trenutno podpiramo samo možnosti takojšnjega plačila.
    • PolitikaVključite pravila o odpovedi.
    • Dnevni seznam cenČe je rezervirana soba, lahko vključite ceno sobe za vsako nočitev gosta.
    • UpravičenciNavedite, kateremu(-im) računu(-om) TripPay naj bo dodeljen(-ih) znesek(-i) cene artikla.Podprti so fiksni/odstotni zneski.

Ko TripPay odgovori na vašo zahtevo, bo videti nekako takole:

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

Shraniidv 3. vrstici. To boste uporabili za vbrizgavanje v spletno komponento TripPay.

Na tej točki ste pripravljeni vdelatiPayment Web Componentna vašo spletno stran in jo prikažite uporabniku.

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

Kar se tiče integracije, je to vse, kar morate storiti. Od tu naprej vse težko delo opravi TripPay.