Add online transaction log module

This commit is contained in:
Afiq Hamzah
2024-08-01 13:58:50 +08:00
parent 9dd661ddb3
commit 23ebcdd98e
7 changed files with 305 additions and 86 deletions
@@ -0,0 +1,40 @@
<?php
namespace App\Services\Loggers;
use App\TransactionOnlineLog;
class OnlineTransactionLoggerService
{
public static function logs($request)
{
$log = TransactionOnlineLog::create([
'bill_id' => $request->bill_id,
'status' => $request->status,
'payload' => $request->payload,
'response' => $request->response,
]);
return $log;
}
public static function logsAfterDBTransaction($bill_id, $status, $request, $response)
{
$formatToString = function ($data) {
if (is_array($data) || is_object($data)) {
return json_encode($data);
}
return $data;
};
$log = TransactionOnlineLog::create([
'bill_id' => $formatToString($bill_id),
'status' => $formatToString($status),
'payload' => $formatToString($request),
'response' => $formatToString($response),
]);
return $log;
}
}