Class: UnionPay::Core::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/union-pay/core/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resp, config) ⇒ Response

Returns a new instance of Response.



8
9
10
11
12
13
14
15
16
17
# File 'lib/union-pay/core/response.rb', line 8

def initialize(resp, config)
  if resp.is_a?(String)
    @body = parse_query(resp)
  else
    @raw_body = ::UnionPay::Core::Utils.key_to_sym(resp)
    @body = @raw_body.dup
    decode_reserved!(@body)
  end
  @config = config
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



6
7
8
# File 'lib/union-pay/core/response.rb', line 6

def body
  @body
end

Instance Method Details

#[](key) ⇒ Object



27
28
29
# File 'lib/union-pay/core/response.rb', line 27

def [](key)
  @body[key]
end

#inspectObject



31
32
33
# File 'lib/union-pay/core/response.rb', line 31

def inspect
  @body.inspect
end

#sign_valid?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/union-pay/core/response.rb', line 23

def sign_valid?
  Signer.md5_sign(@raw_body, @config.secret_key) == @raw_body[:signature]
end

#success?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/union-pay/core/response.rb', line 19

def success?
  sign_valid? && @body[:respCode] == '00'
end