Sha256: 3251bb50d92675c170ae37999b75cb996d5171a7e67fc9b3102c22008579b610

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

module Spree
  class KomojuGateway < Gateway
    preference :api_key, :string

    def provider_class
      ActiveMerchant::Billing::KomojuGateway
    end

    def options
      super.merge(login: preferred_api_key, test: preferred_test_mode)
    end

    def auto_capture?
      false
    end

    def payment_profiles_supported?
      false
    end

    def supports?(source)
      true
    end

    # We need to change shipping, tax, subtotal and discount from cents to dollar for Komoju gateway.
    # Because, Komoju gateway supports JPY currency only.
    #
    # Spree changes price from dollar to cents. Almost payment gateway supports cents only.
    # See. https://github.com/spree/spree/blob/master/core/app/models/spree/payment/gateway_options.rb
    def change_options_to_dollar(options)
      %i(shipping tax subtotal discount).each { |key| options[key] = options[key] / 100.0 }
      options
    end

    def gateway_type
      self.class.to_s.split("::Komoju").last.underscore
    end

    def method_type
      "komoju_#{gateway_type}"
    end

    def payment_source_class
      "Spree::#{gateway_type.camelcase}".constantize
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spree_komoju-0.0.9 app/models/spree/komoju_gateway.rb
spree_komoju-0.0.8 app/models/spree/komoju_gateway.rb
spree_komoju-0.0.7 app/models/spree/komoju_gateway.rb
spree_komoju-0.0.6 app/models/spree/komoju_gateway.rb
spree_komoju-0.0.5 app/models/spree/komoju_gateway.rb