Integrazione con TripPay
Questo articolo contiene un esempio completo di come integrare TripPay.
Ti consigliamo di aver già letto:
- Pagamento > Mappatura.
- Pagamento > Integrazione.
- Componente Web di pagamento.
- API di pagamento.Leggi la sezione su
Create payable contracts
Ecco i passaggi per utilizzare correttamente TripPay per pagare una prenotazione:
- Assicuratevi che i beneficiari menzionati nel contratto di prenotazione siano stati mappati.
- Lascia che il viaggiatore scelga l’inventario che desidera prenotare e si prepari a pagare.
- Crea un
payable contract
con TripPay contenente gli articoli da prenotare. - Consenti al viaggiatore di pagare tramite il componente Web TripPay.
Supponiamo che tu abbia già completatoStep 1
E Step 2
e sei pronto a informare TripPay della prenotazione.
Crea un contratto pagabile
Sezione intitolata “Crea un contratto pagabile”Richiesta
Sezione intitolata “Richiesta”Ecco un esempio di richiesta JSON che include tutto ciò che ti serve per creare il tuo primo contratto a pagamento.
{ "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 qui ogni punto dati poiché sono già trattati nella documentazione API.
- Linee: 2 - 7L’utente è responsabile della prenotazione. Esistono due tipi di utenti che effettuano la prenotazione:
- Viaggiatore.
- Agente di viaggio.
- Linee: 8 - 9è l’account TripPay che facilita la prenotazione. Può essere:
- Il tuo account integratore TripPay.
- Se gestisci una rete di affiliazione, potrebbe essere il tuo affiliato.
- Utilizzare un
traceId
Per raggruppare più prenotazioni tra più fornitori. In questo modo è possibile annullare una prenotazione di gruppo. redirectUrl
consente a TripPay di sapere a quale pagina reindirizzare dopo aver completato il pagamento.sourceUrl
è il sito/app tramite cui è stata effettuata la prenotazione.
IL contractList
L’array contiene gli articoli che il viaggiatore desidera acquistare da più fornitori. Ogni articolo contiene:
- IL
identifier
è un UUID valido generato da te. - Il fornitore da cui desideri prenotare l’inventario.
- L’inventario che si desidera prenotare da quel fornitore. Questi sono tutti specificati nella matrice nidificata.
contractItemList
. - Ogni voce sotto
contractItemList
contiene:- Utente ospiteQuesto è l’utente che arriverà nei locali.
- Nome in ingleseIl nome dell’inventario in lingua inglese.
- Descrizione in ingleseUna descrizione più lunga dell’inventario in lingua inglese.
- PrezzoIl prezzo dell’articolo.
- ItinerarioQuando prenotare questo articolo.
- Tipo di prezzoCome è stato calcolato il prezzo.
- Tipo di inventarioChe tipo di inventario è questo?
- PagabileQuando il viaggiatore dovrebbe essere addebitato.Al momento supportiamo solo le opzioni di pagamento immediato.
- PoliticaIncludere le regole sulla politica di cancellazione.
- Listino prezzi giornalieroSe l’articolo prenotato è una camera, puoi scegliere di includere il costo della camera per ogni notte di soggiorno dell’ospite.
- BeneficiariSpecificare a quali conti TripPay deve essere assegnato un determinato importo del prezzo dell’articolo.Sono supportati importi fissi/percentuali.
Risposta
Sezione intitolata “Risposta”Quando TripPay risponde alla tua richiesta, apparirà qualcosa del genere:
[ { "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 ilid
sulla riga 3. Lo utilizzerai per iniettare nel componente web TripPay.
Incorpora TripPay
Sezione intitolata “Incorpora TripPay”Assicurati di aver caricato in anticipo i nostri stili e Javascript.
A questo punto sei pronto per incorporare ilPayment Web Component
nel tuo sito web e mostralo all’utente.
<trip-pay id="contract-1"></trip-pay>
Per quanto riguarda l’integrazione, questo è tutto ciò che devi fare. D’ora in poi, tutto il lavoro pesante sarà svolto da TripPay.