Integrazione con TripPay
Questo articolo contiene un esempio end-to-end di come integrare TripPay.
Si consiglia di aver già letto:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Leggi la sezione su
Create payable contracts
Ecco i passaggi per utilizzare con successo TripPay per pagare una prenotazione:
- Assicurati che i beneficiari menzionati nel contratto di prenotazione siano stati mappati.
- Lascia che il viaggiatore scelga l’inventario che desidera prenotare e preparalo al pagamento.
- Crea un
payable contractcon TripPay che contenga gli articoli da prenotare. - Lascia che il viaggiatore paghi utilizzando il TripPay Web Component.
Supponiamo che tu abbia già completato Step 1 e Step 2 e sia pronto a comunicare a TripPay la prenotazione.
Crea payable contract
Sezione intitolata “Crea payable contract”Richiesta
Sezione intitolata “Richiesta”Ecco un esempio di richiesta JSON che include tutto ciò di cui hai bisogno per creare il tuo primo 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" } ] } ] } ]}Spiegazione:
Non spiegheremo ogni singolo dato qui poiché sono già coperti nella documentazione API.
- Linee: 2 - 7 rappresentano l’utente responsabile della prenotazione. Ci sono due tipi di prenotatori:
- Viaggiatore.
- Agenzia di viaggi.
- Linee: 8 - 9 è l’account TripPay che facilita la prenotazione. Può essere:
- Il tuo account integratore TripPay.
- Se gestisci una rete di affiliati, può essere il tuo affiliato.
- Usa un
traceIdper raggruppare più prenotazioni tra più fornitori. In questo modo puoi annullare una prenotazione di gruppo. redirectUrlindica a TripPay quale pagina reindirizzare dopo che il pagamento è completato.sourceUrlè il sito/app su cui è avvenuta la prenotazione.
L’array contractList contiene l’articolo o gli articoli che il viaggiatore vuole acquistare da più fornitori. Ogni articolo contiene:
- L’
identifierè un UUID valido che generi tu. - Il fornitore da cui vuoi prenotare l’inventario.
- L’inventario che vuoi prenotare da quel fornitore. Questi sono tutti specificati nell’array annidato
contractItemList. - Ogni voce sotto
contractItemListcontiene:- Utente ospite Questo è l’utente che arriverà presso la struttura.
- Nome in inglese Il nome dell’inventario nella lingua inglese.
- Descrizione in inglese Una descrizione più lunga dell’inventario in lingua inglese.
- Prezzo Il prezzo dell’articolo.
- Itinerario Quando questo articolo deve essere prenotato.
- Tipo di prezzo Come è stato calcolato il prezzo.
- Tipo di inventario Che tipo di inventario è.
- Payable Quando il viaggiatore deve essere addebitato. Attualmente supportiamo solo opzioni di pagamento immediato.
- Policy Includi le regole della politica di cancellazione.
- Lista tariffe giornaliere Se l’articolo prenotato è una camera, puoi scegliere di includere quanto costa quella camera per ogni notte di permanenza dell’ospite.
- Beneficiari Includi quali account TripPay dovrebbero ricevere quale importo del prezzo dell’articolo. Sono supportati importi fissi/percentuali.
Risposta
Sezione intitolata “Risposta”Quando TripPay risponde alla tua richiesta, sarà simile a questo:
[ { "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" } }]Salva l’id alla linea 3. Lo userai per inserirlo nel TripPay web component.
Integra TripPay
Sezione intitolata “Integra TripPay”A questo punto, sei pronto per integrare il Payment Web Component nel tuo sito web e mostrarlo all’utente.
<trip-pay id="contract-1"></trip-pay>Per quanto riguarda l’integrazione, questo è tutto ciò che devi fare. Tutto il lavoro pesante sarà gestito da TripPay da qui in avanti.