Class: Payflow::Providers::Stripe::Webhook
- Inherits:
-
Object
- Object
- Payflow::Providers::Stripe::Webhook
- Defined in:
- lib/payflow/providers/stripe/webhook.rb
Instance Method Summary collapse
-
#initialize(client) ⇒ Webhook
constructor
A new instance of Webhook.
- #parse(payload:, headers: {}) ⇒ Object
- #verify_signature(payload:, headers:) ⇒ Object
Constructor Details
#initialize(client) ⇒ Webhook
Returns a new instance of Webhook.
7 8 9 |
# File 'lib/payflow/providers/stripe/webhook.rb', line 7 def initialize(client) @client = client end |
Instance Method Details
#parse(payload:, headers: {}) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/payflow/providers/stripe/webhook.rb', line 19 def parse(payload:, headers: {}) body = payload.is_a?(String) ? JSON.parse(payload) : payload { idempotency_key: body["id"], event_type: body["type"], provider: :stripe, data: body.dig("data", "object") || {} } end |
#verify_signature(payload:, headers:) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/payflow/providers/stripe/webhook.rb', line 11 def verify_signature(payload:, headers:) Payflow::Webhooks::SignatureVerifier.verify_stripe( payload: payload, signature_header: headers["HTTP_STRIPE_SIGNATURE"] || headers["Stripe-Signature"], secret: @client.send(:credentials)[:webhook_secret] ) end |