$array['user_secret_key'], 'categoryCode' => $array['cateogry_code'], 'billName' => $billName, 'billDescription' => "Thank you for order", 'billPriceSetting' => 1, 'billPayorInfo' => 1, 'billAmount' => $amount * 100, 'billReturnUrl' => Toyyibpay::fallback(), 'billCallbackUrl' => Toyyibpay::fallback(), 'billExternalReferenceNo' => Str::random(5) . rand(100, 200), 'billTo' => $name, 'billEmail' => $email, 'billPhone' => $array['phone'], 'billSplitPayment' => 0, 'billSplitPaymentArgs' => '', 'billPaymentChannel' => '2', 'billDisplayMerchant' => 1, 'billContentEmail' => "", 'billChargeToCustomer' => 2, ); $f_url = $url . 'index.php/api/createBill'; try { $response = Http::asForm()->post($f_url, $data); $billcode = $response[0]['BillCode']; $url = $url . $billcode; return request()->expectsJson() ? $url : redirect($url); } catch (Throwable $th) { return request()->expectsJson() ? Toyyibpay::redirect_if_payment_faild() : redirect(Toyyibpay::redirect_if_payment_faild()); } } public function status() { if (!Session::has('toyyibpay_credentials')) { return abort(404); } $response = Request()->all(); $status = $response['status_id']; $payment_id = $response['billcode']; $info = Session::get('toyyibpay_credentials'); if ($status == 1) { $data['payment_id'] = $payment_id; $data['payment_method'] = "toyyibpay"; $data['gateway_id'] = $info['gateway_id']; $data['amount'] = $info['main_amount']; $data['charge'] = $info['charge']; $data['status'] = 1; $data['payment_status'] = 1; Session::forget('toyyibpay_credentials'); Session::put('payment_info', $data); return request()->expectsJson() ? Toyyibpay::redirect_if_payment_success() : redirect(Toyyibpay::redirect_if_payment_success()); } else { $data['payment_status'] = 0; Session::put('payment_info', $data); Session::forget('toyyibpay_credentials'); return request()->expectsJson() ? Toyyibpay::redirect_if_payment_faild() : redirect(Toyyibpay::redirect_if_payment_faild()); } } }