Giter VIP home page Giter VIP logo

spree_pag_seguro's Introduction

Spree Pagseguro

Uma extensão do Spree para permitir pagamentos utilizando o PagSeguro.

Instalação

Adicione spree ao gemfile da sua aplicação, e também:

gem "spree_pag_seguro"

Rode a task de instalação:

rails generate spree_pag_seguro:install

Configuração

É necessário configurar as seguintes informaçãoes na sua conta no PagSeguro:

Em Integrações -> Token de segurança clique em Gerar novo token e guarde esta informação em local seguro
Em Integrações -> Pagamentos via API é necessário ativar a opção "Quero receber somente pagamentos via API."
Em Integrações -> Notificação de transações é necessário ativar a notificação de transações e definir a url para receber as notificações como: <url da sua aplicação>/pag_seguro/notify

Após feita a instalação e migração, acesse a administração do spree, vá em Configuração -> Métodos de Pagamento e adicione um novo método selecionando Spree::PaymentMethod::PagSeguroMethod, adicionando seu e-mail e token utilizados no PagSeguro.

Adaptação

É bem provável que você queira alterar as informações presentes na página de callback para onde o usuário é levado após realizar a compra no pag seguro. Para tanto, basta criar um arquivo em app/views/spree/pag_seguro/callback.html.erb. No momento em que o usuário é redirecionado, a compra pode ter sido aprovada ou não, então a mensagem desta página é genérica e reflete esta incerteza.

Caso queira enviar um e-mail ao usuário quando a compra for aprovada pelo pagseguro, sobrescreva a máquina de estados do Spree::Payment em sua aplicação para fazer o envio do e-mail (a classe PaymentMailer não existe, e precisa ser criada por você):

Spree::Payment.class_eval do
  state_machine do
    after_transition :to => 'completed', :do => :send_confirmation!
  end

  def send_confirmation!
    PaymentMailer.confirm_email(self.order).deliver
  end
end

TODO

  • Adicionar Testes
  • Fazer a página de Callback verificar se a compra já está aprovada ou não no PagSeguro

Contribuindo

Caso queira contribuir, faça um fork desta gem no github, corriga o bug/ adicione a feature desejada e faça um merge request.

Sobre

Desenvolvida por Stefano Diem Benatti

spree_pag_seguro's People

Contributors

andreteves avatar buddhi-desilva avatar gregg avatar hashtegner avatar jimsynz avatar kennyadsl avatar laurobecker avatar leosmeira avatar msharp avatar mutalis avatar schof avatar teonimesic avatar ticolucci avatar tomash avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.