Class: GenesisRuby::Api::Requests::Financial::Cards::Threeds::V2::MethodContinue
- Inherits:
-
GenesisRuby::Api::Request
- Object
- GenesisRuby::Api::Request
- GenesisRuby::Api::Requests::Financial::Cards::Threeds::V2::MethodContinue
- Defined in:
- lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb
Overview
Method Continue API request
Constant Summary
Constants inherited from GenesisRuby::Api::Request
GenesisRuby::Api::Request::AUTH_TYPE_BASIC, GenesisRuby::Api::Request::AUTH_TYPE_TOKEN, GenesisRuby::Api::Request::METHOD_DELETE, GenesisRuby::Api::Request::METHOD_GET, GenesisRuby::Api::Request::METHOD_PATCH, GenesisRuby::Api::Request::METHOD_POST, GenesisRuby::Api::Request::METHOD_PUT, GenesisRuby::Api::Request::PORT_HTTPS, GenesisRuby::Api::Request::PROTOCOL_HTTPS
Instance Attribute Summary collapse
-
#signature ⇒ Object
SHA512 of а concatenated string (unique_id, amount, timestamp, merchant_api_password).
-
#transaction_unique_id ⇒ Object
Equivalent to the value of the unique_id, received from the response of the initial transaction request.
-
#url ⇒ Object
A link between the customer's browser and the card issuer must be opened with a hidden iframe.
Attributes included from Mixins::Requests::Financial::PaymentAttributes
Attributes inherited from GenesisRuby::Api::Request
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(configuration, _builder_interface = nil) ⇒ MethodContinue
constructor
Override default constructor with FORM Builder Interface.
-
#transaction_timestamp ⇒ Object
The timestamp from the initial transaction response.
-
#transaction_timestamp=(value) ⇒ Object
The timestamp from the initial transaction response.
Methods inherited from GenesisRuby::Api::Request
Constructor Details
#initialize(configuration, _builder_interface = nil) ⇒ MethodContinue
Override default constructor with FORM Builder Interface
53 54 55 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 53 def initialize(configuration, _builder_interface = nil) super(configuration, Builder::FORM) end |
Instance Attribute Details
#signature ⇒ Object
SHA512 of а concatenated string (unique_id, amount, timestamp, merchant_api_password)
73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 73 def signature return @signature unless @signature.nil? payment_amount = @currency.nil? ? amount : transform_amount(amount, currency) Utils::Threeds::V2.generate_signature( unique_id: transaction_unique_id, amount: payment_amount, timestamp: , merchant_password: @configuration.password ) end |
#transaction_unique_id ⇒ Object
Equivalent to the value of the unique_id, received from the response of the initial transaction request
66 67 68 69 70 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 66 def transaction_unique_id return extract_unique_id_from_url @url if @transaction_unique_id.nil? @transaction_unique_id end |
#url ⇒ Object
A link between the customer's browser and the card issuer must be opened with a hidden iframe
58 59 60 61 62 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 58 def url return @url = generate_endpoint_url if @url.nil? @url end |
Class Method Details
.build_from_response_object(configuration, response_object) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 21 def build_from_response_object(configuration, response_object) if response_object[:threeds_method_continue_url].nil? || response_object[:unique_id].nil? || response_object[:amount].nil? || response_object[:currency].nil? || response_object[:timestamp].nil? || !response_object[:timestamp].is_a?(DateTime) raise ParameterError, 'Response object is incomplete or required attributes are missing!' end build_method_continue_request configuration, response_object end |
Instance Method Details
#transaction_timestamp ⇒ Object
The timestamp from the initial transaction response
87 88 89 90 91 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 87 def @transaction_timestamp&.strftime( GenesisRuby::Api::Constants::DateTimeFormats::YYYY_MM_DD_H_I_S_ZULU ) end |
#transaction_timestamp=(value) ⇒ Object
The timestamp from the initial transaction response
94 95 96 |
# File 'lib/genesis_ruby/api/requests/financial/cards/threeds/v2/method_continue.rb', line 94 def (value) parse_date attribute: __method__, value: value, allow_empty: true end |