Sha256: c01472d034f7c867f80a34abcfbbdea8b09327be049c8a0be58ca4bdbd062b55
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
class CatarsePagarme::VerifyPagarmeWorker include Sidekiq::Worker sidekiq_options retry: 5 def perform key source = find_source_by_key key payment = PaymentEngines.find_payment({ key: key }) raise "payment not found" unless payment.present? raise "source not found" unless source.present? && source.try(:[], "metadata").try(:[], "key") == key payment.update(gateway_id: source["id"]) payment.pagarme_delegator.update_transaction payment.pagarme_delegator.change_status_by_transaction source["status"] end private def find_source_by_key key ::PagarMe.api_key = CatarsePagarme.configuration.api_key request = PagarMe::Request.new('/search', 'GET') query = { type: 'transaction', query: { from: 0, size: 1, query: { bool: { must: { match: { "metadata.key" => key } } } } }.to_json } request.parameters.merge!(query) response = request.run response.try(:[], "hits").try(:[], "hits").try(:[], 0).try(:[], "_source") end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
catarse_pagarme-3.0.1 | app/workers/catarse_pagarme/verify_pagarme_worker.rb |