/** * Deletes a subscription plan * @param parameters The parameters to be sent to the server * @param string $lang language of request see SupportedLanguages class * @return The response to the request sent * @throws PayUException * @throws InvalidArgumentException */ public static function delete($parameters, $lang = null) { $required = array(PayUParameters::PLAN_CODE); CommonRequestUtil::validateParameters($parameters, $required); $plan = PayUSubscriptionsRequestUtil::buildSubscriptionPlan($parameters); $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::PLAN_ENTITY, PayUSubscriptionsUrlResolver::DELETE_OPERATION, array($plan->planCode)); $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::DELETE); return PayUApiServiceUtil::sendRequest($plan, $payUHttpRequestInfo); }
/** * Build a subscription request * @param array $parameters * @return stdClass with the subscriptionrequest built */ public static function buildSubscription($parameters, $existParamBankAccount = FALSE, $existParamCreditCard = FALSE, $edit = FALSE) { $subscription = new \stdClass(); if ($edit == TRUE) { if ($existParamBankAccount == TRUE) { //In edition mode set the 'bankAccountId' property in the subscription $subscription->bankAccountId = CommonRequestUtil::getParameter($parameters, PayUParameters::BANK_ACCOUNT_ID); } if ($existParamCreditCard == TRUE) { $creditCard = self::buildCreditCardForSubscription($parameters); if (isset($creditCard)) { //In edition mode set the 'creditCard' object in the subscription $subscription->creditCard = $creditCard; } } } else { $subscription->trialDays = CommonRequestUtil::getParameter($parameters, PayUParameters::TRIAL_DAYS); $subscription->quantity = CommonRequestUtil::getParameter($parameters, PayUParameters::QUANTITY); $subscription->installments = CommonRequestUtil::getParameter($parameters, PayUParameters::INSTALLMENTS_NUMBER); $customer = PayUSubscriptionsRequestUtil::buildCustomer($parameters); //creates the credit card object and associate to the customer if ($existParamCreditCard == TRUE) { $creditCard = self::buildCreditCardForSubscription($parameters); if (isset($creditCard)) { $creditCards = array($creditCard); $customer->creditCards = $creditCards; } } //creates the Bank Account object and associate to the customer if ($existParamBankAccount == TRUE) { $bankAccount = self::buildBankAccountForSubscription($parameters); if (isset($bankAccount)) { $bankAccounts = array($bankAccount); $customer->bankAccounts = $bankAccounts; } } $subscription->customer = $customer; $subscription->plan = PayUSubscriptionsRequestUtil::buildSubscriptionPlan($parameters); $subscription->plan->id = CommonRequestUtil::getParameter($parameters, PayUParameters::PLAN_ID); $termsAndConditionsAcepted = CommonRequestUtil::getParameter($parameters, PayUParameters::TERMS_AND_CONDITIONS_ACEPTED); if (isset($termsAndConditionsAcepted)) { $subscription->termsAndConditionsAcepted = $termsAndConditionsAcepted; } } return $subscription; }