SHARE
TWEET

Untitled

a guest Oct 16th, 2012 932 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. require_once 'app/Mage.php';
  4.  
  5. Mage::app();
  6.  
  7. $quote = Mage::getModel('sales/quote')
  8.         ->setStoreId(Mage::app()->getStore('default')->getId());
  9.  
  10. if ('do customer orders') {
  11.         // for customer orders:
  12.         $customer = Mage::getModel('customer/customer')
  13.                 ->setWebsiteId(1)
  14.                 ->loadByEmail('customer@example.com');
  15.         $quote->assignCustomer($customer);
  16. } else {
  17.         // for guesr orders only:
  18.         $quote->setCustomerEmail('customer@example.com');
  19. }
  20.  
  21. // add product(s)
  22. $product = Mage::getModel('catalog/product')->load(8);
  23. $buyInfo = array(
  24.         'qty' => 1,
  25.         // custom option id => value id
  26.         // or
  27.         // configurable attribute id => value id
  28. );
  29.  
  30. /* [adamw] Bundled product options would look like this:
  31.  
  32. $buyInfo = array(
  33.         "qty" => 1,
  34.         "bundle_option" = array(
  35.                 "123" => array(456), //optionid => array( selectionid )
  36.                 "124" => array(235)
  37.         )
  38. );
  39.  
  40. */
  41. $quote->addProduct($product, new Varien_Object($buyInfo));
  42.  
  43. $addressData = array(
  44.         'firstname' => 'Test',
  45.         'lastname' => 'Test',
  46.         'street' => 'Sample Street 10',
  47.         'city' => 'Somewhere',
  48.         'postcode' => '123456',
  49.         'telephone' => '123456',
  50.         'country_id' => 'US',
  51.         'region_id' => 12, // id from directory_country_region table
  52. );
  53.  
  54. $billingAddress = $quote->getBillingAddress()->addData($addressData);
  55. $shippingAddress = $quote->getShippingAddress()->addData($addressData);
  56.  
  57. $shippingAddress->setCollectShippingRates(true)->collectShippingRates()
  58.                 ->setShippingMethod('flatrate_flatrate')
  59.                 ->setPaymentMethod('checkmo');
  60.  
  61.  
  62. /* [adamw] Free shipping would look like this:
  63.  
  64. $shippingAddress->setFreeShipping( true )
  65.         ->setCollectShippingRates(true)->collectShippingRates()
  66.         ->setShippingMethod('freeshipping_freeshipping')
  67.         ->setPaymentMethod('checkmo');
  68.  
  69. */
  70. $quote->getPayment()->importData(array('method' => 'checkmo'));
  71.  
  72. $quote->collectTotals()->save();
  73.  
  74. $service = Mage::getModel('sales/service_quote', $quote);
  75. $service->submitAll();
  76. $order = $service->getOrder();
  77.  
  78. printf("Created order %s\n", $order->getIncrementId());
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top