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:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Pročitajte odeljak o
Create payable contracts
Evo koraka za uspešno korišćenje TripPay-a za plaćanje rezervacije:
- Uverite se da su korisnici kojima se isplaćuje u ugovoru o rezervaciji mapirani.
- Dozvolite putniku da izabere inventar koji želi da rezerviše i pripremite ga za plaćanje.
- Kreirajte
payable contractsa TripPay-om koji sadrži stavke koje treba rezervisati. - 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.
Kreiranje payable contract
Section titled “Kreiranje payable contract”Zahtev
Section titled “Zahtev”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", }, "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", "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
traceIdda grupišete više rezervacija preko više dobavljača. Na ovaj način možete otkazati grupnu rezervaciju. redirectUrlobaveštava TripPay na koju stranicu da preusmeri nakon završetka plaćanja.sourceUrlje 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:
identifierje 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
contractItemListsadrž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.
Odgovor
Section titled “Odgovor”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.
Ugradnja TripPay-a
Section titled “Ugradnja TripPay-a”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.