Esempio n. 1
0
 public function subscribe($subscription, $productRatePlan)
 {
     $sdata = new \Zuora_SubscriptionData($subscription->castToZuora());
     // print_r($sdata);
     $subcriptionRatePlan = app('OlivierBarbier\\Zorm\\Zobject\\RatePlan');
     $subcriptionRatePlan->ProductRatePlanId = $productRatePlan->Id;
     $sdata->addRatePlanData(new \Zuora_RatePlanData($subcriptionRatePlan->castToZuora(['ProductRatePlanId'])));
     $zSubscribeOptions = new \Zuora_SubscribeOptions(false, false);
     $subscribe = $this->zuora()->subscribeWithExistingAccount($this->castToZuora(['Id']), $sdata, $zSubscribeOptions);
     // print_r($subscribe);
     $this->throwExceptionOnError($subscribe);
     return $subscribe;
 }
Esempio n. 2
0
 /**
  * Execute subscribeWithExistingAccount() API call.
  *
  * @return result object
  *
  * @throws ZuoraFault
  */
 public function subscribeWithExistingAccount(Zuora_Account $zAccount, Zuora_SubscriptionData $zSubscriptionData, Zuora_SubscribeOptions $zSubscribeOptions = null)
 {
     $subscribeRequest = array('Account' => $zAccount->getSoapVar(), 'SubscriptionData' => $zSubscriptionData->getSoapVar());
     if (isset($zSubscribeOptions)) {
         $subscribeRequest['SubscribeOptions'] = $zSubscribeOptions->getSoapVar();
     }
     try {
         $result = $this->_client->__soapCall("subscribe", array('zObjects' => array($subscribeRequest)), null, $this->_header);
     } catch (SoapFault $e) {
         throw new ZuoraFault('ERROR in ' . __METHOD__, $e, $this->_client->__getLastRequestHeaders(), $this->_client->__getLastRequest(), $this->_client->__getLastResponseHeaders(), $this->_client->__getLastResponse());
     }
     return $result;
 }