2025-07-31 15:27:52|submit|{"einvoice_version":"1.0","invoice_type_code":"01","type":"b2b","consolidated_invoice":true,"multi_invoice":false,"redirect_url":"https:\/\/devsec.awfatech.com\/ebossgit\/app\/callback\/einvoice_status.php","callback_url":"https:\/\/devsec.awfatech.com\/ebossgit\/app\/callback\/einvoice_status.php","secret_key":"5gMrZLfI1qZEpbjVxBH9aZSwRWmrxlNt","direct_submit":true,"app_code_client":null,"supplier_school_id":null,"supplier_msic_code":null,"supplier_tin":null,"supplier_id_type":null,"supplier_id_value":null,"supplier_sst_no":null,"supplier_reg_no":null,"supplier_city":null,"supplier_postcode":null,"supplier_state":null,"supplier_addr_line_1":null,"supplier_addr_line_2":null,"supplier_addr_line_3":null,"supplier_country":null,"supplier_name":null,"supplier_phone":null,"supplier_email":null,"submit_document":[{"invoice_id":"CONS-E1-2812","reference_no":"CONS-E1-2812","issue_date_time":"2025-07-31 07:27:52","period_start":"2025-07-31","period_end":"2025-08-30","period_description":"30 days","payment_means_code":"01","payment_note":null,"prepaid_id":"","prepaid_amount":0,"prepaid_date_time":"","taxable_amount":0,"sub_tax_amount":0,"tax_category_id":"01","line_extension_amount":0,"tax_exclusive_amount":0,"tax_inclusive_amount":0,"allowance_total":0,"charge_total":0,"rounding_amount":0,"payable_amount":0,"invoice_lines":[{"id":"5986","unit_code":"C62","quantity":"1","line_allowance_reason":"None","discount_percentage":0,"discount_amount":0,"service_charge_reason":"None","service_percentage":0,"service_amount":0,"line_extension":0,"line_tax_amount":0,"line_taxable":0,"tax_rate":0,"exemption_reason":"None","item_description":"IN-AWF-002668","classification_code":"010"}]}]}
2025-07-31 15:27:52|response|{"status":422,"errors":{"app_code_client":["The app code client field is required."],"supplier_school_id":["The supplier school id field is required."],"supplier_id_value":["The supplier id value field is required."],"supplier_id_type":["The supplier id type field is required."],"supplier_tin":["The supplier tin field is required."],"supplier_name":["The supplier name field is required."],"supplier_addr_line_1":["The supplier addr line 1 field is required."],"supplier_addr_line_2":["The supplier addr line 2 field is required."],"supplier_postcode":["The supplier postcode field is required."],"supplier_city":["The supplier city field is required."],"supplier_state":["The supplier state field is required."],"supplier_country":["The supplier country field is required."],"supplier_phone":["The supplier phone field is required."],"supplier_email":["The supplier email field is required."],"supplier_reg_no":["The supplier reg no field is required."],"supplier_msic_code":["The supplier msic code field is required."]},"message":"Failed."}
2025-07-31 15:27:52|success
2025-07-31 16:08:23|submit|{"einvoice_version":"1.0","invoice_type_code":"01","type":"b2c","consolidated_invoice":false,"multi_invoice":false,"redirect_url":"https:\/\/devsec.awfatech.com\/ebossgit\/app\/callback\/einvoice_status.php","callback_url":"https:\/\/devsec.awfatech.com\/ebossgit\/app\/callback\/einvoice_status.php","secret_key":"5gMrZLfI1qZEpbjVxBH9aZSwRWmrxlNt","direct_submit":true,"app_code_client":"testasis","supplier_school_id":"3","supplier_msic_code":"85499","supplier_tin":"C21020082000","supplier_id_type":"BRN","supplier_id_value":"1029241-W","supplier_sst_no":"11111","supplier_reg_no":"1029241-W","supplier_city":"Shah Alam","supplier_postcode":"47600","supplier_state":"Selangor","supplier_addr_line_1":"NO 80A, PUSAT PERNIAGAAN, 1\/A, Jalan Lang Indah, 30010 Ipoh, Perak, Malaysia","supplier_addr_line_2":"Regalia Business Center","supplier_addr_line_3":"https:\/\/devsec.awfatech.com\/testasis\/content\/log","supplier_country":"Malaysia","supplier_name":"AWFATECH INTERNATIONAL SCHOOL","supplier_phone":"+60104028874","supplier_email":"support@awfatech.com","submit_document":[{"buyer_school_id":"3","invoice_id":"IN-AWF-002671","reference_no":"IN-AWF-002671","issue_date_time":"2025-07-31 06:08:23","period_start":"2025-07-31","period_end":"2025-07-31","period_description":"30 days","buyer_tin":null,"buyer_id_type":"NRIC","buyer_id_value":"7394762594","buyer_sst":"NA","buyer_city":"","buyer_postcode":"","buyer_state":"","buyer_addr_line_1":"","buyer_addr_line_2":"","buyer_country":"Malaysia","buyer_name":"MOHAMAD FIRKI","buyer_phone":"","buyer_email":"izzat@awfatech.com","payment_means_code":"01","bank_account":"","payment_note":"","prepaid_id":"","prepaid_amount":0,"prepaid_date_time":"","taxable_amount":400,"sub_tax_amount":0,"tax_category_id":"01","line_extension_amount":400,"tax_exclusive_amount":400,"tax_inclusive_amount":400,"allowance_total":0,"charge_total":400,"rounding_amount":0,"payable_amount":400,"invoice_lines":[{"id":"20100","unit_code":"C62","quantity":"1","line_allowance_reason":"None","discount_percentage":0,"discount_amount":0,"service_charge_reason":"None","service_percentage":0,"service_amount":0,"line_extension":200,"line_tax_amount":0,"line_taxable":200,"tax_rate":0,"exemption_reason":"None","item_description":"YURAN BULAN MAY","classification_code":"010"},{"id":"20101","unit_code":"C62","quantity":"1","line_allowance_reason":"None","discount_percentage":0,"discount_amount":0,"service_charge_reason":"None","service_percentage":0,"service_amount":0,"line_extension":200,"line_tax_amount":0,"line_taxable":200,"tax_rate":0,"exemption_reason":"None","item_description":"YURAN BULAN JUN","classification_code":"010"}]}]}
2025-07-31 16:08:23|response|
AwfatechEinvoiceApi
Internal Server Error
TypeError
TypeError
App\Helpers\AuthOnBehalfHelper::generateOnBehalfToken(): Argument #1 ($tin) must be of type string, null given, called in /var/www/app/Modules/Einvoice/Services/LhdnService.php on line 19
POST prod-einvoice-api-1838136847.ap-southeast-5.elb.amazonaws.com:8080
{
public function __construct(protected EinvoiceRepository $einvoiceRepository) {}
public function submitInv(array $data)
{
return $this->einvoiceRepository->createInvoice($data);
}
public function submitConsolidatedInv(array $data)
{
return $this->einvoiceRepository->createConsolidatedInvoice($data);
}
public function getInv(array $data)
{
return $this->einvoiceRepository->getInvoice($data);
}
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(fn ($request) => $this->prepareResponse(
$request, $route->run()
));
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable $e) {
return $this->handleException($passable, $e);
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable $e) {
return $this->handleException($passable, $e);
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException('The POST data is too large.');
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
$this->cors->varyHeader($response, 'Access-Control-Request-Method');
return $response;
}
$response = $next($request);
if ($request->getMethod() === 'OPTIONS') {
$this->cors->varyHeader($response, 'Access-Control-Request-Method');
}
return $this->cors->addActualRequestHeaders($response, $request);
}
/**
* Get the path from the configuration to determine if the CORS service should run.
*
if (Octane::hasRouteFor($request->getMethod(), '/'.$request->path())) {
return Octane::invokeRoute($request, $request->getMethod(), '/'.$request->path());
}
return tap($this->sandbox->make(Kernel::class)->handle($request), function ($response) use ($request) {
$this->dispatchEvent($this->sandbox, new RequestHandled($this->sandbox, $request, $response));
});
}
/**
* "Shut down" the application after a request.
*/
public function terminate(Request $request, Response $response): void
{
$this->sandbox->make(Kernel::class)->terminate($request, $response);
vendor/laravel/octane/src/Worker.php:84
try {
$responded = false;
ob_start();
$response = $gateway->handle($request);
$output = ob_get_contents();
if (ob_get_level()) {
ob_end_clean();
}
// Here we will actually hand the incoming request to the Laravel application so
// it can generate a response. We'll send this response back to the client so
// it can be returned to a browser. This gateway will also dispatch events.
$this->client->respond(
2025-07-31 16:08:23|success
2025-07-31 16:08:24|submit|{"einvoice_version":"1.0","invoice_type_code":"01","type":"b2c","consolidated_invoice":false,"multi_invoice":false,"redirect_url":"https:\/\/devsec.awfatech.com\/ebossgit\/app\/callback\/einvoice_status.php","callback_url":"https:\/\/devsec.awfatech.com\/ebossgit\/app\/callback\/einvoice_status.php","secret_key":"5gMrZLfI1qZEpbjVxBH9aZSwRWmrxlNt","direct_submit":true,"app_code_client":"testasis","supplier_school_id":"3","supplier_msic_code":"85499","supplier_tin":"C21020082000","supplier_id_type":"BRN","supplier_id_value":"1029241-W","supplier_sst_no":"11111","supplier_reg_no":"1029241-W","supplier_city":"Shah Alam","supplier_postcode":"47600","supplier_state":"Selangor","supplier_addr_line_1":"NO 80A, PUSAT PERNIAGAAN, 1\/A, Jalan Lang Indah, 30010 Ipoh, Perak, Malaysia","supplier_addr_line_2":"Regalia Business Center","supplier_addr_line_3":"https:\/\/devsec.awfatech.com\/testasis\/content\/log","supplier_country":"Malaysia","supplier_name":"AWFATECH INTERNATIONAL SCHOOL","supplier_phone":"+60104028874","supplier_email":"support@awfatech.com","submit_document":[{"buyer_school_id":"3","invoice_id":"IN-AWF-002671","reference_no":"IN-AWF-002671","issue_date_time":"2025-07-31 06:08:24","period_start":"2025-07-31","period_end":"2025-07-31","period_description":"30 days","buyer_tin":null,"buyer_id_type":"NRIC","buyer_id_value":"7394762594","buyer_sst":"NA","buyer_city":"","buyer_postcode":"","buyer_state":"","buyer_addr_line_1":"","buyer_addr_line_2":"","buyer_country":"Malaysia","buyer_name":"MOHAMAD FIRKI","buyer_phone":"","buyer_email":"izzat@awfatech.com","payment_means_code":"01","bank_account":"","payment_note":"","prepaid_id":"","prepaid_amount":0,"prepaid_date_time":"","taxable_amount":400,"sub_tax_amount":0,"tax_category_id":"01","line_extension_amount":400,"tax_exclusive_amount":400,"tax_inclusive_amount":400,"allowance_total":0,"charge_total":400,"rounding_amount":0,"payable_amount":400,"invoice_lines":[{"id":"20100","unit_code":"C62","quantity":"1","line_allowance_reason":"None","discount_percentage":0,"discount_amount":0,"service_charge_reason":"None","service_percentage":0,"service_amount":0,"line_extension":200,"line_tax_amount":0,"line_taxable":200,"tax_rate":0,"exemption_reason":"None","item_description":"YURAN BULAN MAY","classification_code":"010"},{"id":"20101","unit_code":"C62","quantity":"1","line_allowance_reason":"None","discount_percentage":0,"discount_amount":0,"service_charge_reason":"None","service_percentage":0,"service_amount":0,"line_extension":200,"line_tax_amount":0,"line_taxable":200,"tax_rate":0,"exemption_reason":"None","item_description":"YURAN BULAN JUN","classification_code":"010"}]}]}
2025-07-31 16:08:24|response|
AwfatechEinvoiceApi
Internal Server Error
TypeError
TypeError
App\Helpers\AuthOnBehalfHelper::generateOnBehalfToken(): Argument #1 ($tin) must be of type string, null given, called in /var/www/app/Modules/Einvoice/Services/LhdnService.php on line 19
POST prod-einvoice-api-1838136847.ap-southeast-5.elb.amazonaws.com:8080
{
public function __construct(protected EinvoiceRepository $einvoiceRepository) {}
public function submitInv(array $data)
{
return $this->einvoiceRepository->createInvoice($data);
}
public function submitConsolidatedInv(array $data)
{
return $this->einvoiceRepository->createConsolidatedInvoice($data);
}
public function getInv(array $data)
{
return $this->einvoiceRepository->getInvoice($data);
}
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(fn ($request) => $this->prepareResponse(
$request, $route->run()
));
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable $e) {
return $this->handleException($passable, $e);
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Throwable $e) {
return $this->handleException($passable, $e);
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException('The POST data is too large.');
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
$this->cors->varyHeader($response, 'Access-Control-Request-Method');
return $response;
}
$response = $next($request);
if ($request->getMethod() === 'OPTIONS') {
$this->cors->varyHeader($response, 'Access-Control-Request-Method');
}
return $this->cors->addActualRequestHeaders($response, $request);
}
/**
* Get the path from the configuration to determine if the CORS service should run.
*
if (Octane::hasRouteFor($request->getMethod(), '/'.$request->path())) {
return Octane::invokeRoute($request, $request->getMethod(), '/'.$request->path());
}
return tap($this->sandbox->make(Kernel::class)->handle($request), function ($response) use ($request) {
$this->dispatchEvent($this->sandbox, new RequestHandled($this->sandbox, $request, $response));
});
}
/**
* "Shut down" the application after a request.
*/
public function terminate(Request $request, Response $response): void
{
$this->sandbox->make(Kernel::class)->terminate($request, $response);
vendor/laravel/octane/src/Worker.php:84
try {
$responded = false;
ob_start();
$response = $gateway->handle($request);
$output = ob_get_contents();
if (ob_get_level()) {
ob_end_clean();
}
// Here we will actually hand the incoming request to the Laravel application so
// it can generate a response. We'll send this response back to the client so
// it can be returned to a browser. This gateway will also dispatch events.
$this->client->respond(