소스 검색

chore: adiciona origin_ip no log de requisicoes para o pagarme

Gustavo Mantovani 2 주 전
부모
커밋
34b6e8ca89
1개의 변경된 파일15개의 추가작업 그리고 4개의 파일을 삭제
  1. 15 4
      app/Services/Pagarme/Concerns/SendsPagarmeRequests.php

+ 15 - 4
app/Services/Pagarme/Concerns/SendsPagarmeRequests.php

@@ -29,10 +29,11 @@ trait SendsPagarmeRequests
 
             if (app()->environment('local', 'development')) {
                 Log::channel('pagarme')->info('Pagar.me request succeeded', [
-                    'method'   => strtoupper($method),
-                    'endpoint' => $endpoint,
-                    'payload'  => $payload,
-                    'result'   => $result,
+                    'method'    => strtoupper($method),
+                    'endpoint'  => $endpoint,
+                    'origin_ip' => $this->pagarmeOriginIp(),
+                    'payload'   => $payload,
+                    'result'    => $result,
                 ]);
             }
 
@@ -43,6 +44,7 @@ trait SendsPagarmeRequests
             Log::channel('pagarme')->error('Pagar.me request failed', [
                 'method'    => strtoupper($method),
                 'endpoint'  => $endpoint,
+                'origin_ip' => $this->pagarmeOriginIp(),
                 'payload'   => $payload,
                 'exception' => $e->getMessage(),
                 'result'    => $responseBody,
@@ -74,4 +76,13 @@ trait SendsPagarmeRequests
     {
         return rtrim(config('services.pagarme.base_url'), '/').'/'.ltrim($path, '/');
     }
+
+    protected function pagarmeOriginIp(): ?string
+    {
+        try {
+            return trim(Http::timeout(3)->get('https://api.ipify.org')->body()) ?: null;
+        } catch (Throwable) {
+            return null;
+        }
+    }
 }