2023-08-06 15:10:33 - DEBUG --> Attempt to read property "payment_id" on null (500 Internal Server Error)

Symfony Exception

ErrorException

HTTP 500 Internal Server Error

Attempt to read property "payment_id" on null

Exception

ErrorException

Show exception properties
ErrorException {#301
  #severity: E_WARNING
}
  1.         $pembayaran->updated_at now();
  2.         // get latest va_payment data using external_id
  3.         $va_payment DB::table('va_payment')
  4.             ->where('external_id''='$external_id)->orderByDesc("created_time")->first();
  5.         $pembayaran->payment_id $va_payment->payment_id;
  6.         $pembayaran->payment_method "VA - " $va_payment->bank_code;
  7.         $pembayaran->payment_method_reference $va_payment->external_id;
  8.         $pembayaran->save();
  9.         // create next pembayaran for next periode
  1.      * @return callable
  2.      */
  3.     protected function forwardsTo($method)
  4.     {
  5.         return fn (...$arguments) => static::$app
  6.             $this->{$method}(...$arguments)
  7.             : false;
  8.     }
  9.     /**
  10.      * Determine if the error level is a deprecation.
HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}() in /var/www/html/app/Http/Controllers/API/customer/BillingController.php (line 156)
  1.         $pembayaran->updated_at now();
  2.         // get latest va_payment data using external_id
  3.         $va_payment DB::table('va_payment')
  4.             ->where('external_id''='$external_id)->orderByDesc("created_time")->first();
  5.         $pembayaran->payment_id $va_payment->payment_id;
  6.         $pembayaran->payment_method "VA - " $va_payment->bank_code;
  7.         $pembayaran->payment_method_reference $va_payment->external_id;
  8.         $pembayaran->save();
  9.         // create next pembayaran for next periode
  1.      * @param  array  $parameters
  2.      * @return \Symfony\Component\HttpFoundation\Response
  3.      */
  4.     public function callAction($method$parameters)
  5.     {
  6.         return $this->{$method}(...array_values($parameters));
  7.     }
  8.     /**
  9.      * Handle calls to missing methods on the controller.
  10.      *
  1.     public function dispatch(Route $route$controller$method)
  2.     {
  3.         $parameters $this->resolveParameters($route$controller$method);
  4.         if (method_exists($controller'callAction')) {
  5.             return $controller->callAction($method$parameters);
  6.         }
  7.         return $controller->{$method}(...array_values($parameters));
  8.     }
  1.      *
  2.      * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
  3.      */
  4.     protected function runController()
  5.     {
  6.         return $this->controllerDispatcher()->dispatch(
  7.             $this$this->getController(), $this->getControllerMethod()
  8.         );
  9.     }
  10.     /**
  1.     {
  2.         $this->container $this->container ?: new Container;
  3.         try {
  4.             if ($this->isControllerAction()) {
  5.                 return $this->runController();
  6.             }
  7.             return $this->runCallable();
  8.         } catch (HttpResponseException $e) {
  9.             return $e->getResponse();
  1.         return (new Pipeline($this->container))
  2.                         ->send($request)
  3.                         ->through($middleware)
  4.                         ->then(fn ($request) => $this->prepareResponse(
  5.                             $request$route->run()
  6.                         ));
  7.     }
  8.     /**
  9.      * Gather the middleware for the given route with resolved class names.
  1.      */
  2.     protected function prepareDestination(Closure $destination)
  3.     {
  4.         return function ($passable) use ($destination) {
  5.             try {
  6.                 return $destination($passable);
  7.             } catch (Throwable $e) {
  8.                 return $this->handleException($passable$e);
  9.             }
  10.         };
  11.     }
