/** * Updates a customer * @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 update($parameters, $lang = null) { $required = array(PayUParameters::CUSTOMER_ID); CommonRequestUtil::validateParameters($parameters, $required); PayUSubscriptionsRequestUtil::validateCustomer($parameters); $customer = PayUSubscriptionsRequestUtil::buildCustomer($parameters); $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::CUSTOMER_ENTITY, PayUSubscriptionsUrlResolver::EDIT_OPERATION, array($customer->id)); $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::PUT); return PayUApiServiceUtil::sendRequest($customer, $payUHttpRequestInfo); }
/** * Validate a customer in subscription request * @param array $parameters * @throws InvalidParameterException */ public static function validateCustomerToSubscription($parameters, $edit = FALSE) { $customerId = CommonRequestUtil::getParameter($parameters, PayUParameters::CUSTOMER_ID); if (isset($customerId) || $edit == TRUE) { $invalid = array(PayUParameters::CUSTOMER_EMAIL, PayUParameters::CUSTOMER_NAME); CommonRequestUtil::validateParameters($parameters, NULL, $invalid); } else { PayUSubscriptionsRequestUtil::validateCustomer($parameters, FALSE); } }