/** * Create new Order * @param integer $debtorNumber * @param Closure $callback * @return object */ public function create($debtorNumber, Closure $callback, array $options=NULL) { $debtor = new Debtor($this->client_raw); $debtorHandle = $debtor->getHandle($debtorNumber); $orderHandle = $this->client ->Order_Create(array('debtorHandle'=>$debtorHandle)) ->Order_CreateResult; if( !$orderHandle->Id ) { throw new Exception("Error: creating Invoice."); } if( $options ) $this->setOptions($orderHandle, $options); $this->lines = new Line($this->client_raw, $orderHandle); call_user_func($callback, $this->lines); return $this->client->Order_GetDataArray( array('entityHandles' => array('OrderHandle' => $orderHandle)) )->Order_GetDataArrayResult; }