class MandarinApi::Responder
Processes callbacks from mandarinpay
Attributes
data[R]
Public Class Methods
new(data)
click to toggle source
# File lib/mandarin_api/responder.rb, line 6 def initialize(data) @data = data @secret = MandarinApi.config.secret if sign_is_valid @process_status = @data[:status] else @process_status = 'failed' @data = { sign: 'Wrong signature!' } end end
Public Instance Methods
failure()
click to toggle source
# File lib/mandarin_api/responder.rb, line 21 def failure @process_status == 'failed' end
success()
click to toggle source
# File lib/mandarin_api/responder.rb, line 17 def success @process_status == 'success' end
Private Instance Methods
sign_is_valid()
click to toggle source
# File lib/mandarin_api/responder.rb, line 27 def sign_is_valid return false if !(@data.nil? || @data.empty?) && @data.class != Hash sign = @data.delete(:sign) Digest::SHA256.hexdigest(temp_string) == sign end
temp_string()
click to toggle source
# File lib/mandarin_api/responder.rb, line 33 def temp_string temp_string = '' @data.sort.to_h.keys.each do |key| temp_string += @data[key].to_s + '-' temp_string end temp_string + @secret end