Sha256: 518662e9df6b6a57a8e4b75d6ebbd29e7ecc2cd2613a9c2e77244a5ad600f3ca

Contents?: true

Size: 844 Bytes

Versions: 2

Compression:

Stored size: 844 Bytes

Contents

module Spree
  module SolidusSixSaferpay

    # This handler can be overridden by host applications to manage control
    # flow if no payment can be found when SIX Saferpay performs the callback
    # request after the user submits a payment. 
    # If not overridden, the handler will simply trigger an error.
    class PaymentNotFoundHandler

      attr_reader :controller_context, :order

      def self.call(controller_context:, order:)
        new(controller_context: controller_context, order: order).call
      end

      def initialize(controller_context:, order:)
        @controller_context = controller_context
        @order = order
      end

      def call
        ::SolidusSixSaferpay::ErrorHandler.handle(
          StandardError.new("No Saferpay Payment found for order #{order.number}")
        )
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_six_saferpay-0.5.0 app/services/spree/solidus_six_saferpay/payment_not_found_handler.rb
solidus_six_saferpay-0.4.0 app/services/spree/solidus_six_saferpay/payment_not_found_handler.rb