Integración con TripPay
Este artículo contiene un ejemplo completo de cómo integrarse con TripPay.
Se recomienda que ya hayas leído:
- Pago > Mapeo.
- Pago > Integración.
- Componente web de pago.
- API de pago.Lea la sección sobre
Create payable contracts
Estos son los pasos para utilizar TripPay con éxito para pagar una reserva:
- Asegúrese de que se hayan mapeado los beneficiarios que menciona en el contrato de reserva.
- Deje que el viajero elija el inventario que desea reservar y prepárese para pagar.
- Crear una
payable contract
con TripPay que contiene los artículos a reservar. - Permita que el viajero pague utilizando el componente web TripPay.
Damos por hecho que ya lo has completado.Step 1
y Step 2
y están listos para informar a TripPay sobre la reserva.
Crear contrato de pago
Sección titulada «Crear contrato de pago»Visite la API de pagos para obtener más información sobre los requisitos para crear un contrato de pago.
A continuación se muestra una solicitud de muestra JSON que incluye todo lo que necesita para crear su primer contrato pagadero.
{ "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ón:
No explicaremos todos los puntos de datos aquí, ya que están cubiertos en la documentación de la API.
- Líneas:2 - 7Es el usuario responsable de la reserva. Hay dos tipos de reservadores:
- Viajero.
- Agente de viajes.
- Líneas:8 - 9Es la cuenta de TripPay que facilita la reserva. Puede ser:
- Su cuenta de integrador de TripPay.
- Si gestiona una red de afiliados, ésta puede ser su afiliada.
- Utilice un
traceId
Para agrupar varias reservas de varios proveedores. De esta forma, puedes cancelar una reserva de grupo. redirectUrl
permite a TripPay saber a qué página redirigir después de que se complete el pago.sourceUrl
es el sitio / aplicación en el que se realizó la reserva.
El contractList
La matriz contiene los artículos que el viajero desea comprar de varios proveedores. Cada artículo contiene:
- El
identifier
es un UUID válido que usted genera. - El proveedor del cual desea reservar el inventario.
- El inventario que desea reservar de ese proveedor. Todos estos se especifican en la matriz anidada.
contractItemList
. - Cada entrada bajo
contractItemList
contiene:- Usuario invitadoEste es el usuario que llegará a las instalaciones.
- Nombre en inglésEl nombre del inventario en idioma inglés.
- Descripción en inglésUna descripción más larga del inventario en idioma inglés.
- PrecioEl precio del articulo.
- ItinerarioCuándo debe reservarse este artículo
- Tipo de precioCómo se calculó el precio.
- Tipo de inventario¿Qué tipo de inventario es este?
- PagaderoCuándo se debe cobrar al viajero.Actualmente solo admitimos opciones de pago inmediato.
- PolíticaIncluir reglas de política de cancelación.
- Lista de tarifas diariasSi el artículo que se reserva es una habitación, puede elegir incluir el costo de esa habitación por cada noche que el huésped se hospeda.
- BeneficiariosIncluya a qué cuenta(s) de TripPay se debe asignar qué monto(s) del precio del artículo.Se admiten cantidades fijas/porcentuales.
Respuesta
Sección titulada «Respuesta»Cuando TripPay responda a tu solicitud, se verá así:
[ { "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" } }]
Guardar elid
en la línea 3. Lo usarás para inyectarlo en el componente web de TripPay.
Integrar TripPay
Sección titulada «Integrar TripPay»Asegúrate de haber cargado nuestros estilos y Javascript previamente.
En este punto, ya está listo para incrustar elPayment Web Component
en su sitio web y muéstreselo al usuario.
<trip-pay id="contract-1"></trip-pay>
En cuanto a la integración, eso es todo lo que necesitas hacer. De ahora en adelante, TripPay se encargará del resto del trabajo.