Skip to content

Integracija sa TripPay

Ovaj članak sadrži primer od početka do kraja kako se integrisati sa TripPay.

Preporučuje se da ste već pročitali:

Evo koraka za uspešno korišćenje TripPay-a za plaćanje rezervacije:

  1. Uverite se da su korisnici kojima se isplaćuje u ugovoru o rezervaciji mapirani.
  2. Dozvolite putniku da izabere inventar koji želi da rezerviše i pripremite ga za plaćanje.
  3. Kreirajte payable contract sa TripPay-om koji sadrži stavke koje treba rezervisati.
  4. Dozvolite putniku da plati koristeći TripPay Web Component.

Pretpostavljamo da ste već završili Korak 1 i Korak 2 i spremni ste da obavestite TripPay o rezervaciji.

Evo primera JSON zahteva koji uključuje sve što vam je potrebno za kreiranje prvog payable contract-a.

{
"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": "Ovo je najbolji deluxe king koji novac može da kupi.",
"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"
}
]
}
]
}
]
}

Objašnjenje:

Nećemo objašnjavati svaki podatak ovde jer su već pokriveni u API dokumentaciji.

  • Linije: 2 - 7 su korisnik odgovoran za rezervaciju. Postoje dve vrste korisnika:
    • Putnik.
    • Turistički agent.
  • Linije: 8 - 9 su TripPay nalog koji olakšava rezervaciju. To može biti:
    • Vaš TripPay integratorski nalog.
    • Ako vodite affiliate mrežu, to može biti vaš affiliate.
  • Koristite traceId da grupišete više rezervacija preko više dobavljača. Na ovaj način možete otkazati grupnu rezervaciju.
  • redirectUrl obaveštava TripPay na koju stranicu da preusmeri nakon završetka plaćanja.
  • sourceUrl je sajt/aplikacija na kojoj je rezervacija napravljena.

Niz contractList sadrži stavku(e) koje putnik želi da kupi od više dobavljača. Svaka stavka sadrži:

  • identifier je validan UUID koji generišete.
  • Dobavljač od kojeg želite da rezervišete inventar.
  • Inventar koji želite da rezervišete od tog dobavljača. Sve su navedene u ugnježdenom nizu contractItemList.
  • Svaki unos u contractItemList sadrži:
    • Gostujući korisnik Ovo je korisnik koji će stići na lokaciju.
    • Ime na engleskom Ime inventara na engleskom jeziku.
    • Opis na engleskom Duži opis inventara na engleskom jeziku.
    • Cena Cena stavke.
    • Itinerer Kada treba rezervisati ovu stavku.
    • Tip cenovnika Kako je cena izračunata.
    • Tip inventara Koji tip inventara je u pitanju.
    • Plaćanje Kada putnik treba da plati. Trenutno podržavamo samo opcije za trenutno plaćanje.
    • Politika Uključite pravila o politici otkazivanja.
    • Lista dnevnih cena Ako je stavka soba, možete uključiti koliko ta soba košta za svaku noć boravka gosta.
    • Korisnici kojima se isplaćuje Uključite koji TripPay nalog(i) treba da dobiju koji deo cene stavke. Podržani su fiksni i procentualni iznosi.

Kada TripPay odgovori na vaš zahtev, izgledaće otprilike ovako:

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

Sačuvajte id sa linije 3. Koristićete ga za ubacivanje u TripPay web komponentu.

U ovom trenutku, spremni ste da ugradite Payment Web Component na vaš sajt i prikažete ga korisniku.

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

Što se tiče integracije, to je sve što treba da uradite. Sav težak posao od sada obavlja TripPay.