Salta ai contenuti

Integrazione con TripPay

Questo articolo contiene un esempio completo di come integrare TripPay.

Ti consigliamo di aver già letto:

Ecco i passaggi per utilizzare correttamente TripPay per pagare una prenotazione:

  1. Assicuratevi che i beneficiari menzionati nel contratto di prenotazione siano stati mappati.
  2. Lascia che il viaggiatore scelga l’inventario che desidera prenotare e si prepari a pagare.
  3. Crea un payable contract con TripPay contenente gli articoli da prenotare.
  4. Consenti al viaggiatore di pagare tramite il componente Web TripPay.

Supponiamo che tu abbia già completatoStep 1 E Step 2e sei pronto a informare TripPay della prenotazione.

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",
"email": "[email protected]"
},
"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": "[email protected]",
"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 untraceIdPer raggruppare più prenotazioni tra più fornitori. In questo modo è possibile annullare una prenotazione di gruppo.
  • redirectUrlconsente a TripPay di sapere a quale pagina reindirizzare dopo aver completato il pagamento.
  • sourceUrlè il sito/app tramite cui è stata effettuata la prenotazione.

IL contractListL’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 sottocontractItemListcontiene:
    • 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.

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 ilidsulla riga 3. Lo utilizzerai per iniettare nel componente web TripPay.

Assicurati di aver caricato in anticipo i nostri stili e Javascript.

A questo punto sei pronto per incorporare ilPayment Web Componentnel 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.