Pular para o conteúdo

Integração com TripPay

Este artigo contém um exemplo completo de como integrar com o TripPay.

É recomendável que você já tenha lido:

Aqui estão os passos para usar o TripPay com sucesso para pagar uma reserva:

  1. Certifique-se de que os beneficiários mencionados no contrato de reserva foram mapeados.
  2. Deixe que o viajante escolha o inventário que deseja reservar e prepare-se para pagar.
  3. Criar um payable contract com o TripPay que contém os itens a serem reservados.
  4. Deixe o viajante pagar usando o TripPay Web Component.

Presumimos que você já concluiuStep 1 e Step 2e estão prontos para informar o TripPay sobre a reserva.

Acesse a API de Pagamento para saber mais sobre os requisitos para criar um contrato pagável.

Aqui está um exemplo de solicitação JSON que inclui tudo o que você precisa criar para seu primeiro contrato pagável.

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

Explicação:

Não explicaremos todos os pontos de dados aqui, pois eles já estão abordados na documentação da API.

  • Linhas:2 - 7é o usuário responsável pela reserva. Existem dois tipos de reservadores:
    • Viajante.
    • Agente de viagens.
  • Linhas:8 - 9A conta TripPay facilita a reserva. Pode ser:
    • Sua conta de integrador TripPay.
    • Se você administra uma rede de afiliados, ela pode ser sua afiliada.
  • Use umtraceIdpara agrupar várias reservas de vários fornecedores. Dessa forma, você pode cancelar uma reserva em grupo.
  • redirectUrlpermite que o TripPay saiba para qual página redirecionar após o pagamento ser concluído.
  • sourceUrlé o site/aplicativo em que a reserva ocorreu.

O contractListA matriz contém o(s) item(ns) que o viajante deseja comprar de vários fornecedores. Cada item contém:

  • O identifieré um UUID válido que você gera.
  • O fornecedor do qual você deseja reservar o estoque.
  • O estoque que você deseja reservar daquele fornecedor. Todos eles são especificados na matriz aninhadacontractItemList.
  • Cada entrada sobcontractItemListcontém:
    • Usuário convidadoEste é o usuário que chegará ao local.
    • Nome em inglêsO nome do inventário em inglês.
    • Descrição em inglêsUma descrição mais longa do inventário em inglês.
    • PreçoO preço do item.
    • ItinerárioQuando este item deve ser reservado.
    • Tipo de preçoComo o preço foi calculado.
    • Tipo de inventárioQue tipo de inventário é esse?
    • A pagarQuando o viajante deve ser cobrado.Atualmente, só oferecemos suporte a opções de pagamento imediato.
    • PolíticaInclua regras de política de cancelamento.
    • Lista de taxas diáriasSe o item reservado for um quarto, você pode optar por incluir o custo desse quarto para cada noite de estadia do hóspede.
    • BeneficiáriosInclua qual(is) conta(s) TripPay deve(m) receber qual(is) valor(es) do preço do item.Valores fixos/percentuais são suportados.

No exemplo JSON acima, temos 3 beneficiários:

  • 1,5% foi destinado à plataforma que facilitou a reserva.por exemplo Wink
  • 9,85% foi alocado ao afiliado como comissão.por exemplo Kim Kardashian
  • 88,65% foi alocado ao fornecedor para a reserva do quarto.por exemplo Hilton

Quando o TripPay responde com um contrato pagável, você notará que ele injetou seu próprio beneficiário em 4,0%.

Quando o TripPay responder à sua solicitação, será algo parecido com isto:

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

Salve oidna linha 3. Você usará isso para injetar no componente web TripPay.

Certifique-se de ter carregado nossos estilos e Javascript com antecedência.

Neste ponto, você está pronto para incorporar oPayment Web Componentno seu site e mostrá-lo ao usuário.

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

Em termos de integração, isso é tudo o que você precisa fazer. A partir de agora, o TripPay cuida de todo o trabalho pesado.