Class: Spree::MollieController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/mollie_controller.rb

Instance Method Summary collapse

Instance Method Details

#update_payment_statusObject

Mollie might send us information about a transaction through the webhook. We should update the payment state accordingly.



30
31
32
33
34
35
36
# File 'app/controllers/spree/mollie_controller.rb', line 30

def update_payment_status
  payment_number = split_payment_identifier(params[:payment_identifier])
  payment = Spree::Payment.find_by(number: payment_number)
  payment.payment_method.gateway.update_payment_status(payment)
  
  head :ok
end

#validate_paymentObject

We might need this if the Webhook is late



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/spree/mollie_controller.rb', line 6

def validate_payment
  payment_number = split_payment_identifier(params[:order_number])
  payment = Spree::Payment.find_by(number: payment_number)
  payment.payment_method.gateway.update_payment_status(payment)

  order = payment.order
  order.reload

  binding.pry
  
  # Order is paid for or authorized (e.g. Klarna Pay Later)
  if (order.paid? && (order.can_complete?))
    order.complete

    redirect_to "https://bitter-lizard-32.loca.lt/checkout/success/#{order.number}"
    # redirect_to order_path(payment.order)
  else payment.pending?
    redirect_to "https://bitter-lizard-32.loca.ltcheckout/#{params[:order_number]}"
    # redirect_to checkout_state_path(:payment)
  end
end