Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Magento
Code

Criar um módulo de método de pagamento personalizado no Magento: Parte Dois

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Create a Custom Payment Method Module in Magento.
Create a Custom Payment Method Module in Magento: Part One
Create a Custom Payment Method Module in Magento: Part Three

Portuguese (Português) translation by Rafael Corrêa Gomes (you can also view the original English article)

Nesta série, estamos trabalhando em como criar uma extensão do método de pagamento personalizado no Magento. Na primeira parte, nós criamos uma configuração básica de backend para nosso método de pagamento personalizado. Criamos um módulo básico, e nós vamos estendê-lo neste artigo. Hoje, vamos ver como nosso método de pagamento personalizado no processo de checkout (frontend), listar e salvar campos personalizados relacionados ao nosso método de pagamento personalizada juntamente com outras informações de ordem.

Presumo que você está familiarizado com o processo de criação do módulo básico no Magento. Se não, aqui é um bom artigo explicando o básico da criação do módulo personalizado.

Também, se você ainda não fui através da primeira parte desta série, é recomendado para fazer isso, pois você precisará arquivos de módulo da primeira parte, a fim de ter um módulo de trabalho completo. Vamos ter um rápido olhar para a lista de arquivos que criamos na primeira parte:

  • app/etc/modules/Envato_All.xml
  • app/code/local/Envato/Custompaymentmethod/etc/config.xml
  • app/code/local/Envato/Custompaymentmethod/etc/system.xml
  • app/code/local/Envato/Custompaymentmethod/sql/custompaymentmethod_setup/install1.0.0.0.php

Hoje, vamos criar arquivos que nos ajudará a listar nosso método de pagamento personalizado no processo de checkout, e que também irá exibir informações de método de pagamento na barra lateral direita como um resumo.

Um olhar sobre a instalação de arquivos

Vamos dar uma olhada na lista de arquivos que vamos criar hoje.

  • app/code/local/Envato/Custompaymentmethod/Block/Form/Custompaymentmethod.php: É um arquivo de bloco que irá chamar o arquivo de modelo relacionados para exibir um formulário de pagamento personalizado para nosso método de pagamento personalizado.
  • app/design/frontend/base/Default/Template/custompaymentmethod/Form/custompaymentmethod.phtml: É um arquivo de modelo usado para exibir um formulário de pagamento personalizado para nosso método de pagamento personalizado.
  • app/code/local/Envato/Custompaymentmethod/Model/Paymentmethod.php: É um arquivo de modelo usado para validar e salvar as informações de campos de pagamento personalizado.
  • app/code/local/Envato/Custompaymentmethod/Block/Info/Custompaymentmethod.php: É um arquivo de bloco que irá configurar as informações necessárias para a seção de resumo na barra lateral direita.

Configuração de página de checkout: Criação de arquivos

Criar um arquivo app/code/local/Envato/Custompaymentmethod/Block/Form/Custompaymentmethod.php e cole o seguinte conteúdo neste arquivo.

Neste arquivo, montamos um caminho do arquivo de modelo que será usado quando o Magento tenta mostrar o nosso método de pagamento relacionados ao formulário. Vamos criar o arquivo de modelo relacionados também no app/design/frontend/base/default/template/custompaymentmethod/form/custompaymentmethod.phtml.

Lembre-se que na primeira parte desta série, criamos dois campos personalizados, custom_field_one e custom_field_two, usando um sql instalam o arquivo. Então no arquivo do modelo acima, nós indicamos os dois campos em forma de campos de texto simples.

Agora, o Magento não vai detectar a configuração de bloco de formulário acima automaticamente. Para isso, precisamos configurar um arquivo de modelo, então vamos fazer isso criando o modelo arquivo app/code/local/Envato/Custompaymentmethod/Model/Paymentmethod.php com o seguinte conteúdo.

o $_code define o código único do nosso método de pagamento. Além disso, $_formBlockType define o local do arquivo de bloco que será chamado quando o método de pagamento é selecionado. Já montamos arquivos de bloco de formulário relacionados a isto na seção anterior. Em seguida, $_infoBlockType define um bloco de arquivo que irá exibir o método de pagamento relacionado informações na barra lateral direita, como veremos na próxima seção.

O método validate é usado para a validação de dados do nosso costume pagamento dos campos relacionados, e o método assignData é usado para salvar nosso costume pagamento relacionado campos, juntamente com outras informações de ordem. E finalmente, o método getOrderPlaceRedirectUrl retorna o URL que é usado para redirecionar o usuário depois que a ordem é colocada.

Com esta configuração, você deve ser capaz de ver o nosso método de pagamento personalizados listado no processo de checkout frontend.

Checkout Process

Como você pode ver na imagem, quando você selecionar "CustomPaymentMethod" ele exibe dois campos personalizados: "Campo personalizado um" e "Campo personalizado dois"!

Agora, vamos criar o último arquivo deste tutorial, app/code/local/Envato/Custompaymentmethod/Block/Info/Custompaymentmethod.php e colar o seguinte conteúdo neste arquivo. É um arquivo mencionado pela propriedade $_infoBlockType em um arquivo de modelo que definimos anteriormente.

Com este arquivo no lugar, você será capaz de ver o resumo de pagamento na barra lateral direita da página de checkout.

Right Sidebar

Então, quase terminamos o processo de checkout. Agora, quando um usuário clica no botão Place Order, Magento irá redirecionar dele ou dela para a URL que definimos no método getOrderPlaceRedirectUrl em um arquivo de modelo.

Na próxima e última parte desta série, iremos continuar a partir daí e demonstrar a página de gateway de pagamento demo!

Conclusão

Nesta parte, implementamos módulo arquivos relacionado com o processo de checkout frontend. Especificamente, montamos os blocos de formulário e informações para nosso método de pagamento personalizado. Espero que você está gostando desta série e não se esqueça de postar sua opinião usando o feed abaixo.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.