Integracija s TripPayom
Ta članek vsebuje celovit primer integracije s TripPay.
Priporočljivo je, da ste že prebrali:
- Plačilo > Preslikava.
- Plačilo > Integracija.
- Spletna komponenta za plačila.
- API za plačila.Preberite razdelek o
Create payable contracts
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, kartirani.
- Naj popotnik izbere inventar, ki ga želi rezervirati, in se pripravi na plačilo.
- Ustvari
payable contract
s TripPay, ki vsebuje elemente za rezervacijo. - Naj popotnik plača z uporabo spletne komponente TripPay.
Predvidevamo, da ste že zaključiliStep 1
inStep 2
in so pripravljeni obvestiti TripPay o rezervaciji.
Ustvarite plačljivo pogodbo
Section titled “Ustvarite plačljivo pogodbo”Zahteva
Section titled “Zahteva”Tukaj je vzorec zahteve JSON, ki vključuje vse, kar morate ustvariti za svojo prvo plačljivo pogodbo.
{ "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:
Tukaj ne bomo razlagali vseh podatkovnih točk, saj so že zajete v dokumentaciji API-ja.
- Vrstice:2–7je uporabnik odgovoren za rezervacijo. Obstajata dve vrsti rezervacij:
- Popotnik.
- Potovalni agent.
- Vrstice:8–9je račun TripPay, ki omogoča rezervacijo. Lahko je:
- Vaš račun za integracijo TripPay.
- Če vodite partnersko mrežo, je to lahko vaš partner.
- Uporabite
traceId
združiti več rezervacij pri več dobaviteljih. Na ta način lahko prekličete skupinsko rezervacijo. redirectUrl
sporoči TripPayu, na katero stran ga preusmeriti po zaključku plačila.sourceUrl
je spletno mesto/aplikacija, na kateri je bila rezervacija opravljena.
ThecontractList
Matrika vsebuje artikle, ki jih želi popotnik kupiti pri več dobaviteljih. Vsak artikel vsebuje:
- The
identifier
je veljaven UUID, ki ga ustvarite. - Dobavitelj, pri katerem želite rezervirati zalogo.
- Zaloga, ki jo želite rezervirati pri tem dobavitelju. Vse to je navedeno v ugnezdeni tabeli.
contractItemList
. - Vsak vnos pod
contractItemList
vsebuje:- Gostujoči uporabnikTo je uporabnik, ki bo prišel na lokacijo.
- Ime v angleščiniIme inventarja v angleškem jeziku.
- Opis v angleščiniDaljši opis inventarja v angleškem jeziku.
- CenaCena artikla.
- Načrt potovanjaKdaj je treba rezervirati ta artikel.
- Vrsta cenKako je bila izračunana cena.
- Vrsta inventarjaKakšna vrsta inventarja je to.
- PlačljivoKdaj je treba potniku zaračunati stroške.Trenutno podpiramo samo možnosti takojšnjega plačila.
- PolitikaVključite pravila o odpovedi.
- Dnevni seznam cenČe je rezervirana soba, lahko vključite ceno sobe za vsako nočitev gosta.
- UpravičenciNavedite, kateremu(-im) računu(-om) TripPay naj bo dodeljen(-ih) znesek(-i) cene artikla.Podprti so fiksni/odstotni zneski.
Odgovor
Section titled “Odgovor”Ko TripPay odgovori na vašo zahtevo, bo videti 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" } }]
Shraniid
v 3. vrstici. To boste uporabili za vbrizgavanje v spletno komponento TripPay.
Vdelaj TripPay
Section titled “Vdelaj TripPay”Na tej točki ste pripravljeni vdelatiPayment Web Component
na vašo spletno stran in jo prikažite uporabniku.
<trip-pay id="contract-1"></trip-pay>
Kar se tiče integracije, je to vse, kar morate storiti. Od tu naprej vse težko delo opravi TripPay.