Add backend validation when customer attempt to pay. Blocks payment that should be disabled but passes the front end validations
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\PaymentRequest;
|
||||
use App\Services\BillplzService;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Client\Pool;
|
||||
@@ -12,41 +13,13 @@ use Money\Money;
|
||||
|
||||
class BayaranController extends Controller
|
||||
{
|
||||
|
||||
|
||||
public function PembayaranAction(Request $request)
|
||||
public function PembayaranAction(PaymentRequest $request)
|
||||
{
|
||||
$totalSagInCartInput = $request->totalSagInCartInput;
|
||||
|
||||
$validated = $request->validate([
|
||||
'totalSagInCartInput' => 'required',
|
||||
]);
|
||||
|
||||
$norujukanList = json_decode($request->totalSagInCartInput);
|
||||
|
||||
$arraybayar = array_map(fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x)->json()[0][0], $norujukanList);
|
||||
|
||||
$arraybayar = $this->setUpahTawarruq($arraybayar);
|
||||
|
||||
$norujukanRecentlyAttemptPayment = array_map(
|
||||
fn($x) => Http::arrahn()->get('/portal/searchsagonline/', ['norujukan' => $x])->json(),
|
||||
$norujukanList
|
||||
);
|
||||
|
||||
$isNorujukanRecentlyAttemptPayment = in_array(true, $norujukanRecentlyAttemptPayment);
|
||||
|
||||
if ($isNorujukanRecentlyAttemptPayment) {
|
||||
return redirect()->route('home')->with('errorsagonline', 'Sila Tunggu Sebentar!');
|
||||
}
|
||||
|
||||
$gadaiContractExceed12Month = array_filter($arraybayar, fn($x) => $x['tempoh'] >= 12);
|
||||
|
||||
$isGadaiContractExceed12Month = sizeof($gadaiContractExceed12Month) > 0;
|
||||
|
||||
if ($isGadaiContractExceed12Month) {
|
||||
return redirect()->route('home')->with('error', 'SAG Yang Dipilih Akan/Telah Tamat Kontrak 12 Bulan. Sila Hadir Ke Kaunter Cawangan Untuk Pembayaran/Penebusan.');
|
||||
}
|
||||
|
||||
$request->validated();
|
||||
|
||||
$arraybayar = $this->setUpahTawarruq($request->getPembiayaanFromNorujukan());
|
||||
|
||||
return view('includes.bayaran.pembayaransag', compact('arraybayar'));
|
||||
}
|
||||
|
||||
@@ -87,7 +60,6 @@ class BayaranController extends Controller
|
||||
return Money::MYR($sum())->add($billPlzTransactionFee);
|
||||
};
|
||||
|
||||
|
||||
$bill = $billplzService->createBill([
|
||||
$customerEmail,
|
||||
$customerPhoneNumber,
|
||||
@@ -242,7 +214,7 @@ class BayaranController extends Controller
|
||||
public function successPayment(Request $request)
|
||||
{
|
||||
$transactionOnline = $request->transactionOnline;
|
||||
|
||||
|
||||
$arraygadai = array_map(
|
||||
fn($x) => Http::arrahn()->get('/api/gadai/norujukan/' . $x['norujukan'])->json()[0][0],
|
||||
$transactionOnline
|
||||
@@ -289,31 +261,31 @@ class BayaranController extends Controller
|
||||
|
||||
private function setUpahTawarruq($pembiayaan)
|
||||
{
|
||||
$getJenisKeuntungan = function($x){
|
||||
$getJenisKeuntungan = function ($x) {
|
||||
|
||||
$jenisKeuntungan = [
|
||||
'1' => 'onepercent',
|
||||
'0' => 'asal',
|
||||
];
|
||||
$jenisKeuntungan = [
|
||||
'1' => 'onepercent',
|
||||
'0' => 'asal',
|
||||
];
|
||||
|
||||
return $jenisKeuntungan[$x['tagbaru']];
|
||||
};
|
||||
return $jenisKeuntungan[$x['tagbaru']];
|
||||
};
|
||||
|
||||
$getUpahTawarruqPerPembiayaan = function($x) use($getJenisKeuntungan){
|
||||
$jenisKeuntungan = $getJenisKeuntungan($x);
|
||||
$upahTawarruq = Http::arrahn()->get('/api/upahtawarruq/'.$x['kodcaw'].'/'.$x['norujukan'], ['jeniskeuntungan' => $jenisKeuntungan])->json();
|
||||
$getUpahTawarruqPerPembiayaan = function ($x) use ($getJenisKeuntungan) {
|
||||
$jenisKeuntungan = $getJenisKeuntungan($x);
|
||||
$upahTawarruq = Http::arrahn()->get('/api/upahtawarruq/' . $x['kodcaw'] . '/' . $x['norujukan'], ['jeniskeuntungan' => $jenisKeuntungan])->json();
|
||||
|
||||
if($jenisKeuntungan == 'onepercent'){
|
||||
$x['upah_tawarruq'] = $upahTawarruq['keuntungan'] + $upahTawarruq['ujrah'];
|
||||
}
|
||||
if ($jenisKeuntungan == 'onepercent') {
|
||||
$x['upah_tawarruq'] = $upahTawarruq['keuntungan'] + $upahTawarruq['ujrah'];
|
||||
}
|
||||
|
||||
if($jenisKeuntungan == 'asal'){
|
||||
$x['upah_tawarruq'] = $upahTawarruq;
|
||||
}
|
||||
if ($jenisKeuntungan == 'asal') {
|
||||
$x['upah_tawarruq'] = $upahTawarruq;
|
||||
}
|
||||
|
||||
return $x;
|
||||
};
|
||||
return $x;
|
||||
};
|
||||
|
||||
return array_map($getUpahTawarruqPerPembiayaan, $pembiayaan);
|
||||
return array_map($getUpahTawarruqPerPembiayaan, $pembiayaan);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user