Class: Spree::MollieController
- Inherits:
-
BaseController
- Object
- BaseController
- Spree::MollieController
- Defined in:
- app/controllers/spree/mollie_controller.rb
Instance Method Summary collapse
-
#update_payment_status ⇒ Object
Mollie might send us information about a transaction through the webhook.
-
#validate_payment ⇒ Object
We might need this if the Webhook is late.
Instance Method Details
#update_payment_status ⇒ Object
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_payment ⇒ Object
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 |