Integracija s TripPay
Ta članek vsebuje primer od začetka do konca, kako se integrirati s TripPay.
Priporočamo, da ste že prebrali:
- Plačilo > Preslikava.
- Plačilo > Integracija.
- Plačilni spletni komponent.
- Plačilni API. Preberite razdelek o
Ustvarjanju plačljivih pogodb
Tukaj so koraki za uspešno uporabo TripPay za plačilo rezervacije:
- Prepričajte se, da so upravičenci, ki jih omenjate v pogodbi o rezervaciji, že preslikani.
- Naj popotnik izbere inventar, ki ga želi rezervirati, in naj se pripravi na plačilo.
- Ustvarite
plačljivo pogodbos TripPay, ki vsebuje elemente za rezervacijo. - Naj popotnik plača z uporabo TripPay spletnega komponenta.
Predvidevamo, da ste že zaključili Korak 1 in Korak 2 ter ste pripravljeni obvestiti TripPay o rezervaciji.
Ustvarjanje plačljive pogodbe
Section titled “Ustvarjanje plačljive pogodbe”Zahteva
Section titled “Zahteva”Tukaj je primer JSON zahteve, ki vključuje vse, kar potrebujete za ustvarjanje vaše prve plačljive pogodbe.
{ "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" } ] } ] } ]}Pojasnilo:
Ne bomo razlagali vsake podatkovne točke, saj so že zajete v API dokumentaciji.
- Vrstice: 2 - 7 predstavljajo uporabnika, odgovornega za rezervacijo. Obstajata dve vrsti rezervatorjev:
- Popotnik.
- Potovalni agent.
- Vrstice: 8 - 9 predstavljajo TripPay račun, ki omogoča rezervacijo. Lahko je:
- Vaš TripPay integratorski račun.
- Če upravljate partnersko mrežo, je lahko vaš partner.
- Uporabite
traceIdza združevanje več rezervacij pri več ponudnikih. Tako lahko prekličete skupinsko rezervacijo. redirectUrlsporoča TripPay, na katero stran naj preusmeri po zaključku plačila.sourceUrlje spletna stran / aplikacija, kjer je bila rezervacija opravljena.
Polje contractList vsebuje element(e), ki jih popotnik želi kupiti od več ponudnikov. Vsak element vsebuje:
identifierje veljaven UUID, ki ga ustvarite sami.- Ponudnik, pri katerem želite rezervirati inventar.
- Inventar, ki ga želite rezervirati pri tem ponudniku. Vse so navedene v gnezdenem polju
contractItemList. - Vsak vnos v
contractItemListvsebuje:- Gostujoči uporabnik To je uporabnik, ki bo prispel na lokacijo.
- Ime v angleščini Ime inventarja v angleškem jeziku.
- Opis v angleščini Daljši opis inventarja v angleškem jeziku.
- Cena Cena elementa.
- Potek potovanja Kdaj naj bo ta element rezerviran.
- Vrsta cenitve Kako je bila cena izračunana.
- Vrsta inventarja Kakšna vrsta inventarja je to.
- Plačljivo Kdaj naj se popotniku zaračuna. Trenutno podpiramo samo možnosti takojšnjega plačila.
- Politika Vključite pravila o politiki odpovedi.
- Seznam dnevnih cen Če je element, ki ga rezervirate, soba, lahko vključite, koliko ta soba stane za vsako noč bivanja gosta.
- Upravičenci Vključite, kateri TripPay račun(i) naj prejmejo kateri delež cene elementa. Podprte so fiksne in odstotne vrednosti.
Odgovor
Section titled “Odgovor”Ko TripPay odgovori na vašo zahtevo, bo izgledalo 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" } }]Shranjeno vrednost id na vrstici 3. To boste uporabili za vstavitev v TripPay spletni komponent.
Vdelava TripPay
Section titled “Vdelava TripPay”Sedaj ste pripravljeni, da vdelate Plačilni spletni komponent na vašo spletno stran in ga prikažete uporabniku.
<trip-pay id="contract-1"></trip-pay>Kar zadeva integracijo, je to vse, kar morate storiti. Vso zahtevno delo od tu naprej opravi TripPay.