Integrace s TripPay
Tento článek obsahuje příklad end-to-end, jak se integrovat s TripPay.
Doporučujeme, abyste již měli přečteno:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Přečtěte si sekci o
Create payable contracts
Zde jsou kroky, jak úspěšně použít TripPay k zaplacení rezervace:
- Ujistěte se, že příjemci, které uvádíte v rezervační smlouvě, jsou namapováni.
- Nechte cestovatele vybrat inventář, který chce rezervovat, a připravit se na platbu.
- Vytvořte s TripPay
payable contract, který obsahuje položky k rezervaci. - Nechte cestovatele zaplatit pomocí TripPay Web Component.
Předpokládáme, že jste již dokončili Krok 1 a Krok 2 a jste připraveni informovat TripPay o rezervaci.
Vytvoření payable contract
Section titled “Vytvoření payable contract”Request
Section titled “Request”Zde je ukázka JSON požadavku, která obsahuje vše, co potřebujete k vytvoření vašeho prvního payable contract.
{ "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" } ] } ] } ]}Vysvětlení:
Nevysvětlíme zde každý datový bod, protože jsou již pokryty v dokumentaci API.
- Řádky: 2 - 7 představují uživatele odpovědného za rezervaci. Existují dva typy rezervujících:
- Cestovatel.
- Cestovní agent.
- Řádky: 8 - 9 představují TripPay účet, který zprostředkovává rezervaci. Může to být:
- Váš TripPay integrátor účet.
- Pokud provozujete affiliate síť, může to být váš affiliate.
- Použijte
traceIdpro seskupení více rezervací u více dodavatelů. Tímto způsobem můžete zrušit skupinovou rezervaci. redirectUrlinformuje TripPay, na kterou stránku má přesměrovat po dokončení platby.sourceUrlje web / aplikace, na které k rezervaci došlo.
Pole contractList obsahuje položku(y), které chce cestovatel zakoupit od více dodavatelů. Každá položka obsahuje:
identifierje platné UUID, které generujete.- Dodavatele, u kterého chcete rezervovat inventář.
- Inventář, který chcete rezervovat u tohoto dodavatele. Vše je specifikováno v zanořeném poli
contractItemList. - Každý záznam v
contractItemListobsahuje:- Hostující uživatel Toto je uživatel, který dorazí na místo.
- Název v angličtině Název inventáře v anglickém jazyce.
- Popis v angličtině Delší popis inventáře v anglickém jazyce.
- Cena Cena položky.
- Itinerář Kdy by měla být položka rezervována.
- Typ ceny Jak byla cena vypočítána.
- Typ inventáře Jaký typ inventáře to je.
- Platba Kdy by měl být cestovatel účtován. Momentálně podporujeme pouze možnosti okamžité platby.
- Zásady Zahrňte pravidla storno podmínek.
- Denní sazby Pokud je rezervovaná položka pokoj, můžete uvést cenu za každou noc pobytu hosta.
- Příjemci Uveďte, kterým TripPay účtům by měla být přidělena jaká část ceny položky. Podporovány jsou pevné i procentuální částky.
Response
Section titled “Response”Když TripPay odpoví na váš požadavek, bude to vypadat nějak takto:
[ { "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" } }]Uložte id na řádku 3. Budete ho používat pro vložení do TripPay webové komponenty.
Vložení TripPay
Section titled “Vložení TripPay”V tuto chvíli jste připraveni vložit Payment Web Component do svého webu a zobrazit ji uživateli.
<trip-pay id="contract-1"></trip-pay>Pokud jde o integraci, to je vše, co musíte udělat. Veškerou náročnou práci odtud provádí TripPay.