Přeskočit na obsah

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:

Zde jsou kroky, jak úspěšně použít TripPay k zaplacení rezervace:

  1. Ujistěte se, že příjemci, které uvádíte v rezervační smlouvě, jsou namapováni.
  2. Nechte cestovatele vybrat inventář, který chce rezervovat, a připravit se na platbu.
  3. Vytvořte s TripPay payable contract, který obsahuje položky k rezervaci.
  4. 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.

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",
"email": "[email protected]"
},
"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",
"email": "[email protected]",
"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 traceId pro seskupení více rezervací u více dodavatelů. Tímto způsobem můžete zrušit skupinovou rezervaci.
  • redirectUrl informuje TripPay, na kterou stránku má přesměrovat po dokončení platby.
  • sourceUrl je 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:

  • identifier je 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 contractItemList obsahuje:
    • 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.

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.

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.