Sha256: 2f8ce009df58b3948206a17cbd703a4e4a282722394e2f54af22c3ef3949fa81
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module Spree class PagseguroController < Spree::StoreController skip_before_action :verify_authenticity_token, only: :notify def callback @order = Spree::Order.find_by_number(params[:order]) pagseguro_transaction = Spree::PagseguroTransaction.find_by_order_id(@order.number) pagseguro_transaction.update_attribute :state, 'waiting' redirect_to spree.order_path(@order) end def notify logger.info "[PAGSEGURO] Gateway is calling /notify" logger.info params #notification = Spree::PagseguroTransaction.update_last_transaction(params) #payment_method = Spree::PaymentMethod.where(type: 'Spree::Gateway::PagSeguro').first @order = Spree::Order.find_by_number(notification.reference) payment = @order.payments.where(:state => "checkout", :payment_method_id => payment_method.id).last if notification.approved? logger.info "[PAGSEGURO] Order #{@order.number} approved" payment.complete! else logger.info "[PAGSEGURO] Order #{@order.number} failed" payment.failure! end render nothing: true, head: :ok end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spree_pagseguro_simple-0.9 | app/controllers/spree/pagseguro_controller.rb |