Integrering med TripPay
Denne artikkelen inneholder et komplett eksempel på hvordan man integrerer med TripPay.
Det anbefales at du allerede har lest:
- Betaling > Kartlegging.
- Betaling > Integrasjon.
- Betalingsnettkomponent.
- Betalings-API.Les avsnittet om
Create payable contracts
Her er trinnene for å bruke TripPay til å betale for en bestilling:
- Sørg for at mottakerne du nevner i bestillingskontrakten er kartlagt.
- La den reisende velge hvilket inventar de ønsker å bestille, og la dem gjøre seg klare til å betale.
- Opprett en
payable contract
med TripPay som inneholder varene som skal bestilles. - La den reisende betale ved hjelp av TripPay-webkomponenten.
Vi antar at du allerede har fullførtStep 1
ogStep 2
og er klare til å gi TripPay beskjed om bestillingen.
Opprett betalingskontrakt
Section titled “Opprett betalingskontrakt”Gå til betalings-API-et for å lære mer om kravene for å opprette en betalbar kontrakt.
Forespørsel
Section titled “Forespørsel”Her er en JSON-eksempelforespørsel som inneholder alt du trenger for å opprette din første betalbare kontrakt.
{ "user": { "userIdentifier": "191d5729-0b90-4000-85df-1bea7a6e9a01", "firstName": "John", "lastName": "Smith", "email": "john.smith@email.com" }, "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": "john.smith@email.com", "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 kommer ikke til å forklare alle datapunktene her, da de allerede er dekket i API-dokumentasjonen.
- Linjer:2–7er brukeren som er ansvarlig for bestillingen. Det finnes to typer bestillere:
- Reisende.
- Reisebyrå.
- Linjer:8–9Er TripPay-kontoen som tilrettelegger bestillingen? Det kan være:
- Din TripPay-integratorkonto.
- Hvis du driver et affiliate-nettverk, kan det være din affiliate.
- Bruk en
traceId
å gruppere flere bestillinger på tvers av flere leverandører. På denne måten kan du avbryte en gruppebestilling. redirectUrl
lar TripPay vite hvilken side den skal omdirigere til etter at betalingen er fullført.sourceUrl
er nettstedet/appen bestillingen ble gjort på.
DencontractList
Matrisen inneholder varen(e) den reisende ønsker å kjøpe fra flere leverandører. Hver vare inneholder:
- Den
identifier
er en gyldig UUID du genererer. - Leverandøren du ønsker å bestille lagerbeholdning fra.
- Varelageret du ønsker å bestille fra den leverandøren. Alt dette er spesifisert i den nestede tabellen.
contractItemList
. - Hver oppføring under
contractItemList
inneholder:- GjestebrukerDette er brukeren som skal ankomme lokalene.
- Navn på engelskNavnet på inventaret på engelsk.
- Beskrivelse på engelskEn lengre beskrivelse av inventaret på engelsk.
- PrisPrisen på varen.
- ReiseruteNår denne varen skal bestilles.
- PristypeHvordan prisen ble beregnet.
- LagertypeHva slags varelager dette er.
- Som skal betalesNår den reisende skal belastes.Vi støtter for øyeblikket bare umiddelbare betalingsalternativer.
- PolitikkInkluder regler for avbestillingsregler.
- Daglig prislisteHvis varen som bestilles er et rom, kan du velge å inkludere hvor mye rommet kostet for hver natt gjesten bor.
- MottakereOppgi hvilke TripPay-kontoer som skal tildeles hvilke beløp av varens pris.Faste beløp / prosentbeløp støttes.
I JSON-eksemplet ovenfor har vi tre mottakere:
- 1,5 % ble tildelt plattformen som tilrettela bestillingen.f.eks. Blunk
- 9,85 % ble tildelt affiliaten som provisjon.f.eks. Kim Kardashian
- 88,65 % ble tildelt leverandøren for bestilling av rommet.f.eks. Hilton
Når TripPay svarer med en betalbar kontrakt, vil du legge merke til at de har tilført sin egen mottaker 4,0 %. :::
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" } }]
Lagreid
på linje 3. Du skal bruke dette til å sette det inn i TripPay-webkomponenten.
Bygg inn TripPay
Section titled “Bygg inn TripPay”Sørg for at du har lastet inn stilene og Javascript-filen vår på forhånd.
På dette tidspunktet er du klar til å legge innPayment Web Component
inn på nettstedet ditt og vis det til brukeren.
<trip-pay id="contract-1"></trip-pay>
Når det gjelder integrering, er det alt du trenger å gjøre. Alt det tunge arbeidet gjøres av TripPay fra nå av.