Sha256: e252b12a878836e8d002cb9b8a09951d31cd36d657280830bc55f896f80b6cf2
Contents?: true
Size: 995 Bytes
Versions: 2
Compression:
Stored size: 995 Bytes
Contents
module CatarsePagarme class NotificationsController < CatarsePagarme::ApplicationController skip_before_action :authenticate_user! def create if payment payment.payment_notifications.create(contribution: payment.contribution, extra_data: params.to_json) if valid_postback? delegator.change_status_by_transaction(params[:current_status]) delegator.update_transaction return render nothing: true, status: 200 end end render_invalid_postback_response end protected def payment @payment ||= PaymentEngines.find_payment({ gateway_id: params[:id], gateway: 'Pagarme' }) end def valid_postback? raw_post = request.raw_post signature = request.headers['HTTP_X_HUB_SIGNATURE'] PagarMe::Postback.valid_request_signature?(raw_post, signature) end def render_invalid_postback_response render json: {error: 'invalid postback'}, status: 400 end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
catarse_pagarme-3.0.1 | app/controllers/catarse_pagarme/notifications_controller.rb |
catarse_pagarme-3.0.0 | app/controllers/catarse_pagarme/notifications_controller.rb |