本文整理汇总了PHP中Mage_Sales_Model_Order_Invoice::getBasePaymentCharge方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Order_Invoice::getBasePaymentCharge方法的具体用法?PHP Mage_Sales_Model_Order_Invoice::getBasePaymentCharge怎么用?PHP Mage_Sales_Model_Order_Invoice::getBasePaymentCharge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Order_Invoice
的用法示例。
在下文中一共展示了Mage_Sales_Model_Order_Invoice::getBasePaymentCharge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$invoice->setPaymentCharge(0);
$invoice->setBasePaymentCharge(0);
$paymentCharge = $invoice->getOrder()->getPaymentCharge();
$basePaymentCharge = $invoice->getOrder()->getBasePaymentCharge();
// we moeten de btw meenemen in de berekening
$paymentMethod = $invoice->getOrder()->getPayment()->getMethod();
$taxClass = Mage::helper('pay_payment')->getPaymentChargeTaxClass($paymentMethod);
$storeId = Mage::app()->getStore()->getId();
$taxCalculationModel = Mage::getSingleton('tax/calculation');
$request = $taxCalculationModel->getRateRequest($invoice->getOrder()->getShippingAddress(), $invoice->getOrder()->getBillingAddress(), null, $storeId);
$request->setStore(Mage::app()->getStore());
$rate = $taxCalculationModel->getRate($request->setProductClassId($taxClass));
if ($rate > 0) {
$baseChargeTax = round($invoice->getBasePaymentCharge() / (1 + $rate / 100) * ($rate / 100), 2);
$chargeTax = round($invoice->getPaymentCharge() / (1 + $rate / 100) * ($rate / 100), 2);
} else {
$baseChargeTax = 0;
$chargeTax = 0;
}
$invoice->setPaymentCharge($paymentCharge);
$invoice->setBasePaymentCharge($basePaymentCharge);
$invoice->setBaseTaxAmount($invoice->getBaseTaxAmount() + $baseChargeTax);
$invoice->setTaxAmount($invoice->getTaxAmount() + $chargeTax);
$invoice->setGrandTotal($invoice->getGrandTotal() + $invoice->getPaymentCharge());
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $invoice->getBasePaymentCharge());
return $this;
}
示例2: collect
public function collect(Mage_Sales_Model_Order_Invoice $invoice)
{
$invoice->setPaymentCharge(0);
$invoice->setBasePaymentCharge(0);
/*$hasInvoices = $invoice->getOrder()->hasInvoices();
$paymentMethod = $invoice->getOrder()->getPayment()->getMethod();
if ($paymentMethod) { //&& !$hasInvoices
$chargeType = Mage::getStoreConfig('payment/'.strval($paymentMethod).'/charge_type');
$chargeValue = Mage::getStoreConfig('payment/'.strval($paymentMethod).'/charge_value');
if ($chargeValue) {
if ($chargeType=="percentage") {
$subTotal = $invoice->getSubtotal();
$amount = $subTotal * intval($chargeValue) / 100;
}
else {
$amount = intval($chargeValue);
}
$invoice->setPaymentCharge($amount);
$invoice->setBasePaymentCharge($amount);
}
}
$invoice->setGrandTotal($invoice->getGrandTotal() + $invoice->getPaymentCharge());
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $invoice->getBasePaymentCharge());
*/
$amount = $invoice->getOrder()->getPaymentCharge();
$invoice->setPaymentCharge($amount);
$amount = $invoice->getOrder()->getBasePaymentCharge();
$invoice->setBasePaymentCharge($amount);
$invoice->setGrandTotal($invoice->getGrandTotal() + $invoice->getPaymentCharge());
$invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $invoice->getBasePaymentCharge());
return $this;
}