diff --git a/app/models/catarse_pagarme/payment_delegator.rb b/app/models/catarse_pagarme/payment_delegator.rb
index <HASH>..<HASH> 100644
--- a/app/models/catarse_pagarme/payment_delegator.rb
+++ b/app/models/catarse_pagarme/payment_delegator.rb
@@ -70,7 +70,7 @@ module CatarsePagarme
 
     def transaction
       gateway_id = self.payment.gateway_id
-      raise "no gateway_id present" unless gateway_id.present?
+      return nil unless gateway_id.present?
 
       @transaction ||= ::PagarMe::Transaction.find_by_id(gateway_id)
       _transaction = @transaction.kind_of?(Array) ? @transaction.last : @transaction
diff --git a/spec/models/catarse_pagarme/payment_delegator_spec.rb b/spec/models/catarse_pagarme/payment_delegator_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/models/catarse_pagarme/payment_delegator_spec.rb
+++ b/spec/models/catarse_pagarme/payment_delegator_spec.rb
@@ -111,10 +111,8 @@ describe CatarsePagarme::PaymentDelegator do
         allow(payment).to receive(:gateway_id).and_return(nil)
       end
 
-      it "expect to raises an error" do
-        expect {
-          delegator.transaction
-        }.to raise_error("no gateway_id present")
+      it "should be nil" do
+        expect(delegator.transaction).to eq(nil)
       end
     end
Payment delegator should not raise exception when gateway_id is nil