Aller au contenu

Intégration avec TripPay

Cet article contient un exemple complet de bout en bout sur la manière d’intégrer TripPay.

Il est recommandé d’avoir déjà lu :

Voici les étapes pour utiliser avec succès TripPay afin de payer une réservation :

  1. Assurez-vous que les bénéficiaires mentionnés dans le contrat de réservation ont été mappés.
  2. Laissez le voyageur choisir l’inventaire qu’il souhaite réserver et préparez-le au paiement.
  3. Créez un contrat payable avec TripPay qui contient les articles à réserver.
  4. Laissez le voyageur payer en utilisant le Composant Web TripPay.

Nous supposons que vous avez déjà complété Étape 1 et Étape 2 et que vous êtes prêt à informer TripPay de la réservation.

Voici un exemple de requête JSON qui inclut tout ce dont vous avez besoin pour créer votre premier contrat payable.

{
"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"
}
]
}
]
}
]
}

Explication :

Nous n’expliquerons pas chaque point de données ici car ils sont déjà couverts dans la documentation de l’API.

  • Lignes : 2 - 7 correspondent à l’utilisateur responsable de la réservation. Il existe deux types de réservateurs :
    • Voyageur.
    • Agent de voyage.
  • Lignes : 8 - 9 correspondent au compte TripPay facilitant la réservation. Il peut s’agir de :
    • Votre compte intégrateur TripPay.
    • Si vous gérez un réseau d’affiliés, cela peut être votre affilié.
  • Utilisez un traceId pour regrouper plusieurs réservations auprès de plusieurs fournisseurs. Cela vous permet d’annuler une réservation groupée.
  • redirectUrl indique à TripPay vers quelle page rediriger après la fin du paiement.
  • sourceUrl est le site / l’application sur lequel la réservation a eu lieu.

Le tableau contractList contient l(es) article(s) que le voyageur souhaite acheter auprès de plusieurs fournisseurs. Chaque article contient :

  • L’identifier est un UUID valide que vous générez.
  • Le fournisseur auprès duquel vous souhaitez réserver l’inventaire.
  • L’inventaire que vous souhaitez réserver auprès de ce fournisseur. Ceux-ci sont tous spécifiés dans le tableau imbriqué contractItemList.
  • Chaque entrée sous contractItemList contient :
    • Utilisateur invité C’est l’utilisateur qui arrivera sur les lieux.
    • Nom en anglais Le nom de l’inventaire en langue anglaise.
    • Description en anglais Une description plus longue de l’inventaire en langue anglaise.
    • Prix Le prix de l’article.
    • Itinéraire Quand cet article doit être réservé.
    • Type de tarification Comment le prix a été calculé.
    • Type d’inventaire Quel type d’inventaire il s’agit.
    • Payable Quand le voyageur doit être facturé. Nous ne supportons actuellement que les options de paiement immédiat.
    • Politique Inclure les règles de politique d’annulation.
    • Liste des tarifs journaliers Si l’article réservé est une chambre, vous pouvez choisir d’inclure le coût de cette chambre pour chaque nuitée du séjour.
    • Bénéficiaires Inclure quel(s) compte(s) TripPay doit recevoir quelle(s) part(s) du prix de l’article. Les montants fixes / en pourcentage sont supportés.

Lorsque TripPay répond à votre requête, cela ressemblera à ceci :

[
{
"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"
}
}
]

Enregistrez l’id à la ligne 3. Vous l’utiliserez pour l’injecter dans le composant web TripPay.

À ce stade, vous êtes prêt à intégrer le Composant Web de Paiement dans votre site web et à l’afficher à l’utilisateur.

<trip-pay id="contract-1"></trip-pay>

En ce qui concerne l’intégration, c’est tout ce que vous devez faire. Tout le travail lourd est pris en charge par TripPay à partir de maintenant.