Aqui descrevemos como implementar a gorjeta no seu fluxo de pagamento, em que a solicitação de pagamento que você envia da caixa registradora inclui um valor de gorjeta. O terminal mostra o valor original da transação e o valor da gorjeta. O cliente usa o terminal para confirmar a gorjeta, alterar a quantia ou recusar dar uma gorjeta.
Antes de começar
Antes de implementar a gorjeta, certifique-se de:
- Ler e entender nossos fundamentos da API de terminais.
- Criar uma integração que pode efetuar um pagamento.
Etapa 1: Configurar gorjeta
O valor da gorjeta a ser proposto ao cliente no terminal pode ser uma porcentagem do valor da transação, um valor fixo, um dos vários valores fixados dependendo do valor da transação e assim por diante.
Você precisa implementar a sua lógica para garantir que a caixa registradora forneça o valor da gorjeta que você precisa incluir em sua solicitação de pagamento.
Etapa 2: Efetuar um pagamento
Depois de configurar a gorjeta na caixa registradora, você estará pronto para fazer uma solicitação de pagamento que inclua o TipAmount
. Isso mostra o valor da transação e o valor da gorjeta proposto no visor do terminal.
-
Faça uma solicitação POST para um endpoint da API de termina, especificando:
-
MessageHeader
: Segue a estrutura daMessageHeader
padrão, explicada nos fundamentos da API de terminais, que incluem:ProtocolVersion
: 3.0MessageClass
: ServiceMessageCategory
: Payment. Isso indica que você está iniciando uma solicitação de pagamento.MessageType
: RequestSaleID
: Seu ID exclusivo para a caixa registradora.ServiceID
: Seu ID exclusivo para esta tentativa de transação, consistindo em 1 a 10 caracteres alfanuméricos. Esse valor precisa ser exclusivo nas últimas 48 horas.POIID
: ID exclusivo do terminal. Isso indica para qual terminal o pagamento será roteado.
-
PaymentRequest
: O corpo da solicitação para a solicitação de pagamento deve incluir:SaleData.SaleTransactionID.TransactionID
: Sua referência exclusiva para esta solicitação de pagamento.SaleData.SaleTransactionID.TimeStamp
: Data e hora da solicitação de pagamento, no formato UTC.PaymentTransaction.AmountsReq.Currency
: A moeda da transação.PaymentTransaction.AmountsReq.RequestedAmount
: O valor da transação.PaymentTransaction.AmountsReq.TipAmount
: O valor da gorjeta.
O exemplo abaixo mostra como você iniciaria um pagamento de EUR 142,50 com uma gorjeta 10%.
Para obter mais informações sobre a estrutura de solicitação da API do terminal, consulte os fundamentos da API de terminais.
-
A solicitação de pagamento é roteada para o terminal de pagamento. O cliente aceita, altera ou recusa a gorjeta e completa o pagamento. O terminal coleta os detalhes do pagamento e envia a solicitação do valor original da transação mais o valor da gorjeta para a plataforma de pagamentos da Adyen.
Etapa 3: Receber o resultado do pagamento
Quando o pagamento for processado na plataforma de pagamentos da Adyen, você recebe o resultado do pagamento em uma resposta síncrona da API.
Se sua integração usar comunicação assíncrona em nuvem , você receberá o resultado em uma notificação de exibição TENDER_FINAL.
Se o pagamento for bem-sucedido:
- Approved é exibido no visor do terminal.
-
O resultado do pagamento contém:
-
POIData.POITransactionID.TransactionID
: Identificador de transação para o pagamento. -
PaymentReceipt
:Receba dados com o valor original da transação, o valor da gorjeta (não incluído se o cliente não tiver adicionado uma gorjeta) e o valor total. -
PaymentResult.AmountsResp
:TipAmount
: Valor da gorjeta. Se o cliente não adicionou uma gorjeta, esse campo não será incluído.AuthorizedAmount
: Valor total do pagamento (valor da transação original mais valor da gorjeta).-
Currency
: Moeda do pagamento.
-
Response.Result
: Success -
Response.AdditionalResponse
: Uma sequência base64. Quando decodificado, este é um objeto JSON com dados de transação adicionais. Isso inclui:posadditionalamounts.originalAmountValue
: Valor da transação original em minor units.posAmountGratuityValue
: Valor da gorjeta em minor units.authorisedAmountValue
: Quantidade total autorizada em minor units.
O exemplo abaixo mostra a resposta para uma transação de EUR 142,50 com uma gorjeta de 10% adicionada.
-