Integrointi TripPayn kanssa
Tässä artikkelissa on esimerkki kokonaisvaltaisesta integraatiosta TripPayn kanssa.
On suositeltavaa, että olet jo lukenut:
- Maksu > Kartoitus.
- Maksu > Integraatio.
- Maksu Web-komponentti.
- Maksu API. Lue osio
Luo maksettavat sopimukset
Tässä ovat vaiheet, joilla käytät TripPayta onnistuneesti varauksen maksamiseen:
- Varmista, että varaussopimuksessa mainitsemasi edunsaajat on kartoitettu.
- Anna matkustajan valita haluamansa varattava kohde ja valmistautua maksamaan.
- Luo TripPayn kanssa
maksettava sopimus, joka sisältää varattavat kohteet. - Anna matkustajan maksaa TripPayn Web-komponentilla.
Oletamme, että olet jo suorittanut Vaiheen 1 ja Vaiheen 2 ja olet valmis ilmoittamaan TripPaylle varauksesta.
Luo maksettava sopimus
Osio nimeltä “Luo maksettava sopimus”Pyyntö
Osio nimeltä “Pyyntö”Tässä on JSON-esimerkkipyyntö, joka sisältää kaiken tarvittavan ensimmäisen maksettavan sopimuksesi luomiseen.
{ "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" } ] } ] } ]}Selitys:
Emme selitä jokaista tietokohtaa tässä, koska ne on jo käsitelty API-dokumentaatiossa.
- Rivit: 2 - 7 ovat varauksen vastuuhenkilö. On kaksi varaajatyyppiä:
- Matkustaja.
- Matkatoimisto.
- Rivit: 8 - 9 ovat TripPay-tili, joka mahdollistaa varauksen. Se voi olla:
- Oma TripPay-integraattoritilisi.
- Jos pyörität affiliate-verkostoa, se voi olla affiliate-tilisi.
- Käytä
traceId-tunnistetta ryhmitelläksesi useita varauksia useilta toimittajilta. Näin voit peruuttaa ryhmävarauksen. redirectUrlkertoo TripPaylle, mille sivulle ohjataan maksun jälkeen.sourceUrlon sivusto tai sovellus, jossa varaus tehtiin.
contractList-taulukko sisältää kohteen/kohteet, jotka matkustaja haluaa ostaa useilta toimittajilta. Jokainen kohde sisältää:
identifieron kelvollinen UUID, jonka luot itse.- Toimittaja, jolta haluat varata inventaarion.
- Inventaario, jonka haluat varata kyseiseltä toimittajalta. Nämä on määritelty sisäkkäisessä taulukossa
contractItemList. - Jokainen
contractItemList-kohde sisältää:- Vieraskäyttäjä Tämä on käyttäjä, joka saapuu kohteeseen.
- Nimi englanniksi Inventaarion nimi englannin kielellä.
- Kuvaus englanniksi Pidempi kuvaus inventaariosta englanniksi.
- Hinta Kohteen hinta.
- Matka-aikataulu Milloin kohde varataan.
- Hinnoittelutyyppi Miten hinta on laskettu.
- Inventaarion tyyppi Minkä tyyppisestä inventaariosta on kyse.
- Maksettava Milloin matkustajalta veloitetaan. Tällä hetkellä tuemme vain välitöntä maksua.
- Politiikka Sisällytä peruutusehdot.
- Päivähintalista Jos varattava kohde on huone, voit halutessasi sisällyttää huoneen hinnan jokaiselle yölle, jonka vieras yöpyy.
- Edunsaajat Sisällytä, mitkä TripPay-tilit saavat minkä osuuden kohteen hinnasta. Kiinteät / prosenttiosuudet ovat tuettuja.
Vastaus
Osio nimeltä “Vastaus”Kun TripPay vastaa pyyntöösi, se näyttää suunnilleen tältä:
[ { "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" } }]Tallenna id riviltä 3. Tätä käytät TripPayn web-komponenttiin syöttämiseen.
Upota TripPay
Osio nimeltä “Upota TripPay”Tässä vaiheessa olet valmis upottamaan Payment Web Component -komponentin verkkosivustollesi ja näyttämään sen käyttäjälle.
<trip-pay id="contract-1"></trip-pay>Integraation osalta tämä on kaikki, mitä sinun tarvitsee tehdä. Kaikki raskas työ hoidetaan TripPayn toimesta tästä eteenpäin.