class SuntechRails::Payment::BuySafe
Constants
- DEFAULT_MODE
- MODES
Attributes
Card_Type[RW]
ChkValue[RW]
Country_Type[RW]
MN[RW]
OrderInfo[RW]
Td[RW]
email[RW]
note1[RW]
note2[RW]
sdt[RW]
sna[RW]
web[RW]
Public Class Methods
check(params)
click to toggle source
# File lib/suntech_rails/payment/buysafe.rb, line 52 def self.check(params) if SuntechRails::Core::Config.config.buy_safe_id == params["web"] && check_chkvalue?(params) return params else return nil end end
check_chkvalue?(params)
click to toggle source
# File lib/suntech_rails/payment/buysafe.rb, line 20 def self.check_chkvalue?(params) Digest::SHA1.hexdigest("#{params["web"]}#{SuntechRails::Core::Config.config.transaction_code}#{params["buysafeno"]}#{params["MN"]}#{params["errcode"]}").upcase == params["ChkValue"] end
new(options = {})
click to toggle source
# File lib/suntech_rails/payment/buysafe.rb, line 10 def initialize(options = {}) @web = SuntechRails::Core::Config.config.buy_safe_id merge!(options) @ChkValue = generate_chkvalue end
success?(params)
click to toggle source
# File lib/suntech_rails/payment/buysafe.rb, line 48 def self.success?(params) params["errcode"] == "00" end
Public Instance Methods
generate_chkvalue()
click to toggle source
# File lib/suntech_rails/payment/buysafe.rb, line 16 def generate_chkvalue Digest::SHA1.hexdigest("#{@web}#{SuntechRails::Core::Config.config.transaction_code}#{@MN}").upcase end
merge!(options, &block)
click to toggle source
# File lib/suntech_rails/payment/buysafe.rb, line 24 def merge!(options, &block) if options.is_a? Hash options.each do |key, value| set(key, value) end else raise ArgumentError, "invalid data(#{options.inspect}) for #{self.class.name} class" end self.instance_eval(&block) if block self end
set(key, value)
click to toggle source
Set value for given member
Arguments¶ ↑
-
key
– member name -
value
– value for member
# File lib/suntech_rails/payment/buysafe.rb, line 40 def set(key, value) send("#{key}=", value) rescue NoMethodError => error SuntechRails.logger.warn error.message rescue TypeError, ArgumentError => error raise TypeError, "#{error.message}(#{value.inspect}) for #{self.class.name}.#{key} member" end