Exemplo 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);
 }
Exemplo n.º 2
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);
 }
Exemplo n.º 3
0
 /**
  * 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);
 }
Exemplo n.º 4
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);
 }
Exemplo n.º 5
0
 /**
  * Deletes 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 delete($parameters, $lang = null)
 {
     $required = array(PayUParameters::CUSTOMER_ID);
     CommonRequestUtil::validateParameters($parameters, $required);
     $customer = PayUSubscriptionsRequestUtil::buildCustomer($parameters);
     $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::CUSTOMER_ENTITY, PayUSubscriptionsUrlResolver::DELETE_OPERATION, array($customer->id));
     $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::DELETE);
     return PayUApiServiceUtil::sendRequest($customer, $payUHttpRequestInfo);
 }
 /**
  * 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);
     }
 }
Exemplo n.º 7
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");
             }
         }
     }
 }
Exemplo n.º 8
0
 /**
  * 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);
 }