Pipeline->Illuminate\Pipeline\{closure}() in /var/www/html/app/Http/Middleware/StaticTokenMiddleware.php (line 24)
  1.         if ($token != env('JWT_SECRET')) {
  2.             return response()->json(['error' => 'Token not found or invalid'], 401);
  3.         }
  4.         return $next($request);
  5.     }
  6. }
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.             }
  2.             throw $exception;
  3.         }
  4.         return $next($request);
  5.     }
  6. }
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.             }
  2.             $this->limiter->hit($limit->key$limit->decayMinutes 60);
  3.         }
  4.         $response $next($request);
  5.         foreach ($limits as $limit) {
  6.             $response $this->addHeaders(
  7.                 $response,
  8.                 $limit->maxAttempts,
  1.             return $limiterResponse;
  2.         } elseif ($limiterResponse instanceof Unlimited) {
  3.             return $next($request);
  4.         }
  5.         return $this->handleRequest(
  6.             $request,
  7.             $next,
  8.             collect(Arr::wrap($limiterResponse))->map(function ($limit) use ($limiterName) {
  9.                 return (object) [
  10.                     'key' => self::$shouldHashKeys md5($limiterName.$limit->key) : $limiterName.':'.$limit->key,
  1.     public function handle($requestClosure $next$maxAttempts 60$decayMinutes 1$prefix '')
  2.     {
  3.         if (is_string($maxAttempts)
  4.             && func_num_args() === 3
  5.             && ! is_null($limiter $this->limiter->limiter($maxAttempts))) {
  6.             return $this->handleRequestUsingNamedLimiter($request$next$maxAttempts$limiter);
  7.         }
  8.         return $this->handleRequest(
  9.             $request,
  10.             $next,
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.     {
  2.         $pipeline array_reduce(
  3.             array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
  4.         );
  5.         return $pipeline($this->passable);
  6.     }
  7.     /**
  8.      * Run the pipeline and return the result.
  9.      *
  1.         $middleware $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
  2.         return (new Pipeline($this->container))
  3.                         ->send($request)
  4.                         ->through($middleware)
  5.                         ->then(fn ($request) => $this->prepareResponse(
  6.                             $request$route->run()
  7.                         ));
  8.     }
  9.     /**
  1.         $request->setRouteResolver(fn () => $route);
  2.         $this->events->dispatch(new RouteMatched($route$request));
  3.         return $this->prepareResponse($request,
  4.             $this->runRouteWithinStack($route$request)
  5.         );
  6.     }
  7.     /**
  8.      * Run the given route within a Stack "onion" instance.
  1.      * @param  \Illuminate\Http\Request  $request
  2.      * @return \Symfony\Component\HttpFoundation\Response
  3.      */
  4.     public function dispatchToRoute(Request $request)
  5.     {
  6.         return $this->runRoute($request$this->findRoute($request));
  7.     }
  8.     /**
  9.      * Find the route matching a given request.
  10.      *
  1.      */
  2.     public function dispatch(Request $request)
  3.     {
  4.         $this->currentRequest $request;
  5.         return $this->dispatchToRoute($request);
  6.     }
  7.     /**
  8.      * Dispatch the request to a route and return the response.
  9.      *
  1.     protected function dispatchToRouter()
  2.     {
  3.         return function ($request) {
  4.             $this->app->instance('request'$request);
  5.             return $this->router->dispatch($request);
  6.         };
  7.     }
  8.     /**
  9.      * Call the terminate method on any terminable middleware.
in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php -> Illuminate\Foundation\Http\{closure} (line 141)
  1.      */
  2.     protected function prepareDestination(Closure $destination)
  3.     {
  4.         return function ($passable) use ($destination) {
  5.             try {
  6.                 return $destination($passable);
  7.             } catch (Throwable $e) {
  8.                 return $this->handleException($passable$e);
  9.             }
  10.         };
  11.     }
  1.      */
  2.     public function handle($requestClosure $next)
  3.     {
  4.         $this->clean($request);
  5.         return $next($request);
  6.     }
  7.     /**
  8.      * Clean the request's data.
  9.      *
  1.             if ($callback($request)) {
  2.                 return $next($request);
  3.             }
  4.         }
  5.         return parent::handle($request$next);
  6.     }
  7.     /**
  8.      * Transform the given value.
  9.      *
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.      */
  2.     public function handle($requestClosure $next)
  3.     {
  4.         $this->clean($request);
  5.         return $next($request);
  6.     }
  7.     /**
  8.      * Clean the request's data.
  9.      *
  1.             if ($callback($request)) {
  2.                 return $next($request);
  3.             }
  4.         }
  5.         return parent::handle($request$next);
  6.     }
  7.     /**
  8.      * Transform the given value.
  9.      *
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.         if ($max && $request->server('CONTENT_LENGTH') > $max) {
  2.             throw new PostTooLargeException;
  3.         }
  4.         return $next($request);
  5.     }
  6.     /**
  7.      * Determine the server 'post_max_size' as bytes.
  8.      *
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.                 null,
  2.                 $this->getHeaders($data)
  3.             );
  4.         }
  5.         return $next($request);
  6.     }
  7.     /**
  8.      * Determine if the incoming request has a maintenance mode bypass cookie.
  9.      *
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.             $this->cors->varyHeader($response'Access-Control-Request-Method');
  2.             return $response;
  3.         }
  4.         $response $next($request);
  5.         if ($request->getMethod() === 'OPTIONS') {
  6.             $this->cors->varyHeader($response'Access-Control-Request-Method');
  7.         }
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.     {
  2.         $request::setTrustedProxies([], $this->getTrustedHeaderNames());
  3.         $this->setTrustedProxyIpAddresses($request);
  4.         return $next($request);
  5.     }
  6.     /**
  7.      * Sets the trusted proxies on the request.
  8.      *
  1.                         // since the object we're given was already a fully instantiated object.
  2.                         $parameters = [$passable$stack];
  3.                     }
  4.                     $carry method_exists($pipe$this->method)
  5.                                     ? $pipe->{$this->method}(...$parameters)
  6.                                     : $pipe(...$parameters);
  7.                     return $this->handleCarry($carry);
  8.                 } catch (Throwable $e) {
  9.                     return $this->handleException($passable$e);
  1.     {
  2.         $pipeline array_reduce(
  3.             array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
  4.         );
  5.         return $pipeline($this->passable);
  6.     }
  7.     /**
  8.      * Run the pipeline and return the result.
  9.      *
  1.         $this->bootstrap();
  2.         return (new Pipeline($this->app))
  3.                     ->send($request)
  4.                     ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
  5.                     ->then($this->dispatchToRouter());
  6.     }
  7.     /**
  8.      * Bootstrap the application for HTTP requests.
  9.      *
  1.         $this->requestStartedAt Carbon::now();
  2.         try {
  3.             $request->enableHttpMethodParameterOverride();
  4.             $response $this->sendRequestThroughRouter($request);
  5.         } catch (Throwable $e) {
  6.             $this->reportException($e);
  7.             $response $this->renderException($request$e);
  8.         }
Kernel->handle() in /var/www/html/public/index.php (line 51)
  1. $app = require_once __DIR__.'/../bootstrap/app.php';
  2. $kernel $app->make(Kernel::class);
  3. $response $kernel->handle(
  4.     $request Request::capture()
  5. )->send();
  6. $kernel->terminate($request$response);

Stack Trace

ErrorException
ErrorException:
Attempt to read property "payment_id" on null

  at /var/www/html/app/Http/Controllers/API/customer/BillingController.php:156
  at Illuminate\Foundation\Bootstrap\HandleExceptions->handleError()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:254)
  at Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()
     (/var/www/html/app/Http/Controllers/API/customer/BillingController.php:156)
  at App\Http\Controllers\API\Customer\BillingController->completePayment()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54)
  at Illuminate\Routing\Controller->callAction()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43)
  at Illuminate\Routing\ControllerDispatcher->dispatch()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php:259)
  at Illuminate\Routing\Route->runController()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php:205)
  at Illuminate\Routing\Route->run()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:799)
  at Illuminate\Routing\Router->Illuminate\Routing\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/app/Http/Middleware/StaticTokenMiddleware.php:24)
  at App\Http\Middleware\StaticTokenMiddleware->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:50)
  at Illuminate\Routing\Middleware\SubstituteBindings->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:159)
  at Illuminate\Routing\Middleware\ThrottleRequests->handleRequest()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:125)
  at Illuminate\Routing\Middleware\ThrottleRequests->handleRequestUsingNamedLimiter()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php:87)
  at Illuminate\Routing\Middleware\ThrottleRequests->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116)
  at Illuminate\Pipeline\Pipeline->then()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:798)
  at Illuminate\Routing\Router->runRouteWithinStack()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:777)
  at Illuminate\Routing\Router->runRoute()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:741)
  at Illuminate\Routing\Router->dispatchToRoute()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php:730)
  at Illuminate\Routing\Router->dispatch()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:200)
  at Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:141)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21)
  at Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31)
  at Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21)
  at Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:40)
  at Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27)
  at Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:86)
  at Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php:62)
  at Illuminate\Http\Middleware\HandleCors->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:39)
  at Illuminate\Http\Middleware\TrustProxies->handle()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180)
  at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116)
  at Illuminate\Pipeline\Pipeline->then()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:175)
  at Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
     (/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:144)
  at Illuminate\Foundation\Http\Kernel->handle()
     (/var/www/html/public/index.php:51)                
--> 200 2023-08-06 15:10:33 - DEBUG --> {"account_number":"9999747776","amount":430000,"bank_code":"BCA","callback_virtual_account_id":"5c1a93f2-858b-4179-92ea-04069a086e89","country":"ID","created":"2023-08-06T15:10:28.043Z","currency":"IDR","external_id":"VA-1691333659","id":"9f6a2b3f-797e-4660-aeb5-da618f92f846","merchant_code":"10766","owner_id":"635e35a6f1a1a1668c1251f8","payment_detail":{"reference":"1691334625626","remark":null},"payment_id":"9f6a2b3f-797e-4660-aeb5-da618f92f846","transaction_timestamp":"2023-08-06T15:10:25.000Z","updated":"2023-08-06T15:10:31.643Z"} --> 200 2023-08-06 15:16:04 - DEBUG --> {"id":1,"tgl_bayar":"2023-08-06T15:16:04.036210Z","tgl_jatuh_tempo":"2023-09-06 00:00:00","pembayaran_ke":1,"nominal":{"formatted":"Rp 430.000","original":430000},"status_bayar":"terbayar","payment_method":"VA - BCA","payment_method_reference":"VA-1691333659","keterangan":null,"pemasangan_id":1,"deleted_at":null,"created_at":"2023-08-06T13:53:08.000000Z","updated_at":"2023-08-06T15:16:04.000000Z","unique_id":"BYR00000001","pelanggan_id":null,"payment_id":"36b811d2-586e-4860-aca1-f92c5fc38884","reminder_email_sent":false,"reminder_wa_sent":false,"kwitansi_email_sent":false,"kwitansi_wa_sent":false,"pemasangan":{"id":1,"tgl_pengajuan":"2023-08-06 20:51:58","tgl_pemasangan":"2023-08-06 20:51:58","status":"terpasang","keterangan":"syalala","tgl_jatuh_tempo":null,"layanan_id":1,"pelanggan_id":1000000,"deleted_at":null,"created_at":{"formatted":{"tanggal":"06 Aug 2023","jam":"13:53:08"},"original":"2023-08-06T13:53:08.000000Z"},"updated_at":{"formatted":{"tanggal":"06 Aug 2023","jam":"15:02:40"},"original":"2023-08-06T15:02:40.000000Z"},"unique_id":"ISS2308061000000-INC001-00001","is_active":true,"alamat_pemasangan":"Jalan semarang nomor 45 blok A","latest_online_payment_method":"VA - BCA","latest_online_payment_account_number":"107669999747776","latest_online_payment_method_reference":"VA-1691333659"}} --> 200 2023-08-06 15:16:04 - DEBUG --> {"account_number":"9999747776","amount":430000,"bank_code":"BCA","callback_virtual_account_id":"5c1a93f2-858b-4179-92ea-04069a086e89","country":"ID","created":"2023-08-06T15:15:57.110Z","currency":"IDR","external_id":"VA-1691333659","id":"36b811d2-586e-4860-aca1-f92c5fc38884","merchant_code":"10766","owner_id":"635e35a6f1a1a1668c1251f8","payment_detail":{"reference":"1691334954778","remark":null},"payment_id":"36b811d2-586e-4860-aca1-f92c5fc38884","transaction_timestamp":"2023-08-06T15:15:54.000Z","updated":"2023-08-06T15:16:02.079Z"} --> 200 2023-08-06 15:19:05 - DEBUG --> {"error":"external_id or amount is required"} --> 200 2023-08-06 15:19:05 - DEBUG --> {"account_number":"132819999061640","bank_code":"BRI","country":"ID","created":"2023-08-06T15:19:03.091Z","currency":"IDR","expected_amount":430000,"expiration_date":"2054-08-05T17:00:00.000Z","external_id":"VA-1691335142","id":"64cfb9e7ce623685b74f21ae","is_closed":true,"is_single_use":false,"merchant_code":"13281","name":"TMD sukses test","owner_id":"635e35a6f1a1a1668c1251f8","status":"ACTIVE","updated":"2023-08-06T15:19:03.134Z"} --> 200 2023-08-06 15:19:51 - DEBUG --> {"id":4,"tgl_bayar":"2023-08-06T15:19:51.910268Z","tgl_jatuh_tempo":"2023-09-06 00:00:00","pembayaran_ke":1,"nominal":{"formatted":"Rp 430.000","original":430000},"status_bayar":"terbayar","payment_method":"VA - BRI","payment_method_reference":"VA-1691335142","keterangan":null,"pemasangan_id":2,"deleted_at":null,"created_at":"2023-08-06T15:18:31.000000Z","updated_at":"2023-08-06T15:19:51.000000Z","unique_id":"BYR00000004","pelanggan_id":null,"payment_id":"1691335186180","reminder_email_sent":false,"reminder_wa_sent":false,"kwitansi_email_sent":false,"kwitansi_wa_sent":false,"pemasangan":{"id":2,"tgl_pengajuan":"2023-08-06 22:17:54","tgl_pemasangan":"2023-08-06 22:17:54","status":"terpasang","keterangan":null,"tgl_jatuh_tempo":null,"layanan_id":1,"pelanggan_id":1000001,"deleted_at":null,"created_at":{"formatted":{"tanggal":"06 Aug 2023","jam":"15:18:31"},"original":"2023-08-06T15:18:31.000000Z"},"updated_at":{"formatted":{"tanggal":"06 Aug 2023","jam":"15:18:39"},"original":"2023-08-06T15:18:39.000000Z"},"unique_id":"ISS2308061000001-INC001-00002","is_active":true,"alamat_pemasangan":"jalan sukses menuju akhirat","latest_online_payment_method":null,"latest_online_payment_account_number":null,"latest_online_payment_method_reference":null}} --> 200 2023-08-06 15:19:51 - DEBUG --> {"account_number":"9999061640","amount":430000,"bank_code":"BRI","callback_virtual_account_id":"64cfb9e7ce623685b74f21ae","country":"ID","created":"2023-08-06T15:19:47.368Z","currency":"IDR","external_id":"VA-1691335142","id":"1691335186180","merchant_code":"13281","owner_id":"635e35a6f1a1a1668c1251f8","payment_id":"1691335186180","transaction_timestamp":"2023-08-06T15:19:46.180Z","updated":"2023-08-06T15:19:50.797Z"} --> 200