Advertisement
Guest User

Untitled

a guest
May 30th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.93 KB | None | 0 0
  1. <?php
  2.  
  3. // CLASS BASE
  4.  
  5.  
  6. // Adds new order to Infusionsoft
  7. public function add_order($contact_id, $order_label, $payment_method, $products, $line_items) {
  8.  
  9.     wp_fusion()->crm->connect();
  10.     $order_date = date('Ymd\TH:i:s', current_time('timestamp'));
  11.     $infusionsoft_invoice_id = wp_fusion()->crm->app->blankOrder( $contact_id, $order_label, $order_date, 0, 0 );
  12.  
  13.  
  14.     // Create each product if it doesn't exist yet
  15.     foreach($products as $product_id => $product_data) {
  16.  
  17.         $infusionsoft_product_id = $this->add_product($product_id);
  18.         wp_fusion()->crm->app->addOrderItem($infusionsoft_invoice_id, $infusionsoft_product_id, 4, $product_data['price'], $product_data['qty'], $product_data['name'], $product_data['description']);
  19.  
  20.     }
  21.  
  22.  
  23.     // Add each line item (not products) to the order
  24.     foreach($line_items as $line_item) {
  25.         wp_fusion()->crm->app->addOrderItem($infusionsoft_invoice_id, 0, $line_item['type'], $line_item['price'], 1, $line_item['title'], $line_item['description']);
  26.     }
  27.  
  28.  
  29.    
  30.     $totals = (float) wp_fusion()->crm->app->amtOwed($infusionsoft_invoice_id);
  31.     wp_fusion()->crm->app->manualPmt($infusionsoft_invoice_id, $totals, $order_date, $payment_method, $order_label, false);
  32.    
  33.     //Add Order Notes              
  34.     $jobid  = wp_fusion()->crm->app->dsLoad("Invoice", $infusionsoft_invoice_id, array("JobId"));
  35.     $jobid  = (int) $jobid['JobId'];
  36.     wp_fusion()->crm->app->dsUpdate("Job", $jobid, array('OrderType' => 'Online'));
  37.  
  38.  
  39.     return $infusionsoft_invoice_id;
  40.  
  41. }
  42.  
  43.  
  44. // Creates new PRODUCT in Infusionsoft if product doesn't exist yet
  45. public function add_product( $product_id ) {
  46.  
  47.     $infusionsoft_product_id = get_post_meta( $product_id, 'infusionsoft_product_id', true );
  48.  
  49.     if(!empty($infusionsoft_product_id))
  50.         return $infusionsoft_product_id;
  51.  
  52.  
  53.  
  54.     // DO code here to create product in Infusionsoft
  55.  
  56.  
  57.  
  58.     update_post_meta( $product_id, 'infusionsoft_product_id', $infusionsoft_product_id );
  59.  
  60.     return $infusionsoft_product_id;
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement