Sha256: ec5723c2bfa9113f50c98f39e88cf83b7a9a1d7468b4b417fe11f2f1f5fae6bb

Contents?: true

Size: 914 Bytes

Versions: 5

Compression:

Stored size: 914 Bytes

Contents

module SpreeGateway
  module PaymentDecorator
    def handle_response(response, success_state, failure_state)
      if response.success? && response.respond_to?(:params)
        self.intent_client_key = response.params['client_secret'] if response.params['client_secret']
      end
      super
    end

    def verify!(**options)
      process_verification(options)
    end

    private

    def process_verification(**options)
      protect_from_connection_error do
        response = payment_method.verify(source, options)

        record_response(response)

        if response.success?
          unless response.authorization.nil?
            self.response_code = response.authorization

            source.update(status: response.params['status'])
          end
        else
          gateway_error(response)
        end
      end
    end
  end
end

::Spree::Payment.prepend(::SpreeGateway::PaymentDecorator)

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
spree_gateway-3.11.0 app/models/spree_gateway/payment_decorator.rb
spree_gateway-3.10.0 app/models/spree_gateway/payment_decorator.rb
archetype_spree_gateway-3.9.5.1 app/models/spree_gateway/payment_decorator.rb
archetype_spree_gateway-3.9.5 app/models/spree_gateway/payment_decorator.rb
spree_gateway-3.9.4 app/models/spree_gateway/payment_decorator.rb