Integrering med TripPay
Denne artikkelen inneholder et komplett eksempel på hvordan du integrerer med TripPay.
Det anbefales at du allerede har lest:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Les seksjonen om
Create payable contracts
Her er stegene for å bruke TripPay til å betale for en booking:
- Sørg for at mottakerne du nevner i bookingkontrakten er kartlagt.
- La reisende velge inventaret de ønsker å booke og forbered dem på å betale.
- Opprett en
payable contractmed TripPay som inneholder elementene som skal bookes. - La den reisende betale ved å bruke TripPay Web Component.
Vi antar at du allerede har fullført Steg 1 og Steg 2 og er klar til å informere TripPay om bookingen.
Opprett payable contract
Section titled “Opprett payable contract”Forespørsel
Section titled “Forespørsel”Her er et JSON-eksempel på en forespørsel som inkluderer alt du trenger for å opprette din første 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" } ] } ] } ]}Forklaring:
Vi forklarer ikke hvert datapunkt her da de allerede er dekket i API-dokumentasjonen.
- Linjer: 2 - 7 er brukeren som er ansvarlig for bookingen. Det finnes to typer bookere:
- Reisende.
- Reisebyrå.
- Linjer: 8 - 9 er TripPay-kontoen som fasiliterer bookingen. Det kan være:
- Din TripPay integratorkonto.
- Hvis du driver et affiliate-nettverk, kan det være din affiliate.
- Bruk en
traceIdfor å gruppere flere bookinger på tvers av flere leverandører. På denne måten kan du kansellere en gruppebooking. redirectUrlforteller TripPay hvilken side den skal videresende til etter at betalingen er fullført.sourceUrler nettstedet / appen bookingen ble gjort på.
contractList-arrayet inneholder elementet/elementene den reisende ønsker å kjøpe fra flere leverandører. Hvert element inneholder:
identifierer en gyldig UUID du genererer.- Leverandøren du ønsker å booke inventar fra.
- Inventaret du ønsker å booke fra den leverandøren. Disse er alle spesifisert i den nestede arrayen
contractItemList. - Hver oppføring under
contractItemListinneholder:- Gjeste-bruker Dette er brukeren som skal ankomme stedet.
- Navn på engelsk Navnet på inventaret på engelsk.
- Beskrivelse på engelsk En lengre beskrivelse av inventaret på engelsk.
- Pris Prisen på elementet.
- Reiserute Når dette elementet skal bookes.
- Pristype Hvordan prisen ble kalkulert.
- Inventartype Hvilken type inventar dette er.
- Betalbar Når den reisende skal belastes. Vi støtter for øyeblikket kun umiddelbare betalingsalternativer.
- Policy Inkluder regler for avbestillingspolicy.
- Daglig prisliste Hvis elementet som bookes er et rom, kan du velge å inkludere hvor mye rommet koster for hver natt gjesten bor.
- Mottakere Inkluder hvilke TripPay-konto(er) som skal tildeles hvilke beløp av prisen på elementet. Faste / prosentandeler støttes.
Når TripPay svarer på forespørselen din, vil det se omtrent slik ut:
[ { "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" } }]Lagre id på linje 3. Denne skal du bruke for å injisere i TripPay webkomponenten.
Integrer TripPay
Section titled “Integrer TripPay”Nå er du klar til å integrere Payment Web Component på nettstedet ditt og vise det til brukeren.
<trip-pay id="contract-1"></trip-pay>Når det gjelder integrasjon, er dette alt du trenger å gjøre. Alt det tunge arbeidet gjøres av TripPay herfra.