46 lines
1.3 KiB
PHP
Executable File
46 lines
1.3 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Http\Livewire;
|
|
|
|
use Livewire\Component;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Str;
|
|
use App\Models\recarga;
|
|
|
|
|
|
class ShowRecargas extends Component
|
|
{
|
|
public $monto;
|
|
public $referencia;
|
|
|
|
public function render(Request $request)
|
|
{
|
|
if (empty($this->referencia)){
|
|
|
|
// Leer recharge directamente o desde el campo formateado como fallback
|
|
$rechargeRaw = $request->recharge ?? $request->recharge_format ?? '';
|
|
$recharge = (int) preg_replace('/\D/', '', $rechargeRaw);
|
|
|
|
if ($recharge <= 0) {
|
|
return redirect()->route('recarga')->with('error', 'Ingrese un monto válido para recargar.');
|
|
}
|
|
|
|
$this->referencia = Str::random(20);
|
|
|
|
$this->monto = (int) ceil(((($recharge * 0.03) + 700) * 0.19) + (($recharge * 0.03) + 700) + $recharge);
|
|
|
|
$recargas = new recarga;
|
|
$recargas->monto = $this->monto;
|
|
$recargas->reference = $this->referencia;
|
|
$recargas->status = 'Procesando MP';
|
|
$recargas->usuario_id = auth()->user()->id;
|
|
$recargas->saldo_id = auth()->user()->saldo->id;
|
|
$recargas->valor_recarga = $recharge;
|
|
$recargas->save();
|
|
}
|
|
|
|
|
|
return view('livewire.show-recargas');
|
|
}
|
|
}
|