Integracija s TripPayom
Ovaj članak sadrži primjer kako se integrirati s TripPayom.
Preporučuje se da ste već pročitali:
- Plaćanje > Mapiranje.
- Plaćanje > Integracija.
- Web komponenta za plaćanje.
- API za plaćanje.Pročitajte odjeljak o
Create payable contracts
Evo koraka za uspješno korištenje TripPaya za plaćanje rezervacije:
- Provjerite jesu li korisnici koje spomenete u ugovoru o rezervaciji mapirani.
- Neka putnik odabere inventar koji želi rezervirati i neka se pripremi za plaćanje.
- Stvori
payable contract
s TripPayom koji sadrži stavke koje treba rezervirati. - Neka putnik plati putem TripPay web komponente.
Pretpostavljamo da ste već završiliStep 1
iStep 2
i spremni su obavijestiti TripPay o rezervaciji.
Stvori ugovor o plaćanju
Section titled “Stvori ugovor o plaćanju”Idite na API za plaćanje kako biste saznali više o zahtjevima za izradu ugovora s mogućnošću plaćanja.
Zahtjev
Section titled “Zahtjev”Evo primjera JSON zahtjeva koji uključuje sve što vam je potrebno za izradu vašeg prvog ugovornog ugovora.
{ "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": "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" } ] } ] } ]}
Obrazloženje:
Ovdje nećemo objašnjavati svaku podatkovnu točku jer su već obrađene u API dokumentaciji.
- Linije:2 - 7je korisnik odgovoran za rezervaciju. Postoje dvije vrste korisnika koji rezerviraju:
- Putnik.
- Turistički agent.
- Linije:8 - 9je TripPay račun koji omogućuje rezervaciju. Može biti:
- Vaš TripPay integracijski račun.
- Ako vodite partnersku mrežu, ona može biti vaš partner.
- Koristite
traceId
grupirati više rezervacija kod više dobavljača. Na taj način možete otkazati grupnu rezervaciju. redirectUrl
obavještava TripPay na koju stranicu ga preusmjeriti nakon što je plaćanje dovršeno.sourceUrl
je stranica/aplikacija na kojoj je rezervacija izvršena.
ThecontractList
Niz sadrži artikl(e) koje putnik želi kupiti od više dobavljača. Svaki artikl sadrži:
- The
identifier
je valjani UUID koji generirate. - Dobavljač od kojeg želite rezervirati zalihe.
- Zalihe koje želite rezervirati od tog dobavljača. Sve su navedene u ugniježđenom nizu
contractItemList
. - Svaki unos ispod
contractItemList
sadrži:- Gostujući korisnikOvo je korisnik koji će stići na lokaciju.
- Ime na engleskomNaziv inventara na engleskom jeziku.
- Opis na engleskomDuži opis inventara na engleskom jeziku.
- CijenaCijena artikla.
- Plan putovanjaKada ovu stavku treba rezervirati.
- Vrsta cijeneKako je cijena izračunata.
- Vrsta inventaraKoja je ovo vrsta inventara.
- PlativoKada putniku treba naplatiti naknadu.Trenutno podržavamo samo opcije trenutnog plaćanja.
- PolitikaUključite pravila o otkazivanju.
- Dnevni cjenikAko se rezervira soba, možete odabrati da uključite cijenu te sobe za svaku noć boravka gosta.
- KorisniciNavedite kojem TripPay računu treba dodijeliti koji iznos cijene artikla.Podržani su fiksni / postotni iznosi.
U gornjem JSON primjeru imamo 3 korisnika:
- 1,5% je dodijeljeno platformi koja je omogućila rezervaciju.npr. Namig
- Partneru je dodijeljeno 9,85% kao provizija.npr. Kim Kardashian
- Dobavljaču je dodijeljeno 88,65% za rezervaciju sobe.npr. Hilton
Kada TripPay odgovori ugovorom o plaćanju, primijetit ćete da je uplatio vlastitog korisnika s 4,0%. :::
Odgovor
Section titled “Odgovor”Kada TripPay odgovori na vaš zahtjev, to će izgledati 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" } }]
Spremiid
u retku 3. Ovo ćete koristiti za ubrizgavanje u web komponentu TripPay.
Ugradi TripPay
Section titled “Ugradi TripPay”Provjerite jeste li prethodno učitali naše stilove i Javascript.
U ovom trenutku spremni ste za ugradnjuPayment Web Component
na vašu web stranicu i prikažite je korisniku.
<trip-pay id="contract-1"></trip-pay>
Što se tiče integracije, to je sve što trebate učiniti. Od sada nadalje, sav teški posao obavlja TripPay.