/**
  * 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);
 }
예제 #2
0
 /**
  * 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;
 }