當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PHP WHMCS CartItemsTax用法及代碼示例

在為購物車和結帳計算稅金時調用,這可用於操縱應用於購物車總數或相關結帳付款意圖的稅率。

參數

變量 類型 注意
clientData array null
cartData \ItemInterface[] 購物車中保存的所有數據的數組。

響應

返回操作的ItemInterface 項的數組。稅收將從原始項目的增量計算。

示例代碼

<?php

use WHMCS\View\Formatter\Price;

add_hook('CartItemsTax', '1', function ($vars) {
    $cartItems = $vars['cartData'];
    $client = $vars['clientData'];

    // Calculate your tax rate to apply
    $taxRate = 1.5; // 50%

    /** @var \WHMCS\Cart\Item\ItemInterface $item */
    foreach ($cartItems as $item) {
        if (!$item->isTaxed()) {
            continue;
        }

        /** @var Price $amountToday */
        $amountToday = $item->getAmount();

        // Set the price due today for the item
        $item->setAmount(new Price(
            ($amountToday->toNumeric() * $taxRate),
            $amountToday->getCurrency()
        ));

        if ($item->isRecurring()) {
            /** @var Price $recurringAmount */
            $recurringAmount = $item->getRecurringAmount();
            // Set the recurring price of the item
            $item->setRecurringAmount(
                new Price(
                    ($recurringAmount->toNumeric() * $taxRate),
                    $recurringAmount->getCurrency()
                )
            );
        }
    }

    return [
        'cartData' => $cartItems
    ];
});

相關用法


注:本文由純淨天空篩選整理自whmcs.com大神的英文原創作品 CartItemsTax。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。