/** * 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); }
/** * 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); }
/** * 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; }
/** * 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); }