Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ejdyksen/7795708 to your computer and use it in GitHub Desktop.
Save ejdyksen/7795708 to your computer and use it in GitHub Desktop.
require 'sinatra'
require 'openssl'
require 'json'
post '/' do
body = request.body.read
puts "Time : #{Time.now}"
puts "Actual Signature : #{request.env['HTTP_X_CHARGIFY_WEBHOOK_SIGNATURE_HMAC_SHA_256']}"
puts "Computed Signature: #{signature(body)}"
puts "Raw Body"
puts "--------"
puts body
puts "-----------------------------------------------------------------------------"
puts ""
puts "JSON"
puts "----"
puts JSON.pretty_generate(params)
puts "-----------------------------------------------------------------------------"
puts ""
200
end
def shared_key
"your Site shared key"
end
def signature(body)
OpenSSL::HMAC.hexdigest(OpenSSL::Digest::Digest.new('sha256'), shared_key, body)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment