feat: ✨ Allow to buy a product for free
This commit is contained in:
parent
ff2d0b794e
commit
a077092631
2 changed files with 26 additions and 13 deletions
|
@ -39,21 +39,29 @@ class PaymentController extends Controller
|
|||
*/
|
||||
public function checkOut(ShopProduct $shopProduct)
|
||||
{
|
||||
$extensions = ExtensionHelper::getAllExtensionsByNamespace('PaymentGateways');
|
||||
$discount = PartnerDiscount::getDiscount();
|
||||
$price = $shopProduct->price - ($shopProduct->price * $discount / 100);
|
||||
|
||||
// build a paymentgateways array that contains the routes for the payment gateways and the image path for the payment gateway which lays in public/images/Extensions/PaymentGateways with the extensionname in lowercase
|
||||
$paymentGateways = [];
|
||||
foreach ($extensions as $extension) {
|
||||
$extensionName = basename($extension);
|
||||
if (!ExtensionHelper::getExtensionConfig($extensionName, 'enabled')) continue; // skip if not enabled
|
||||
if ($price > 0) {
|
||||
$extensions = ExtensionHelper::getAllExtensionsByNamespace('PaymentGateways');
|
||||
|
||||
$payment = new \stdClass();
|
||||
$payment->name = ExtensionHelper::getExtensionConfig($extensionName, 'name');
|
||||
$payment->image = asset('images/Extensions/PaymentGateways/' . strtolower($extensionName) . '_logo.png');
|
||||
$paymentGateways[] = $payment;
|
||||
// build a paymentgateways array that contains the routes for the payment gateways and the image path for the payment gateway which lays in public/images/Extensions/PaymentGateways with the extensionname in lowercase
|
||||
foreach ($extensions as $extension) {
|
||||
$extensionName = basename($extension);
|
||||
if (!ExtensionHelper::getExtensionConfig($extensionName, 'enabled')) continue; // skip if not enabled
|
||||
|
||||
$payment = new \stdClass();
|
||||
$payment->name = ExtensionHelper::getExtensionConfig($extensionName, 'name');
|
||||
$payment->image = asset('images/Extensions/PaymentGateways/' . strtolower($extensionName) . '_logo.png');
|
||||
$paymentGateways[] = $payment;
|
||||
}
|
||||
}
|
||||
|
||||
$discount = PartnerDiscount::getDiscount();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return view('store.checkout')->with([
|
||||
'product' => $shopProduct,
|
||||
|
@ -64,6 +72,7 @@ class PaymentController extends Controller
|
|||
'taxpercent' => $shopProduct->getTaxPercent(),
|
||||
'total' => $shopProduct->getTotalPrice(),
|
||||
'paymentGateways' => $paymentGateways,
|
||||
'productIsFree' => $price <= 0,
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -130,11 +130,15 @@
|
|||
<!-- this row will not appear when printing -->
|
||||
<div class="row no-print">
|
||||
<div class="col-12">
|
||||
<button :disabled="!payment_method || clicked"
|
||||
:class="!payment_method || clicked ? 'disabled' : ''"
|
||||
<button :disabled="(!payment_method || clicked) && {{ !$productIsFree }}"
|
||||
:class="(!payment_method || clicked) && {{ !$productIsFree }} ? 'disabled' : ''"
|
||||
class="btn btn-success float-right"><i class="far fa-credit-card mr-2"
|
||||
@click="clicked = true"></i>
|
||||
{{ __('Submit Payment') }}
|
||||
@if ($productIsFree)
|
||||
{{ __('Get for free') }}
|
||||
@else
|
||||
{{ __('Submit Payment') }}
|
||||
@endif
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue