class CloudPayments::Webhooks
Attributes
config[R]
Public Class Methods
new(config = nil)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 11 def initialize(config = nil) @config = config || CloudPayments.config @digest = OpenSSL::Digest.new('sha256') @serializer = Client::Serializer::Base.new(config) end
Public Instance Methods
data_valid?(data, hmac)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 17 def data_valid?(data, hmac) Base64.decode64(hmac) == OpenSSL::HMAC.digest(@digest, config.secret_key, data) end
kassa_receipt(data)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 26 def kassa_receipt(data) OnKassaReceipt.new(@serializer.load(data)) end
on_fail(data)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 38 def on_fail(data) OnFail.new(@serializer.load(data)) end
on_pay(data)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 34 def on_pay(data) OnPay.new(@serializer.load(data)) end
on_recurrent(data)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 30 def on_recurrent(data) OnRecurrent.new(@serializer.load(data)) end
validate_data!(data, hmac)
click to toggle source
# File lib/cloud_payments/webhooks.rb, line 21 def validate_data!(data, hmac) raise HMACError unless data_valid?(data, hmac) true end