diff --git a/packages/Webkul/Sales/src/Repositories/DownloadableLinkPurchasedRepository.php b/packages/Webkul/Sales/src/Repositories/DownloadableLinkPurchasedRepository.php index 9036e8758..af88726dd 100644 --- a/packages/Webkul/Sales/src/Repositories/DownloadableLinkPurchasedRepository.php +++ b/packages/Webkul/Sales/src/Repositories/DownloadableLinkPurchasedRepository.php @@ -106,6 +106,9 @@ class DownloadableLinkPurchasedRepository extends Repository $totalInvoiceQty = $totalInvoiceQty + $invoice_item->qty; } + $orderedQty = $purchasedLink->order_item->qty_ordered; + $totalInvoiceQty = $totalInvoiceQty * ($purchasedLink->download_bought / $orderedQty); + $this->update([ 'status' => $purchasedLink->download_used == $totalInvoiceQty ? $status : $purchasedLink->status, 'download_canceled' => $purchasedLink->download_bought - $totalInvoiceQty, diff --git a/packages/Webkul/Shop/src/Http/Controllers/DownloadableProductController.php b/packages/Webkul/Shop/src/Http/Controllers/DownloadableProductController.php index 7652bb4ec..b78082b21 100644 --- a/packages/Webkul/Shop/src/Http/Controllers/DownloadableProductController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/DownloadableProductController.php @@ -65,6 +65,9 @@ class DownloadableProductController extends Controller } } + $orderedQty = $downloadableLinkPurchased->order->total_qty_ordered; + $totalInvoiceQty = $totalInvoiceQty * ($downloadableLinkPurchased->download_bought / $orderedQty); + if ($downloadableLinkPurchased->download_used == $totalInvoiceQty || $downloadableLinkPurchased->download_used > $totalInvoiceQty) { session()->flash('warning', trans('shop::app.customer.account.downloadable_products.payment-error'));