private function getSubscriptionNotary($price) { $subArgs = new SubscriptionNotaryArguments($this->_merchantSubId); $subArgs->setAmount($price)->setCategory(NotaryArguments::CATEGORY_APPLICATION_OTHER)->setDescription('SAMPLE APP')->setMerchantTransactionId('mtid' . time())->setMerchantProductId($this->_merchantProdId)->setMerchantRedirectUrl($this->_redirectURL); $request = new NotaryService($this->apiFQDN, $this->clientId, $this->clientSecret); return $request->getSubscriptionNotary($subArgs); }
/** * Sends a request to the api for generating a signed document and * signature, both of which will be contained within the returned notary * object. The notary object can then be used for creating a new * subscription. * * @param SubscriptionNotaryArguments $args arguments for generating notary * * @return Notary notary generated from payload * @throws ServiceException if api response isn't successful */ public function getSubscriptionNotary(SubscriptionNotaryArguments $args) { $vars = array('Amount' => $args->getAmount(), 'Category' => $args->getCategory(), 'Channel' => $args->getChannel(), 'Description' => $args->getDescription(), 'MerchantTransactionId' => $args->getMerchantTransactionId(), 'MerchantProductId' => $args->getMerchantProductId(), 'MerchantPaymentRedirectUrl' => $args->getMerchantRedirectUrl(), 'MerchantSubscriptionIdList' => $args->getMerchantSubscriptionIdList(), 'IsPurchaseOnNoActiveSubscription' => $args->isPurchaseOnNoActiveSubscription(), 'SubscriptionRecurrences' => $args->getSubscriptionRecurrences(), 'SubscriptionPeriod' => $args->getSubscriptionPeriod(), 'SubscriptionPeriodAmount' => $args->getSubscriptionPeriodAmount()); $payload = json_encode($vars); return $this->getNotary($payload); }