Sha256: 192b081686a409de2fee2239e6b60582f7d6360f7dc15bf571bfb0ecc5d7e71d

Contents?: true

Size: 1.37 KB

Versions: 1

Compression:

Stored size: 1.37 KB

Contents

require "workarea"
require "workarea/storefront"
require "workarea/admin"

require "workarea/payeezy/engine"
require "workarea/payeezy/version"

module Workarea
  module Payeezy
    # Credentials for Payeezy from Rails secrets.
    #
    # @return [Hash]
    def self.credentials
      return {} unless Rails.application.secrets.payeezy.present?
      Rails.application.secrets.payeezy.deep_symbolize_keys
    end

    def self.ta_token
      credentials[:ta_token]
    end

    # Conditionally use the real gateway when secrets are present.
    # Otherwise, use the bogus gateway.
    #
    # @return [ActiveMerchant::Billing::Gateway]
    def self.gateway
      Workarea.config.gateways.credit_card
    end

    def self.gateway=(gateway)
      Workarea.config.gateways.credit_card = gateway
    end

    def self.configure_from_secrets
      if credentials.present?
        if ENV["HTTP_PROXY"].present?
          uri = URI.parse(ENV["HTTP_PROXY"])
          ActiveMerchant::Billing::PayeezyGateway.proxy_address = uri.host
          ActiveMerchant::Billing::PayeezyGateway.proxy_port = uri.port
        end

        self.gateway = ActiveMerchant::Billing::PayeezyGateway.new credentials.slice(:apikey, :apisecret, :token)
      else
        require "active_merchant/billing/bogus_payeezy_gateway.rb"
        self.gateway = ActiveMerchant::Billing::BogusPayeezyGateway.new
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
workarea-payeezy-1.0.0 lib/workarea/payeezy.rb