class ActiveMerchant::Billing::Liqpay

Public Class Methods

new(public_key, private_key) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 9
def initialize public_key, private_key
  @public_key = public_key
  @private_key = private_key
end

Public Instance Methods

check_signature(data, signature) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 39
def check_signature data, signature
  signature == encode_signature(data)
end
cnb_form_fields(options) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 14
def cnb_form_fields options
  params = {version: 3, public_key: @public_key}.merge options
  data = encode params
  {
    data: data,
    signature: encode_signature(data)
  }
end
encode(data) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 23
def encode data
  encode64 encode_json data
end
encode64(param) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 27
def encode64 param
  Base64.strict_encode64 param
end
encode_json(params) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 31
def encode_json params
  JSON.generate params
end
encode_signature(param) click to toggle source
# File lib/active_merchant/billing/liqpay.rb, line 35
def encode_signature param
  encode64 Digest::SHA1.digest @private_key + param + @private_key
end