class CheckoutController
Public Instance Methods
abandoned_transactions()
click to toggle source
# File lib/pagseguro/consults_controller.rb, line 3 def abandoned_transactions report = PagSeguro::Transaction.find_abandoned while report.next_page? report.next_page! puts "=> Page #{report.page}" abort "=> Errors: #{report.errors.join("\n")}" unless report.valid? puts "=> Report was created at: #{report.created_at}" puts report.transactions.each do |transaction| puts "=> Abandoned transaction" puts " created at: #{transaction.created_at}" puts " code: #{transaction.code}" puts " type_id: #{transaction.type_id}" puts " gross amount: #{transaction.gross_amount}" puts end end end
create()
click to toggle source
# File lib/e4commerce/ps_checkout_template.rb, line 2 def create # O modo como você irá armazenar os produtos que estão sendo comprados # depende de você. Neste caso, temos um modelo Order que referência os # produtos que estão sendo comprados. order = Order.find(params[:id]) payment = PagSeguro::PaymentRequest.new # Você também pode fazer o request de pagamento usando credenciais # diferentes, como no exemplo abaixo payment = PagSeguro::PaymentRequest.new(email: 'abc@email', token: 'token') payment.reference = order.id payment.notification_url = notifications_url payment.redirect_url = processing_url order.products.each do |product| payment.items << { id: product.id, description: product.title, amount: product.price, weight: product.weight } end # Caso você precise passar parâmetros para a api que ainda não foram # mapeados na gem, você pode fazer de maneira dinâmica utilizando um # simples hash. payment.extra_params << { paramName: 'paramValue' } payment.extra_params << { senderBirthDate: '07/05/1981' } payment.extra_params << { extraAmount: '-15.00' } response = payment.register # Caso o processo de checkout tenha dado errado, lança uma exceção. # Assim, um serviço de rastreamento de exceções ou até mesmo a gem # exception_notification poderá notificar sobre o ocorrido. # # Se estiver tudo certo, redireciona o comprador para o PagSeguro. if response.errors.any? raise response.errors.join("\n") else redirect_to response.url end end
transaction_history()
click to toggle source
# File lib/pagseguro/consults_controller.rb, line 26 def transaction_history report = PagSeguro::Transaction.find_by_date while report.next_page? report.next_page! puts "== Page #{report.page}" abort "=> Errors: #{report.errors.join("\n")}" unless report.valid? puts "Report created on #{report.created_at}" puts report.transactions.each do |transaction| puts "=> Transaction" puts " created_at: #{transaction.created_at}" puts " code: #{transaction.code}" puts " cancellation_source: #{transaction.cancellation_source}" puts " payment method: #{transaction.payment_method.type}" puts " gross amount: #{transaction.gross_amount}" puts " updated at: #{transaction.updated_at}" puts end end end