Class: QiwiPay::Signature

Inherits:
Object
  • Object
show all
Defined in:
lib/qiwi-pay/signature.rb

Overview

Qiwi payment signature calculator

Instance Method Summary collapse

Constructor Details

#initialize(params, secret) ⇒ Signature

Returns a new instance of Signature.

Parameters:

  • params (Hash)

    request parameters

  • secret (String)

    secret key for signature



10
11
12
13
14
15
16
# File 'lib/qiwi-pay/signature.rb', line 10

def initialize(params, secret)
  @params = params.dup.tap do |hs|
    hs.delete :sign
    hs.delete 'sign'
  end
  @secret = secret.to_s
end

Instance Method Details

#signString

Calculates signature

Returns:

  • (String)

    params signature



20
21
22
23
# File 'lib/qiwi-pay/signature.rb', line 20

def sign
  digest = OpenSSL::Digest.new('sha256')
  OpenSSL::HMAC.hexdigest(digest, @secret, build_params_string)
end