Class: TinkoffClient::Payment::Request
- Inherits:
-
Object
- Object
- TinkoffClient::Payment::Request
- Includes:
- SendRequest
- Defined in:
- lib/tinkoff_client/payment/request.rb
Instance Attribute Summary collapse
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Class Method Summary collapse
Instance Method Summary collapse
- #generate_token(keys) ⇒ Object
- #init_params(keys) ⇒ Object
-
#initialize(url) ⇒ Request
constructor
A new instance of Request.
Methods included from SendRequest
Constructor Details
#initialize(url) ⇒ Request
Returns a new instance of Request.
12 13 14 |
# File 'lib/tinkoff_client/payment/request.rb', line 12 def initialize(url) @url = "https://securepay.tinkoff.ru/v2/".freeze end |
Instance Attribute Details
#url ⇒ Object (readonly)
Returns the value of attribute url.
10 11 12 |
# File 'lib/tinkoff_client/payment/request.rb', line 10 def url @url end |
Class Method Details
.request(*args, &block) ⇒ Object
16 17 18 19 |
# File 'lib/tinkoff_client/payment/request.rb', line 16 def self.request(*args, &block) params = args[0] new(*args, &block).request(path: params[:path], keys: params[:keys]) end |
Instance Method Details
#generate_token(keys) ⇒ Object
32 33 34 35 |
# File 'lib/tinkoff_client/payment/request.rb', line 32 def generate_token(keys) params = keys.except(:Receipt, :Shops, :DATA).sort.transpose[1].join digest = Digest::SHA2.new(256).hexdigest params end |
#init_params(keys) ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/tinkoff_client/payment/request.rb', line 21 def init_params(keys) payload = { TerminalKey: TinkoffClient.configuration.payment_terminal_key, Password: TinkoffClient.configuration.payment_terminal_secret, **keys, } payload[:Token] = generate_token(payload) payload.except(:Password) end |