Plugin SAP Hybris

Versões suportadas

Este plugin foi construído sob o SAP Commerce Cloud na versão 2011. Assim, certifique-se de ter o projeto
rodando com a versão 2011.

ATENÇÃO: Devido a variada possibilidade de vitrines (Storefronts) que os diversos projetos SAP Commerce
podem possuir, desenvolvemos nossa solução com base no fluxo de checkout padrão do SAP Commerce
(responsiveCheckoutGroup). Dessa forma não podemos oferecer suporte se você não estiver usando o checkout
padrão do SAP Commerce. Há mais detalhes sobre esse tema em “Configuração do plugin”.

Arquitetura

630

Funcionalidades

  • Menu próprio da Pagaleve, no Backoffice, para administração do plugin.
  • Habilitar/desabilitar plugin (meio de pagamento Pagaleve como um todo) através de uma flag.
  • Habilitar/desabilitar modo de teste através de uma flag.
  • Possibilidade de customizar o nome do merchant enviado nas requisições à Pagaleve via atributo configurável.
  • Administração de status de um pedido com o pagamento através da Pagaleve via atributo configurável.
  • Inicio do checkout na página da Pagaleve, a partir do carrinho/checkout pelo SAP Commerce. Após o pagamento do cliente, redireciona o cliente automaticamente para a página de confirmação do pedido (se este for pago), ou para um novo carinho baseado no pedido anterior que houve alguma falha no pagamento.
  • Relatório dos pedidos efetuados com o pagamento através da Pagaleve (com tela no Backoffice e export para CSV, para extração dos dados).
  • CronJob para verificação de status de carrinhos/checkouts iniciados no SAP Commerce mas que ainda não possuem confirmação de pagamento (seja qual for o motivo), e envio do pagamento à Pagaleve se o carrinho/checkout em questão já foi pago.
  • Reembolso total e parcial do pedido em caso de cancelamento da compra (total ou parcial).

Visão geral técnica

O plugin Pagaleve é arquitetado em 3 módulos separados, sendo:

  • pagalevebackoffice:
    Contém customizações para o menu “PAGALEVE” na “BaseStore” no Backoffice.

  • pagalevecheckoutaddon:
    Contém os arquivos responsáveis pela comunicação front-end x back-end para os fluxos da Pagaleve, além
    de arquivos de front-end que realizam a lógica do checkout Pagaleve.

  • pagalevecore:
    Contém todos os arquivos responsáveis por toda a comunicação do SAP Commerce com a Pagaleve, além
    de toda a lógica envolvida nos fluxos Pagaleve.

878

BPMN mostrando uma visão técnica com mais detalhes do funcionamento do plugin para o fluxo de
pagamento de um pedido Pagaleve para o SAP Commerce

609

BPMN mostrando uma visão técnica com mais detalhes do funcionamento do plugin para o reembolso
TOTAL ou PARCIAL de um pedido Pagaleve
para o SAP Commerce:

Particularidades

Um carrinho Pagaleve possui algumas maneiras de identificação de que se trata de um pedido Pagaleve,
conforme imagem abaixo:

868

Como podemos ver na imagem acima um pedido Pagaleve possui as seguintes caracteristicas:

  • Tipo de pagamento —> PAGALEVE.
  • pagaleveCartReference —> Código do carrinho antes de virar um pedido.
  • pagalevePaymentAPIAlreadyProcessed —> Indica se houve integração processada com sucesso (sem erros na integração) na API de pagamentos Pagaleve.
  • pagaleveRefunded —> Indica se houve integração processada com sucesso (sem erros na integração) na API de reembolso Pagaleve.

Há também o PaymentInfo com mais algumas informações:

  • pagalevecheckoutId —> Campo “checkout_id” retornado da integração com a API de checkout na Pagaleve para este pedido (quando ainda era um carrinho)
  • pagalevePaymentMethod —> Pagaleve
  • pagaleveRedirectUrl —> Campo “redirect_url” retornado da integração com a API de checkout na Pagaleve para este pedido (quando ainda era um carrinho)
  • pagaleveMerchantName —> códigoDoCarrinho_nomeDaLoja ou códigoDoCarrinho_nomeConfiguradoNoMenuPagaleveParaOMerchant. Ex: 00045000_apparel-uk
  • pagalevePaymentStatus —> PENDENTE / PAGO
1914 1917

Informações importantes

  • A requisição para a API de checkout (/checkouts) possui o campo “cpf”. Porém, nativamente o SAP Commerce não solicita o CPF dos clientes para cadastro, nesse caso o plugin faz a requisição com este campo vazio mesmo. Caso o seu Commerce possua este campo, faça a edição da classe responsável ( PagaleveRequestFactory ) pela montagem da requisição com o campo utilizado para o CPF do cliente.

  • A requisição para a API de reembolso (/refund) possui o campo “description”. Porém, nativamente no cancelamento do pedido no SAP Commerce não é solicitado para informar uma descrição, nesse caso o plugin faz a requisição com este campo vazio mesmo. Caso o seu Commerce possua este campo, faça a edição da classe responsável ( PagaleveRequestFactory ) pela montagem da requisição com o campo utilizado para a descrição do cancelamento informado pelo cliente.

Informações adicionais

Instalação

Ver nosso passo a passo de instalação do plugin diretamente no Readme no nosso repositório.

Estendendo o plugin

O plugin, conforme já comentado mais acima neste documento, foi arquitetado em 3 módulos separados e isto, dentre outras vantagens, garante a escalabilidade da solução.

Isto quer dizer que o plugin contém todos os arquivos necessários para funcionamento completo do fluxo de pagamento Pagaleve, apesar das limitações que implementar um meio de pagamento em projetos SAP Commerce. É perfeitamente possível utilizar os códigos presentes no plugin para integrar o meio de pagamento Pagaleve em sua solução de pagamento, com algumas customizações, já que o principal objetivo do plugin é realizar redirecionamentos entre o SAP Commerce x Pagaleve, não utilizando qualque tecnologia ou framework como ponte para tal.

Links úteis

[Repositório Pagaleve] (https://gitlab.com/fluidapi/projects/pagaleve/pagaleve-hybris)
[Configuração do plugin] (https://www.notion.so/Configura-o-do-plugin-15d29df65e3b491187539042dea1e15a)