Integracija s TripPay
Ovaj članak sadrži primjer od početka do kraja kako se integrirati s TripPay.
Preporučuje se da ste već pročitali:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Pročitajte odjeljak o
Create payable contracts
Evo koraka za uspješno korištenje TripPaya za plaćanje rezervacije:
- Provjerite jesu li korisnici koje spominjete u ugovoru o rezervaciji mapirani.
- Dopustite putniku da odabere inventar koji želi rezervirati i pripremi se za plaćanje.
- Kreirajte
payable contracts TripPayem koji sadrži stavke za rezervaciju. - Dopustite putniku da plati koristeći TripPay Web Component.
Pretpostavljamo da ste već završili Korak 1 i Korak 2 i spremni ste obavijestiti TripPay o rezervaciji.
Kreirajte payable contract
Section titled “Kreirajte payable contract”Zahtjev
Section titled “Zahtjev”Evo primjera JSON zahtjeva koji uključuje sve što vam treba za kreiranje vašeg prvog payable contracta.
{ "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 kupiti.", "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 ovdje jer su već pokriveni u API dokumentaciji.
- Redci: 2 - 7 su korisnik odgovoran za rezervaciju. Postoje dvije vrste rezervatora:
- Putnik.
- Putni agent.
- Redci: 8 - 9 su TripPay račun koji posreduje u rezervaciji. To može biti:
- Vaš TripPay integratorski račun.
- Ako vodite affiliate mrežu, to može biti vaš affiliate.
- Koristite
traceIdza grupiranje više rezervacija preko više dobavljača. Na taj način možete otkazati grupnu rezervaciju. redirectUrlobavještava TripPay na koju stranicu preusmjeriti nakon što je plaćanje završeno.sourceUrlje stranica / aplikacija na kojoj je rezervacija napravljena.
Niz contractList sadrži stavku(e) koje putnik želi kupiti od više dobavljača. Svaka stavka sadrži:
identifierje valjani UUID koji generirate.- Dobavljač od kojeg želite rezervirati inventar.
- Inventar koji želite rezervirati od tog dobavljača. Sve su navedene u ugniježđenom nizu
contractItemList. - Svaki unos u
contractItemListsadrži:- Gost korisnik Ovo je korisnik koji će doći na lokaciju.
- Ime na engleskom Ime inventara na engleskom jeziku.
- Opis na engleskom Duži opis inventara na engleskom jeziku.
- Cijena Cijena stavke.
- Itinerar Kada treba rezervirati ovu stavku.
- Tip cijene Kako je cijena izračunata.
- Tip inventara Koji je tip inventara.
- Plaćanje Kada se putniku naplaćuje. Trenutno podržavamo samo opcije trenutnog plaćanja.
- Pravila Uključite pravila otkazivanja.
- Dnevni cjenik Ako je stavka soba, možete uključiti koliko ta soba košta za svaku noć boravka gosta.
- Korisnici prihoda Uključite koji TripPay račun(i) trebaju dobiti koji dio cijene stavke. Podržani su fiksni i postotni iznosi.
Odgovor
Section titled “Odgovor”Kada TripPay odgovori na vaš zahtjev, izgledat ć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" } }]Spremite id na retku 3. Koristit ćete ga za ubacivanje u TripPay web komponentu.
Ugradite TripPay
Section titled “Ugradite TripPay”Sada ste spremni ugraditi Payment Web Component na vašu web stranicu i prikazati ga korisniku.
<trip-pay id="contract-1"></trip-pay>Što se tiče integracije, to je sve što trebate učiniti. Sav težak posao od sada radi TripPay.