Integração com TripPay
Este artigo contém um exemplo completo de como integrar com o TripPay.
É recomendável que você já tenha lido:
- Pagamento > Mapeamento.
- Pagamento > Integração.
- Componente Web de Pagamento.
- API de pagamento.Leia a seção sobre
Create payable contracts
Aqui estão os passos para usar o TripPay com sucesso para pagar uma reserva:
- Certifique-se de que os beneficiários mencionados no contrato de reserva foram mapeados.
- Deixe que o viajante escolha o inventário que deseja reservar e prepare-se para pagar.
- Criar um
payable contract
com o TripPay que contém os itens a serem reservados. - Deixe o viajante pagar usando o TripPay Web Component.
Presumimos que você já concluiuStep 1
e Step 2
e estão prontos para informar o TripPay sobre a reserva.
Criar contrato a pagar
Seção intitulada “Criar contrato a pagar”Acesse a API de Pagamento para saber mais sobre os requisitos para criar um contrato pagável.
Solicitar
Seção intitulada “Solicitar”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", }, "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" } ] } ] } ]}
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 um
traceId
para agrupar várias reservas de vários fornecedores. Dessa forma, você pode cancelar uma reserva em grupo. redirectUrl
permite 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 contractList
A 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 aninhada
contractItemList
. - Cada entrada sob
contractItemList
conté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%.
Resposta
Seção intitulada “Resposta”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 oid
na linha 3. Você usará isso para injetar no componente web TripPay.
Incorporar TripPay
Seção intitulada “Incorporar TripPay”Certifique-se de ter carregado nossos estilos e Javascript com antecedência.
Neste ponto, você está pronto para incorporar oPayment Web Component
no 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.