Я создал заказ прагматично и выставил его фактурно, чтобы завершить заказ, когда я проверяю заказ по продажам-> заказ, который показывает, что выполненный заказ, но код скидки всегда с нулевой суммой. Как показать данную скидку со скидкой по продуктам.Как установить скидку с кодом скидки при создании заказа программно?
ниже мой код работает нормально, но вам нужно добавить скидку со скидкой.
$customer = Mage::getModel('customer/customer');
$customer->setStore($store);
$quote = Mage::getModel('sales/quote');
$quote->setStore($store);
$quote->setCustomerEmail($_REQUEST['customerEmail']);
$addressData = array(
'firstname' => ' ',
'lastname' => ' ',
'street' => ' ',
'city' => 'NULL',
'postcode' => 'NULL',
'telephone' => '123456',
'country_id' => 'US',
'region_id' => 12, );
$billingAddress = $quote->getBillingAddress()->addData($addressData);
$shippingAddress = $quote->getShippingAddress()->addData($addressData);
$productIds=array();
$products=$_REQUEST['productIds'];
$products=str_replace(array('[', ']'), '',$products);
$productIds=explode(',',$products);
$quant=$_REQUEST['quantity'];
$quant=str_replace(array('[', ']'), '',$quant);
$quantities=explode(',',$quant);
$salesReport=array_combine($productIds,$quantities);
foreach($salesReport as $ids=>$qty)
{
$product1 = Mage::getModel('catalog/product')->load($ids); /* HTC Touch Diamond */
$buyInfo1 = array('qty' => $qty);
$quoteItem=$quote->addProduct($product1, new Varien_Object($buyInfo1));
}
$shippingAddress->setCollectShippingRates(true)->collectShippingRates()
->setShippingMethod('freeshipping_freeshipping')
->setPaymentMethod('ebs');
$quote->getPayment()->importData(array('method' => 'ebs'));
$quote->setDiscountAmount('5');
$quote->setCouponCode("SALE");
$quote->collectTotals()->save();
$service = Mage::getModel('sales/service_quote', $quote);
$service->submitAll();
$order = $service->getOrder();