Переглянути джерело

refactor: trata response de error da api pagarme sem truncar

Gustavo Mantovani 1 тиждень тому
батько
коміт
cd3157bc03
1 змінених файлів з 19 додано та 1 видалено
  1. 19 1
      app/Services/Pagarme/Concerns/SendsPagarmeRequests.php

+ 19 - 1
app/Services/Pagarme/Concerns/SendsPagarmeRequests.php

@@ -52,7 +52,25 @@ trait SendsPagarmeRequests
                 'result'    => $responseBody,
             ]);
 
-            throw new \RuntimeException($errorMessage, previous: $e);
+            $message = $errorMessage;
+
+            $errors = $responseBody['errors'] ?? [];
+
+            if ($errors) {
+                $details = [];
+
+                foreach ($errors as $field => $msgs) {
+                    foreach ((array) $msgs as $msg) {
+                        $details[] = $msg;
+                    }
+                }
+
+                if ($details) {
+                    $message .= ': '.implode(' ', $details);
+                }
+            }
+
+            throw new \RuntimeException($message, previous: $e);
         }
     }