예제 #1
0
 /**
  * @param $pathUrl
  * @param $data
  * @return mixed
  */
 public static function delete($pathUrl, $data)
 {
     $posId = OpenPayU_Configuration::getMerchantPosId();
     $signatureKey = OpenPayU_Configuration::getSignatureKey();
     $response = OpenPayU_HttpCurl::doRequest('DELETE', $pathUrl, $data, $posId, $signatureKey);
     return $response;
 }
예제 #2
0
 /**
  * @param $data
  * @param $incomingSignature
  * @throws OpenPayU_Exception_Authorization
  */
 public static function verifyDocumentSignature($data, $incomingSignature)
 {
     $sign = OpenPayU_Util::parseSignature($incomingSignature);
     if (false === OpenPayU_Util::verifySignature($data, $sign->signature, OpenPayU_Configuration::getSignatureKey(), $sign->algorithm)) {
         throw new OpenPayU_Exception_Authorization('Invalid signature - ' . $sign->signature);
     }
 }
예제 #3
0
 /**
  * @param string $key
  * @return array
  */
 public function getConfig($key = null)
 {
     $config = ['merchant_pos_id' => \OpenPayU_Configuration::getMerchantPosId(), 'signature_key' => \OpenPayU_Configuration::getSignatureKey()];
     if ($key) {
         return $config[$key];
     }
     return $config;
 }
예제 #4
0
 /**
  * Generate a form body for hosted order
  *
  * @access public
  * @param $order An array containing full Order
  * @param $params An optional array with form elements' params
  * @return string Response html form
  */
 public static function hostedOrderForm($order, $params = array())
 {
     $orderFormUrl = OpenPayU_Configuration::getServiceUrl() . 'orders';
     $usortedFormFieldValuesAsArray = array();
     $htmlFormFields = OpenPayU_Util::convertArrayToHtmlForm($order, "", $usortedFormFieldValuesAsArray);
     ksort($usortedFormFieldValuesAsArray);
     $sortedFormFieldValuesAsString = implode('', array_values($usortedFormFieldValuesAsArray));
     $signature = OpenPayU_Util::generateSignData($sortedFormFieldValuesAsString, OpenPayU_Configuration::getHashAlgorithm(), OpenPayU_Configuration::getMerchantPosId(), OpenPayU_Configuration::getSignatureKey());
     $formParams = array_merge(self::$defaultFormParams, $params);
     $htmlOutput = sprintf("<form method=\"POST\" action=\"%s\" id=\"%s\" class=\"%s\">\n", $orderFormUrl, $formParams['formId'], $formParams['formClass']);
     $htmlOutput .= $htmlFormFields;
     $htmlOutput .= sprintf("<input type=\"hidden\" name=\"OpenPayu-Signature\" value=\"%s\" />", $signature);
     $htmlOutput .= sprintf("<button type=\"submit\" formtarget=\"%s\" id=\"%s\" class=\"%s\">%s</button>", $formParams['submitTarget'], $formParams['submitId'], $formParams['submitClass'], $formParams['submitContent']);
     $htmlOutput .= "</form>\n";
     return $htmlOutput;
 }
예제 #5
0
 /**
  * Function use to update status
  * @access public
  * @param string $sessionId
  * @param string $status
  * @param boolean $debug
  * @return object $result
  */
 public static function updateStatus($sessionId, $status, $debug = TRUE)
 {
     $rq = array('ReqId' => md5(rand()), 'MerchantPosId' => OpenPayU_Configuration::getMerchantPosId(), 'SessionId' => $sessionId, 'OrderStatus' => $status, 'Timestamp' => date('c'));
     $result = new OpenPayU_Result();
     $result->setRequest($rq);
     $url = OpenPayU_Configuration::getServiceUrl() . 'co/openpayu/OrderStatusUpdateRequest';
     if ($debug) {
         OpenPayU::addOutputConsole('OpenPayU endpoint for OrderStatusUpdateRequest message', $url);
     }
     $oauthResult = OpenPayu_OAuth::accessTokenByClientCredentials();
     OpenPayU::setOpenPayuEndPoint($url . '?oauth_token=' . $oauthResult->getAccessToken());
     $xml = OpenPayU::buildOrderStatusUpdateRequest($rq);
     if ($debug) {
         OpenPayU::addOutputConsole('OrderStatusUpdateRequest message', htmlentities($xml));
     }
     $merchantPosId = OpenPayU_Configuration::getMerchantPosId();
     $signatureKey = OpenPayU_Configuration::getSignatureKey();
     $response = OpenPayU::sendOpenPayuDocumentAuth($xml, $merchantPosId, $signatureKey);
     if ($debug) {
         OpenPayU::addOutputConsole('OrderStatusUpdateResponse message', htmlentities($response));
     }
     // verify response from PayU service
     $status = OpenPayU::verifyOrderStatusUpdateResponseStatus($response);
     if ($debug) {
         OpenPayU::addOutputConsole('OrderStatusUpdateResponse status', serialize($status));
     }
     $result->setStatus($status);
     $result->setError($status['StatusCode']);
     $result->setSuccess($status['StatusCode'] == 'OPENPAYU_SUCCESS' ? TRUE : FALSE);
     $result->setResponse(OpenPayU::parseOpenPayUDocument($response));
     return $result;
 }
 public function testSignatureKey()
 {
     OpenPayU_Configuration::setSignatureKey('SignatureKey');
     $this->assertEquals('SignatureKey', OpenPayU_Configuration::getSignatureKey());
 }