Class: PayOS::Models::Response
- Inherits:
-
Object
- Object
- PayOS::Models::Response
- Defined in:
- lib/payOS/models/response.rb
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#desc ⇒ Object
readonly
Returns the value of attribute desc.
-
#raw_response ⇒ Object
readonly
Returns the value of attribute raw_response.
-
#signature ⇒ Object
readonly
Returns the value of attribute signature.
Instance Method Summary collapse
-
#initialize(response_body, checksum_secret) ⇒ Response
constructor
A new instance of Response.
- #success? ⇒ Boolean
- #verify_signature! ⇒ Object
Constructor Details
#initialize(response_body, checksum_secret) ⇒ Response
Returns a new instance of Response.
10 11 12 13 14 15 16 17 |
# File 'lib/payOS/models/response.rb', line 10 def initialize(response_body, checksum_secret) @raw_response = response_body @code = response_body["code"] @desc = response_body["desc"] @data = response_body["data"] @signature = response_body.dig("data", "signature") @checksum_secret = checksum_secret end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
8 9 10 |
# File 'lib/payOS/models/response.rb', line 8 def code @code end |
#data ⇒ Object (readonly)
Returns the value of attribute data.
8 9 10 |
# File 'lib/payOS/models/response.rb', line 8 def data @data end |
#desc ⇒ Object (readonly)
Returns the value of attribute desc.
8 9 10 |
# File 'lib/payOS/models/response.rb', line 8 def desc @desc end |
#raw_response ⇒ Object (readonly)
Returns the value of attribute raw_response.
8 9 10 |
# File 'lib/payOS/models/response.rb', line 8 def raw_response @raw_response end |
#signature ⇒ Object (readonly)
Returns the value of attribute signature.
8 9 10 |
# File 'lib/payOS/models/response.rb', line 8 def signature @signature end |
Instance Method Details
#success? ⇒ Boolean
19 20 21 |
# File 'lib/payOS/models/response.rb', line 19 def success? code == "00" end |
#verify_signature! ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/payOS/models/response.rb', line 23 def verify_signature! return true if @data.nil? || @data["signature"].nil? string_to_sign = Utils::Formater.params_to_string(@data.reject { |k, _| k == "signature" }) Utils::Signature.verify!(string_to_sign, @checksum_secret, @signature) end |