Point-of-sale icon

Gorjeta pela caixa registradora

Implemente a gorjeta pela caixa registradora no seu fluxo de pagamento.

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:

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 da MessageHeader padrão, explicada nos fundamentos da API de terminais, que incluem:

      • ProtocolVersion: 3.0
      • MessageClass: Service
      • MessageCategory: Payment. Isso indica que você está iniciando uma solicitação de pagamento.
      • MessageType: Request
      • SaleID: 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.

Veja também