예제 #1
0
 /**
  * @param integer  $orderId
  * @param float    $sum
  * @param string   $message
  * @param string   $outputEncoding
  * @param string   $language
  * @param string   $currency
  *
  * @return array
  */
 public function preparePaymentRequestData($orderId, $sum, $message, $outputEncoding, $language = 'EST', $currency = 'EUR')
 {
     $requestData = array(Fields::SERVICE_ID => Services::PAYMENT_REQUEST, Fields::PROTOCOL_VERSION => $this->protocolVersion, Fields::SELLER_ID => $this->sellerId, Fields::ORDER_ID => $orderId, Fields::SUM => $sum, Fields::CURRENCY => $currency, Fields::SELLER_BANK_ACC => $this->sellerAccountNumber, Fields::SELLER_NAME => $this->sellerName, Fields::ORDER_REFERENCE => ProtocolUtils::generateOrderReference($orderId), Fields::DESCRIPTION => $message, Fields::SUCCESS_URL => $this->endpointUrl, Fields::CANCEL_URL => $this->endpointUrl, Fields::USER_LANG => $language, Fields::VK_DATETIME => date(DATE_ISO8601, time()));
     $requestData = ProtocolUtils::convertValues($requestData, 'UTF-8', $outputEncoding);
     $requestData[Fields::SIGNATURE] = $this->getRequestSignature($requestData);
     return $requestData;
 }
예제 #2
0
파일: Solo.php 프로젝트: inori/banklink
 /**
  * @param integer  $orderId
  * @param float    $sum
  * @param string   $message
  * @param string   $outputEncoding Will most likely always be ISO-8859-1
  * @param string   $language
  * @param string   $currency
  *
  * @return array
  */
 public function preparePaymentRequestData($orderId, $sum, $message, $outputEncoding, $language = 'EST', $currency = 'EUR')
 {
     $requestData = array(Fields::PROTOCOL_VERSION => $this->protocolVersion, Fields::MAC_KEY_VERSION => $this->keyVersion, Fields::SELLER_ID => $this->sellerId, Fields::ORDER_ID => $orderId, Fields::SUM => $sum, Fields::CURRENCY => $currency, Fields::ORDER_REFERENCE => ProtocolUtils::generateOrderReference($orderId), Fields::DESCRIPTION => $message, Fields::SUCCESS_URL => $this->endpointUrl, Fields::CANCEL_URL => $this->endpointUrl, Fields::REJECT_URL => $this->endpointUrl, Fields::USER_LANG => $this->getLanguageCodeForString($language), Fields::TRANSACTION_DATE => 'EXPRESS', Fields::TRANSACTION_CONFIRM => 'YES');
     // Solo protocol doesn't require seller name/account, unless it's different than default one specified
     if ($this->sellerName && $this->sellerAccountNumber) {
         $requestData[Fields::SELLER_NAME] = $this->sellerName;
         $requestData[Fields::SELLER_BANK_ACC] = $this->sellerAccountNumber;
     }
     $requestData = ProtocolUtils::convertValues($requestData, 'UTF-8', $outputEncoding);
     $requestData[Fields::SIGNATURE] = $this->getRequestSignature($requestData);
     return $requestData;
 }
예제 #3
0
 /**
  * Test for too long/too short id
  *
  * @expectedException InvalidArgumentException
  */
 public function testGenerateOrderReferenceValidation()
 {
     ProtocolUtils::generateOrderReference('');
     ProtocolUtils::generateOrderReference(1.2345678901234567E+19);
 }