Saltearse al contenido

Integración con TripPay

Este artículo contiene un ejemplo completo de cómo integrarse con TripPay.

Se recomienda que ya hayas leído:

Estos son los pasos para utilizar TripPay con éxito para pagar una reserva:

  1. Asegúrese de que se hayan mapeado los beneficiarios que menciona en el contrato de reserva.
  2. Deje que el viajero elija el inventario que desea reservar y prepárese para pagar.
  3. Crear una payable contract con TripPay que contiene los artículos a reservar.
  4. Permita que el viajero pague utilizando el componente web TripPay.

Damos por hecho que ya lo has completado.Step 1 y Step 2y están listos para informar a TripPay sobre la reserva.

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

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 untraceIdPara agrupar varias reservas de varios proveedores. De esta forma, puedes cancelar una reserva de grupo.
  • redirectUrlpermite a TripPay saber a qué página redirigir después de que se complete el pago.
  • sourceUrles el sitio / aplicación en el que se realizó la reserva.

El contractListLa matriz contiene los artículos que el viajero desea comprar de varios proveedores. Cada artículo contiene:

  • El identifieres 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 bajocontractItemList 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.

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 eliden la línea 3. Lo usarás para inyectarlo en el componente web de TripPay.

Asegúrate de haber cargado nuestros estilos y Javascript previamente.

En este punto, ya está listo para incrustar elPayment Web Componenten 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.