Esempio n. 1
0
 /**
  * Removes a credit card token
  * @param parameters The parameters to be sent to the server
  * @param string $lang language of request see SupportedLanguages class
  * @return The transaction response to the request sent
  * @throws PayUException
  * @throws InvalidArgumentException
  */
 public static function remove($parameters, $lang = null)
 {
     $required = array(PayUParameters::TOKEN_ID, PayUParameters::PAYER_ID);
     CommonRequestUtil::validateParameters($parameters, $required);
     $request = PayUTokensRequestUtil::buildRemoveTokenRequest($parameters, $lang);
     $payUHttpRequestInfo = new PayUHttpRequestInfo(Environment::PAYMENTS_API, RequestMethod::POST);
     return PayUApiServiceUtil::sendRequest($request, $payUHttpRequestInfo);
 }
 /**
  * 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);
 }
Esempio n. 3
0
 /**
  * Return a bank account with the given id
  *
  * @param parameters The parameters to be sent to the server
  * @return the find bank account
  * @throws PayUException
  * @throws InvalidArgumentException
  */
 public static function find($parameters, $lang = null)
 {
     $required = array(PayUParameters::BANK_ACCOUNT_ID);
     CommonRequestUtil::validateParameters($parameters, $required);
     $bankAccountRequest = RequestPaymentsUtil::buildBankAccountRequest($parameters);
     $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::BANK_ACCOUNT_ENTITY, PayUSubscriptionsUrlResolver::GET_OPERATION, array($bankAccountRequest->id));
     $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::GET);
     return PayUApiServiceUtil::sendRequest($bankAccountRequest, $payUHttpRequestInfo);
 }
 /**
  * Cancels a subscription
  * @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 cancel($parameters, $lang = null)
 {
     $required = array(PayUParameters::SUBSCRIPTION_ID);
     CommonRequestUtil::validateParameters($parameters, $required);
     $request = PayUSubscriptionsRequestUtil::buildSubscription($parameters);
     $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::SUBSCRIPTIONS_ENTITY, PayUSubscriptionsUrlResolver::DELETE_OPERATION, array($parameters[PayUParameters::SUBSCRIPTION_ID]));
     $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::DELETE);
     return PayUApiServiceUtil::sendRequest($request, $payUHttpRequestInfo);
 }
 /**
  * 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);
 }
Esempio n. 6
0
 /**
  * Finds a recurring bill by id
  * @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 find($parameters, $lang = null)
 {
     $required = array(PayUParameters::RECURRING_BILL_ID);
     CommonRequestUtil::validateParameters($parameters, $required);
     $recurringBillId = CommonRequestUtil::getParameter($parameters, PayUParameters::RECURRING_BILL_ID);
     $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::RECURRING_BILL_ENTITY, PayUSubscriptionsUrlResolver::GET_OPERATION, array($recurringBillId));
     $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::GET);
     return PayUApiServiceUtil::sendRequest(NULL, $payUHttpRequestInfo);
 }
Esempio n. 7
0
 /**
  * Makes a transaction reporting petition by the id
  *
  * @param parameters The parameters to be sent to the server
  * @param string $lang language of request see SupportedLanguages class
  * @return The transaction response to the request sent
  * @throws PayUException
  * @throws InvalidArgumentException
  */
 public static function getTransactionResponse($parameters, $lang = null)
 {
     CommonRequestUtil::validateParameters($parameters, array(PayUParameters::TRANSACTION_ID));
     $request = PayUReportsRequestUtil::buildTransactionResponse($parameters, $lang);
     $payUHttpRequestInfo = new PayUHttpRequestInfo(Environment::REPORTS_API, RequestMethod::POST);
     $response = PayUApiServiceUtil::sendRequest($request, $payUHttpRequestInfo);
     if (isset($response) && isset($response->result)) {
         return $response->result->payload;
     }
     return null;
 }
 /**
  * Validate a Bank Account
  * @param array $parameters
  * @throws InvalidParameterException
  */
 public static function validateBankAccount($parameters)
 {
     $bankAccountId = CommonRequestUtil::getParameter($parameters, PayUParameters::BANK_ACCOUNT_ID);
     if (isset($bankAccountId)) {
         $required = array(PayUParameters::BANK_ACCOUNT_ID);
         $invalid = array(PayUParameters::BANK_ACCOUNT_DOCUMENT_NUMBER, PayUParameters::BANK_ACCOUNT_DOCUMENT_NUMBER_TYPE, PayUParameters::BANK_ACCOUNT_CUSTOMER_NAME, PayUParameters::BANK_ACCOUNT_AGENCY_NUMBER, PayUParameters::BANK_ACCOUNT_AGENCY_DIGIT, PayUParameters::BANK_ACCOUNT_ACCOUNT_DIGIT, PayUParameters::BANK_ACCOUNT_NUMBER, PayUParameters::BANK_ACCOUNT_BANK_NAME, PayUParameters::BANK_ACCOUNT_TYPE, PayUParameters::BANK_ACCOUNT_STATE);
         CommonRequestUtil::validateParameters($parameters, $required, $invalid);
     } else {
         $required = array(PayUParameters::BANK_ACCOUNT_CUSTOMER_NAME, PayUParameters::BANK_ACCOUNT_DOCUMENT_NUMBER, PayUParameters::BANK_ACCOUNT_DOCUMENT_NUMBER_TYPE, PayUParameters::BANK_ACCOUNT_BANK_NAME, PayUParameters::BANK_ACCOUNT_TYPE, PayUParameters::BANK_ACCOUNT_NUMBER, PayUParameters::COUNTRY);
         CommonRequestUtil::validateParameters($parameters, $required);
     }
 }
 /**
  * Process a transaction already authorizated
  *
  * @param parameters The parameters to be sent to the server
  * @param transactionType
  *            The type of the payment transaction
  * @param string $lang language of request see SupportedLanguages class            
  * @return The transaction response to the request sent
  * @throws PayUException
  * @throws InvalidArgumentException
  */
 private static function processTransactionAlreadyAuthorizated($parameters, $transactionType, $lang)
 {
     $required = array(PayUParameters::TRANSACTION_ID, PayUParameters::ORDER_ID);
     CommonRequestUtil::validateParameters($parameters, $required);
     $request = RequestPaymentsUtil::buildPaymentRequest($parameters, $transactionType, $lang);
     $payUHttpRequestInfo = new PayUHttpRequestInfo(Environment::PAYMENTS_API, RequestMethod::POST);
     return PayUApiServiceUtil::sendRequest($request, $payUHttpRequestInfo);
 }
 /**
  * Validate a token 
  * @param array $parameters
  * @throws InvalidParameterException
  */
 public static function validateToken($parameters)
 {
     $tokenId = CommonRequestUtil::getParameter($parameters, PayUParameters::TOKEN_ID);
     if (isset($tokenId)) {
         $invalid = array(PayUParameters::CREDIT_CARD_NUMBER, PayUParameters::CREDIT_CARD_EXPIRATION_DATE, PayUParameters::PAYMENT_METHOD, PayUParameters::PAYER_NAME, PayUParameters::PAYER_STREET, PayUParameters::PAYER_STREET_2, PayUParameters::PAYER_STREET_3, PayUParameters::PAYER_CITY, PayUParameters::PAYER_STATE, PayUParameters::PAYER_COUNTRY, PayUParameters::PAYER_POSTAL_CODE, PayUParameters::PAYER_PHONE);
     } else {
         $required = array(PayUParameters::CREDIT_CARD_NUMBER, PayUParameters::PAYER_NAME, PayUParameters::PAYMENT_METHOD, PayUParameters::CREDIT_CARD_EXPIRATION_DATE);
         CommonRequestUtil::validateParameters($parameters, $required);
     }
 }
