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 :
- Paiement > Mapping.
- Paiement > Intégration.
- Composant Web de Paiement.
- API de Paiement. Lisez la section sur
Créer des contrats payables
Voici les étapes pour utiliser avec succès TripPay afin de payer une réservation :
- Assurez-vous que les bénéficiaires mentionnés dans le contrat de réservation ont été mappés.
- Laissez le voyageur choisir l’inventaire qu’il souhaite réserver et préparez-le au paiement.
- Créez un
contrat payableavec TripPay qui contient les articles à réserver. - 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.
Créer un contrat payable
Section intitulée « Créer un contrat payable »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", }, "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" } ] } ] } ]}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
traceIdpour regrouper plusieurs réservations auprès de plusieurs fournisseurs. Cela vous permet d’annuler une réservation groupée. redirectUrlindique à TripPay vers quelle page rediriger après la fin du paiement.sourceUrlest 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’
identifierest 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
contractItemListcontient :- 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.
Intégrer TripPay
Section intitulée « Intégrer 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.