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 contractmed TripPay som inneholder varene som skal bestilles. - La den reisende betale ved hjelp av TripPay-webkomponenten.
Vi antar at du allerede har fullførtStep 1ogStep 2og 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", }, "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 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. redirectUrllar TripPay vite hvilken side den skal omdirigere til etter at betalingen er fullført.sourceUrler nettstedet/appen bestillingen ble gjort på.
DencontractListMatrisen inneholder varen(e) den reisende ønsker å kjøpe fra flere leverandører. Hver vare inneholder:
- Den
identifierer 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
contractItemListinneholder:- 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" } }]Lagreidpå 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 Componentinn 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.