Integració amb TripPay
Aquest article conté un exemple complet de com integrar-se amb TripPay.
Es recomana que ja hagis llegit:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Llegeix la secció sobre
Create payable contracts
Aquí tens els passos per utilitzar TripPay amb èxit per pagar una reserva:
- Assegura’t que els beneficiaris que menciones en el contracte de reserva estiguin mapejats.
- Deixa que el viatger triï l’inventari que vol reservar i que es prepari per pagar.
- Crea un
contracte pagableamb TripPay que contingui els articles a reservar. - Deixa que el viatger pagui utilitzant el Payment Web Component de TripPay.
Suposem que ja has completat el Pas 1 i el Pas 2 i estàs preparat per informar TripPay sobre la reserva.
Crear contracte pagable
Section titled “Crear contracte pagable”Sol·licitud
Section titled “Sol·licitud”Aquí tens un exemple JSON de sol·licitud que inclou tot el que necessites per crear el teu primer contracte pagable.
{ "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" } ] } ] } ]}Explicació:
No explicarem cada punt de dades aquí ja que ja estan coberts a la documentació de l’API.
- Línies: 2 - 7 és l’usuari responsable de la reserva. Hi ha dos tipus de reservadors:
- Viatger.
- Agent de viatges.
- Línies: 8 - 9 és el compte TripPay que facilita la reserva. Pot ser:
- El teu compte integrador de TripPay.
- Si gestiones una xarxa d’afiliats, pot ser el teu afiliat.
- Utilitza un
traceIdper agrupar múltiples reserves de diversos proveïdors. Així pots cancel·lar una reserva grupal. redirectUrlindica a TripPay a quina pàgina redirigir després que el pagament s’hagi completat.sourceUrlés el lloc web o app on es va fer la reserva.
L’array contractList conté l’article o articles que el viatger vol comprar de diversos proveïdors. Cada article conté:
- L’
identifierés un UUID vàlid que generes. - El proveïdor del qual vols reservar inventari.
- L’inventari que vols reservar d’aquest proveïdor. Tot això està especificat a l’array anidat
contractItemList. - Cada entrada dins
contractItemListconté:- Usuari convidat Aquest és l’usuari que arribarà a les instal·lacions.
- Nom en anglès El nom de l’inventari en anglès.
- Descripció en anglès Una descripció més llarga de l’inventari en anglès.
- Preu El preu de l’article.
- Itinerari Quan s’ha de reservar aquest article.
- Tipus de preu Com s’ha calculat el preu.
- Tipus d’inventari Quin tipus d’inventari és.
- Pagable Quan s’ha de cobrar al viatger. Actualment només suportem opcions de pagament immediat.
- Política Inclou les regles de la política de cancel·lació.
- Llista de tarifes diàries Si l’article reservat és una habitació, pots incloure quant costa aquesta habitació per cada nit d’estada.
- Beneficiaris Inclou quins comptes TripPay han de rebre quina quantitat del preu de l’article. S’admeten quantitats fixes o percentatges.
Resposta
Section titled “Resposta”Quan TripPay respon a la teva sol·licitud, serà similar a això:
[ { "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" } }]Desa l’id de la línia 3. L’utilitzaràs per injectar-lo al web component de TripPay.
Integrar TripPay
Section titled “Integrar TripPay”Ara estàs preparat per integrar el Payment Web Component al teu lloc web i mostrar-lo a l’usuari.
<trip-pay id="contract-1"></trip-pay>Pel que fa a la integració, això és tot el que has de fer. Tot el treball pesat el fa TripPay a partir d’aquí.