Integratie met TripPay
Dit artikel bevat een end-to-endvoorbeeld van hoe u kunt integreren met TripPay.
Het is aan te raden dat u het volgende alvast leest:
- Betaling > Mapping.
- Betaling > Integratie.
- Betalingswebcomponent.
- Betalings-API.Lees het gedeelte over
Create payable contracts
Dit zijn de stappen om TripPay succesvol te gebruiken om een boeking te betalen:
- Zorg ervoor dat de begunstigden die u in het boekingscontract vermeldt, in kaart zijn gebracht.
- Laat de reiziger kiezen welke uitrusting hij wil boeken en wacht tot hij kan betalen.
- Maak een
payable contract
met TripPay die de te boeken items bevat. - Laat de reiziger betalen via de TripPay-webcomponent.
Wij gaan ervan uit dat u dit al heeft afgerondStep 1
En Step 2
en bereid zijn TripPay op de hoogte te stellen van de boeking.
Maak een betaalbaar contract
Section titled “Maak een betaalbaar contract”Verzoek
Section titled “Verzoek”Hier is een JSON-voorbeeldverzoek dat alles bevat wat u nodig hebt voor uw eerste betaalbare 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" } ] } ] } ]}
Uitleg:
We gaan hier niet alle gegevenspunten uitleggen, omdat deze al in de API-documentatie worden behandeld.
- Lijnen:2 - 7is de gebruiker die verantwoordelijk is voor de boeking. Er zijn twee soorten boekers:
- Reiziger.
- Reisagent.
- Lijnen:8 - 9is het TripPay-account dat de boeking faciliteert. Het kan zijn:
- Uw TripPay-integratoraccount.
- Als u een affiliatenetwerk beheert, kan dit uw affiliate zijn.
- Gebruik een
traceId
Om meerdere boekingen bij meerdere leveranciers te groeperen. Zo kunt u een groepsboeking annuleren. redirectUrl
laat TripPay weten naar welke pagina er moet worden doorgestuurd nadat de betaling is voltooid.sourceUrl
is de site/app waarop de boeking heeft plaatsgevonden.
DecontractList
De array bevat de artikelen die de reiziger bij meerdere leveranciers wil kopen. Elk artikel bevat:
- De
identifier
is een geldige UUID die u genereert. - De leverancier bij wie u voorraad wilt boeken.
- De voorraad die u bij die leverancier wilt boeken. Deze worden allemaal gespecificeerd in de geneste array.
contractItemList
. - Elke inzending onder
contractItemList
bevat:- GastgebruikerDit is de gebruiker die op het terrein aankomt.
- Naam in het EngelsDe naam van de inventaris in de Engelse taal.
- Beschrijving in het EngelsEen langere beschrijving van de inventaris in de Engelse taal.
- PrijsDe prijs van het artikel.
- RoutebeschrijvingWanneer dit item geboekt moet worden.
- PrijstypeHoe de prijs werd berekend.
- VoorraadtypeWat voor soort inventaris dit is.
- Te betalenWanneer de reiziger moet betalen.Momenteel ondersteunen wij alleen directe betalingsopties.
- BeleidNeem annuleringsvoorwaarden op.
- Dagelijkse tarievenlijstAls er een kamer wordt geboekt, kunt u aangeven hoeveel de kamer kost per nacht dat de gast verblijft.
- BegunstigdenGeef aan welke TripPay-rekening(en) welk bedrag van de prijs van het artikel toegewezen moet krijgen.Vaste/percentagebedragen worden ondersteund.
Antwoord
Section titled “Antwoord”Wanneer TripPay op uw verzoek reageert, ziet het er ongeveer zo uit:
[ { "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" } }]
Bewaar deid
op regel 3. U gebruikt dit om in het TripPay-webcomponent te injecteren.
TripPay insluiten
Section titled “TripPay insluiten”Op dit punt bent u klaar om dePayment Web Component
in uw website en toon deze aan de gebruiker.
<trip-pay id="contract-1"></trip-pay>
Wat de integratie betreft, hoeft u verder niets te doen. Al het zware werk wordt vanaf nu door TripPay gedaan.