Module: NOWPayments::Rack
- Defined in:
- lib/nowpayments/rack.rb
Overview
Rack/Rails integration helpers for webhook verification
Class Method Summary collapse
-
.verify_webhook(request, ipn_secret) ⇒ Hash
Verify webhook from a Rack/Rails request object.
Class Method Details
.verify_webhook(request, ipn_secret) ⇒ Hash
Verify webhook from a Rack/Rails request object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/nowpayments/rack.rb', line 11 def self.verify_webhook(request, ipn_secret) raw_body = request.body.read request.body.rewind # Allow re-reading # Try both header access methods (Rack vs Rails) signature = request.get_header("HTTP_X_NOWPAYMENTS_SIG") if request.respond_to?(:get_header) signature ||= request.headers["x-nowpayments-sig"] if request.respond_to?(:headers) signature ||= request.env["HTTP_X_NOWPAYMENTS_SIG"] raise SecurityError, "Missing x-nowpayments-sig header" unless signature Webhook.verify!(raw_body, signature, ipn_secret) end |