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
17
18
19
20
# File 'lib/qiwi-pay/signature.rb', line 10

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

Instance Method Details

#signString

Calculates signature

Returns:

  • (String)

    params signature



24
25
26
27
# File 'lib/qiwi-pay/signature.rb', line 24

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