Integrando com TripPay
Este artigo contém um exemplo completo de como integrar com o TripPay.
É recomendado que você já tenha lido:
- Payment > Mapping.
- Payment > Integration.
- Payment Web Component.
- Payment API. Leia a seção sobre
Create payable contracts
Aqui estão os passos para usar com sucesso o TripPay para pagar uma reserva:
- Certifique-se de que os beneficiários mencionados no contrato de reserva foram mapeados.
- Deixe o viajante escolher o inventário que deseja reservar e prepare-o para pagar.
- Crie um
payable contractcom o TripPay que contenha os itens a serem reservados. - Deixe o viajante pagar usando o TripPay Web Component.
Assumimos que você já completou o Passo 1 e o Passo 2 e está pronto para informar o TripPay sobre a reserva.
Criar contrato pagável
Seção intitulada “Criar contrato pagável”Requisição
Seção intitulada “Requisição”Aqui está um exemplo de requisição JSON que inclui tudo o que você precisa para criar 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 cada ponto de dado aqui, pois eles já são cobertos na documentação da API.
- Linhas: 2 - 7 é o usuário responsável pela reserva. Existem dois tipos de reservantes:
- Viajante.
- Agente de viagens.
- Linhas: 8 - 9 é a conta TripPay que facilita a reserva. Pode ser:
- Sua conta integradora TripPay.
- Se você gerencia uma rede de afiliados, pode ser seu afiliado.
- Use um
traceIdpara agrupar múltiplas reservas de vários fornecedores. Assim, você pode cancelar uma reserva em grupo. redirectUrlinforma ao TripPay para qual página redirecionar após o pagamento ser concluído.sourceUrlé o site/app onde a reserva foi feita.
O array contractList contém o(s) item(ns) que o viajante deseja comprar de múltiplos fornecedores. Cada item contém:
- O
identifieré um UUID válido que você gera. - O fornecedor do qual você quer reservar o inventário.
- O inventário que você quer reservar desse fornecedor. Todos especificados no array aninhado
contractItemList. - Cada entrada em
contractItemListcontém:- Usuário hóspede Este é o usuário que estará presente no local.
- Nome em Inglês O nome do inventário na língua inglesa.
- Descrição em Inglês Uma descrição mais longa do inventário na língua inglesa.
- Preço O preço do item.
- Itinerário Quando este item deve ser reservado.
- Tipo de precificação Como o preço foi calculado.
- Tipo de inventário Que tipo de inventário é este.
- Pagável Quando o viajante deve ser cobrado. Atualmente suportamos apenas opções de pagamento imediato.
- Política Inclua regras da política de cancelamento.
- Lista de tarifas diárias Se o item reservado for um quarto, você pode incluir quanto custa esse quarto para cada noite da estadia.
- Beneficiários Inclua quais contas TripPay devem receber quais valores do preço do item. Valores fixos/percentuais são suportados.
Resposta
Seção intitulada “Resposta”Quando o TripPay responder à sua requisição, será algo assim:
[ { "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 o id na linha 3. Você usará este para injetar no TripPay web component.
Incorporar TripPay
Seção intitulada “Incorporar TripPay”Neste ponto, você está pronto para incorporar o Payment Web Component em seu site e mostrá-lo ao usuário.
<trip-pay id="contract-1"></trip-pay>Quanto à integração, isso é tudo que você precisa fazer. Todo o trabalho pesado será feito pelo TripPay a partir daqui.