/** * Deletes a credit card * @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::TOKEN_ID, PayUParameters::CUSTOMER_ID); CommonRequestUtil::validateParameters($parameters, $required); $creditCard = PayUSubscriptionsRequestUtil::buildCreditCard($parameters); $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::CREDIT_CARD_ENTITY, PayUSubscriptionsUrlResolver::DELETE_OPERATION, array($creditCard->customerId, $creditCard->token)); $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::DELETE); return PayUApiServiceUtil::sendRequest($creditCard, $payUHttpRequestInfo); }
/** * Creates a customer with credit card information * @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 createCustomerWithCreditCard($parameters, $lang = null) { PayUSubscriptionsRequestUtil::validateCustomer($parameters); PayUSubscriptionsRequestUtil::validateCreditCard($parameters); $customer = PayUSubscriptionsRequestUtil::buildCustomer($parameters); $creditCard = PayUSubscriptionsRequestUtil::buildCreditCard($parameters); $creditCards = array($creditCard); $customer->creditCards = $creditCards; $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::CUSTOMER_ENTITY, PayUSubscriptionsUrlResolver::ADD_OPERATION); $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::POST); return PayUApiServiceUtil::sendRequest($customer, $payUHttpRequestInfo); }
/** * Build the Credit card object for subscription * @param array $parameters */ protected static function buildCreditCardForSubscription($parameters) { $creditCard = null; $tokenId = CommonRequestUtil::getParameter($parameters, PayUParameters::TOKEN_ID); if (!isset($tokenId)) { $creditCard = PayUSubscriptionsRequestUtil::buildCreditCard($parameters); $creditCard->customerId = NULL; } else { $creditCard = new stdClass(); $creditCard->token = $tokenId; $creditCard->address = NULL; } return $creditCard; }
/** * Build a subscription request * @param array $parameters * @return stdClass with the subscriptionrequest built */ public static function buildSubscription($parameters) { $subscription = new stdClass(); $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); $tokenId = CommonRequestUtil::getParameter($parameters, PayUParameters::TOKEN_ID); $creditCard = null; if (!isset($tokenId)) { $creditCard = PayUSubscriptionsRequestUtil::buildCreditCard($parameters); $creditCard->customerId = NULL; } else { $creditCard = new stdClass(); $creditCard->token = $tokenId; $creditCard->address = NULL; } $creditCards = array($creditCard); $customer->creditCards = $creditCards; $subscription->customer = $customer; $subscription->plan = PayUSubscriptionsRequestUtil::buildSubscriptionPlan($parameters); $subscription->plan->id = CommonRequestUtil::getParameter($parameters, PayUParameters::PLAN_ID); return $subscription; }