예제 #1
0
 /**
  * Creates a customer with bank account 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 createCustomerWithBankAccount($parameters, $lang = null)
 {
     PayUSubscriptionsRequestUtil::validateCustomer($parameters);
     $customer = PayUSubscriptionsRequestUtil::buildCustomer($parameters);
     $bankAccount = RequestPaymentsUtil::buildBankAccountRequest($parameters);
     $customer->bankAccounts = array($bankAccount);
     $urlSegment = PayUSubscriptionsUrlResolver::getInstance()->getUrlSegment(PayUSubscriptionsUrlResolver::CUSTOMER_ENTITY, PayUSubscriptionsUrlResolver::ADD_OPERATION);
     $payUHttpRequestInfo = PayUSubscriptionsRequestUtil::buildHttpRequestInfo($urlSegment, $lang, RequestMethod::POST);
     return PayUApiServiceUtil::sendRequest($customer, $payUHttpRequestInfo);
 }
예제 #2
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);
 }
예제 #3
0
 /**
  * Adds the extra parameters required by the PSE payment method
  *
  * @param transaction
  * @param parameters
  * @throws InvalidParametersException
  */
 private static function addPSEExtraParameters($transaction, $parameters)
 {
     // PSE reference identification 1
     $pseReference1 = CommonRequestUtil::getParameter($parameters, PayUParameters::IP_ADDRESS);
     // PSE reference identification 2
     $pseReference2 = CommonRequestUtil::getParameter($parameters, PayUParameters::PAYER_DOCUMENT_TYPE);
     // PSE reference identification 3
     $pseReference3 = CommonRequestUtil::getParameter($parameters, PayUParameters::PAYER_DNI);
     // PSE user type N-J (Natural or Legal)
     $pseUserType = CommonRequestUtil::getParameter($parameters, PayUParameters::PAYER_PERSON_TYPE);
     // PSE financial institution code (Bank code)
     $pseFinancialInstitutionCode = CommonRequestUtil::getParameter($parameters, PayUParameters::PSE_FINANCIAL_INSTITUTION_CODE);
     // PSE financial institution name (Bank Name)
     $pseFinancialInstitutionName = CommonRequestUtil::getParameter($parameters, PayUParameters::PSE_FINANCIAL_INSTITUTION_NAME);
     if ($pseFinancialInstitutionCode != null) {
         $transaction = RequestPaymentsUtil::addExtraParameter($transaction, PayUKeyMapName::FINANCIAL_INSTITUTION_CODE, $pseFinancialInstitutionCode);
     }
     if ($pseFinancialInstitutionName != null) {
         $transaction = RequestPaymentsUtil::addExtraParameter($transaction, PayUKeyMapName::FINANCIAL_INSTITUTION_NAME, $pseFinancialInstitutionName);
     }
     if ($pseUserType != null) {
         $transaction = RequestPaymentsUtil::addExtraParameter($transaction, PayUKeyMapName::USER_TYPE, $pseUserType);
     }
     if ($pseReference1 != null) {
         $transaction = RequestPaymentsUtil::addExtraParameter($transaction, PayUKeyMapName::PSE_REFERENCE1, $pseReference1);
     }
     if ($pseReference2 != null) {
         $transaction = RequestPaymentsUtil::addExtraParameter($transaction, PayUKeyMapName::PSE_REFERENCE2, $pseReference2);
     }
     if ($pseReference3 != null) {
         $transaction = RequestPaymentsUtil::addExtraParameter($transaction, PayUKeyMapName::PSE_REFERENCE3, $pseReference3);
     }
     return $transaction;
 }
 /**
  * Build the Credit card object for subscription
  * @param array $parameters
  */
 protected static function buildBankAccountForSubscription($parameters)
 {
     $bankAccountId = CommonRequestUtil::getParameter($parameters, PayUParameters::BANK_ACCOUNT_ID);
     if (!isset($bankAccountId)) {
         $bankAccount = RequestPaymentsUtil::buildBankAccountRequest($parameters);
         $bankAccount->customerId = NULL;
     } else {
         $bankAccount = new \stdClass();
         $bankAccount->id = $bankAccountId;
     }
     return $bankAccount;
 }
예제 #5
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);
 }