Esempio n. 11
0
 /**
  * validate the Payment Method parameters. Only one payment methos is permitted
  * @param $parameters
  * @param $existParamBankAccount
  * @param $existParamCreditCard
  * @throws PayUException
  */
 public static function validatePaymentMethod($parameters, $existParamBankAccount, $existParamCreditCard, $edit = FALSE)
 {
     if ($existParamBankAccount == TRUE && $existParamCreditCard == TRUE) {
         throw new PayUException(PayUErrorCodes::INVALID_PARAMETERS, "The subscription must have only one payment method");
     } else {
         if ($existParamBankAccount == TRUE) {
             PayUSubscriptionsRequestUtil::validateBankAccount($parameters);
             if ($edit == FALSE) {
                 //The TERMS_AND_CONDITIONS_ACEPTED Parameter is required for Bank Account
                 $required = array(PayUParameters::TERMS_AND_CONDITIONS_ACEPTED);
                 CommonRequestUtil::validateParameters($parameters, $required);
             }
         } else {
             if ($existParamCreditCard == TRUE) {
                 PayUSubscriptionsRequestUtil::validateCreditCard($parameters);
             } else {
                 throw new PayUException(PayUErrorCodes::INVALID_PARAMETERS, "The subscription must have one payment method");
             }
         }
     }
 }