Example #1
0
 function pay_uniteller_form($order, $param = array())
 {
     $config = $this->config->uniteller ? $this->config->uniteller : new data();
     if ($param) {
         $config->set($param);
     }
     $card = $this->view->basket()->pay_card($order);
     if (@(!$card)) {
         return false;
     }
     function getSignature($Shop_IDP, $Order_ID, $Subtotal_P, $MeanType, $EMoneyType, $Lifetime, $Customer_IDP, $Card_IDP, $IData, $PT_Code, $password)
     {
         $Signature = strtoupper(md5(md5($Shop_IDP) . "&" . md5($Order_ID) . "&" . md5($Subtotal_P) . "&" . md5($MeanType) . "&" . md5($EMoneyType) . "&" . md5($Lifetime) . "&" . md5($Customer_IDP) . "&" . md5($Card_IDP) . "&" . md5($IData) . "&" . md5($PT_Code) . "&" . md5($password)));
         return $Signature;
     }
     $config->shopid = trim($config->shopid);
     $data = array('Shop_IDP' => $config->shopid, 'Order_IDP' => $order, 'Subtotal_P' => $card->total, 'Lifetime' => 3600, 'Customer_IDP' => $card->author, 'Signature' => getSignature($config->shopid, $order, $card->total, @$param['MeanType'] ? $param['MeanType'] : '', @$param['EMoneyType'] ? $param['EMoneyType'] : '', 3600, $card->author, '', '', '', $config->password), 'URL_RETURN_OK' => 'http://' . $_SERVER['HTTP_HOST'] . '/pay/unicardok', 'URL_RETURN_NO' => 'http://' . $_SERVER['HTTP_HOST'] . '/pay/unicardfail');
     if (@$param['MeanType']) {
         $data['MeanType'] = $param['MeanType'];
     }
     if (@$param['EMoneyType']) {
         $data['EMoneyType'] = $param['EMoneyType'];
     }
     if ($card->mail) {
         $data['Email'] = $card->mail;
     }
     if ($card->phone) {
         $data['Phone'] = $card->phone;
     }
     echo $this->gen_form($config->test ? 'https://test.wpay.uniteller.ru/pay/' : 'https://wpay.uniteller.ru/pay/', $data);
     exit;
 }
Example #2
0
 function editMediaMetaData($IW, $IC)
 {
     $book = $this->sql->getMediaMetaData($IW['document_id']);
     $tpl_vars['book'] = $book;
     $tpl_vars['work'] = $IW;
     $tpl_vars['coll'] = $IC;
     $tpl_vars['colData'] = $this->sql->getCollectionInfos($IW['collection_id']);
     $tpl_vars['work']['notes_to_studies'] = "";
     $tpl_vars['work']['notes_to_staff'] = "";
     $tpl_vars['user'] = $_SESSION['user'];
     if ($book['state_id'] == 9) {
         $tpl_vars['work']['todo'] = "suggest";
     }
     # 9 = Suggest Mode / Kaufvorschlag
     if (isset($book['notes_to_studies'])) {
         $tpl_vars['work']['notes_to_studies'] = $book['notes_to_studies'];
     }
     if (isset($book['notes_to_staff'])) {
         $tpl_vars['work']['notes_to_staff'] = $book['notes_to_staff'];
     }
     if (!isset($book['signature'])) {
         $tpl_vars['work']['signature'] = getSignature($book['ppn']);
     }
     #$this->CFG->deb($tpl_vars,1);
     $this->renderer->do_template('edit_book.tpl', $tpl_vars);
     exit(0);
 }
function test()
{
    $app_id = "5vY4mg0Eog8SWo0mHYSWbqpl";
    $token = "Ppuj8xfvb8jltBkcDvALFcEtWvgXGdxj";
    $params = array("app_id" => $app_id, "timestamp" => "1442198292", "noncestr" => "TWSm66JpFIlzdRyk");
    $url = "a=2&b=3";
    parse_str($url, $urlParams);
    $all = array_merge($params, $urlParams);
    $sign = getSignature($all, $token);
    echo "signature : " . $sign . "\n";
}
function main($access_key, $secret_key, $canonical_uri)
{
    //パラメータ
    $service = 's3';
    $region = 'ap-northeast-1';
    //	$canonical_uri         = 'URL指定' ;
    //	$access_key            = 'アクセスキー';
    //	$secret_key            = '秘密鍵';
    $method = 'GET';
    $host = "{$service}-{$region}.amazonaws.com";
    $canonical_querystring = '';
    $signed_headers = 'host;x-amz-content-sha256;x-amz-date';
    $endpoint = "http://{$host}{$canonical_uri}";
    $payload = '';
    $algorithm = 'AWS4-HMAC-SHA256';
    //現在時刻の取得
    $t = time();
    $amzdate = gmdate('Ymd\\THis\\Z', $t);
    $datestamp = gmdate('Ymd', $t);
    //payload作成
    $payload_hash = hash('sha256', $payload);
    //ヘッダ作成
    $canonical_headers = "host:{$host}\n";
    $canonical_headers .= "x-amz-content-sha256:{$payload_hash}\n";
    $canonical_headers .= "x-amz-date:{$amzdate}\n";
    //リクエスト生成
    $canonical_request = "{$method}\n";
    $canonical_request .= "{$canonical_uri}\n";
    $canonical_request .= "{$canonical_querystring}\n";
    $canonical_request .= "{$canonical_headers}\n";
    $canonical_request .= "{$signed_headers}\n";
    $canonical_request .= "{$payload_hash}";
    $credential_scope = "{$datestamp}/{$region}/{$service}/aws4_request";
    $string_to_sign = "{$algorithm}\n";
    $string_to_sign .= "{$amzdate}\n";
    $string_to_sign .= "{$credential_scope}\n";
    $string_to_sign .= hash('sha256', $canonical_request);
    $signing_key = getSignature($secret_key, $datestamp, $region, $service);
    $signature = hash_hmac('sha256', $string_to_sign, $signing_key);
    $authorization_header = "{$algorithm} Credential={$access_key}/{$credential_scope}, SignedHeaders={$signed_headers}, Signature={$signature}";
    $headers = array("x-amz-content-sha256: {$payload_hash}", "Authorization: {$authorization_header}", "x-amz-date: {$amzdate}");
    $request_url = rtrim("{$endpoint}?{$canonical_querystring}", "?");
    $context = array("http" => array("method" => $method, "header" => implode("\r\n", $headers)));
    $ret = file_get_contents($request_url, false, stream_context_create($context));
    prn("payload_hash", $payload_hash);
    prn("canonical_headers", $canonical_headers);
    prn("string_to_sign", $string_to_sign);
    prn("canonical_request", $canonical_request);
    prn("Request", print_r($context, 1));
    prn("Response-header", print_r($http_response_header, 1));
    prn("Response-body", $ret);
}
 public function Editar(modelAssinaturaDigital $model)
 {
     try {
         $sql = "UPDATE FROM nfe_assinaturadigital SET pedido = :pedido, signature = :signature";
         $p_sql = Conexao::getInstance()->prepare($sql);
         $p_sql->bindValue(":pedido", $model->getPedido());
         $p_sql->bindValue(":signature", getSignature());
         return $p_sql->execute();
     } catch (Exception $e) {
         print "Ocorreu um erro ao tentar executar esta ação tente novamente mais tarde.";
         CriaLog::Logger('Erro: Código: ' . $e->getCode() . ' Mensagem: ' . $e->getMessage());
     }
 }
Example #6
0
    /**
     * Sign the request when requesting a request token
     * @param $curl
     * @param $urlCallback
     * @param $signatureMethod
     */
    public function signForRequestToken($curl, $urlCallback, $signatureMethod = null)
    {
        if( $signatureMethod === null)
        {
            $signatureMethod = new \Zeflasher\OAuth\SignatureMethods\OAuthSignatureMethodHmacSha1();
        }

        $oauthParameters = new \Zeflasher\OAuth\Client\OAuthParameters($this->_consumerKey, $signatureMethod);
        $oauthParameters->addParameters(urlRequest.data);
        $oauthParameters->addParameters(_getGETParameters(urlRequest));
        $oauthParameters->add(OAuthConstants.CALLBACK, urlCallback);

        $signature = getSignature(urlRequest, oauthParameters, OAuthConstants.EMPTY_TOKEN_SECRET, signatureMethod);
        $oauthParameters->add(\Zeflasher\OAuth\OAuthConstants::OAUTH_CLIENT_SIGNATURE, $signature);
        //
        $headerString = $oauthParameters->getAuthorizationHeaderValue();
        urlRequest.requestHeaders.push(\Zeflasher\OAuth\OAuthConstants::OAUTH_CLIENT_HEADER, $headerString);
    }
Example #7
0
 public function share()
 {
     $time_stamp = time();
     $jsapi_ticket = $this->wxinterface->getJsApiTicket(APPID, APPSECRET);
     $protocol = !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://';
     $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
     $nonce_str = createNonceStr();
     $signature_str = getSignature($jsapi_ticket, $url, $time_stamp, $nonce_str);
     $data['appid'] = APPID;
     $data['timestamp'] = $time_stamp;
     $data['noncestr'] = $nonce_str;
     $data['signature'] = $signature_str;
     $data['url'] = $url;
     $data['title'] = '分享';
     $data['template'] = 'wx/wxtest';
     $this->data = array_merge($data, $this->_share());
     $this->_show_page();
 }
function makePostParamsUrl($params)
{
    if (is_array($params)) {
        $sign = getSignature($params, ordersys_conf::SESSION_SECRET);
        if (is_string($sign)) {
            $arr_temp = array();
            foreach ($params as $key => $val) {
                $arr_temp[$key] = $val;
            }
            $arr_temp['sign'] = $sign;
            $str_url = http_build_query($arr_temp);
            return $str_url;
        } else {
            return false;
        }
    } else {
        return false;
    }
}
Example #9
0
function post($id, $key, $endpoint, $format, $dataId, $data)
{
    if (!isset($dataId, $data)) {
        return null;
    }
    try {
        // calculate API signature
        $signature = getSignature("", $key);
        // create the curl object.
        // - POST always requires the object's id
        $curl = getCurl($id, $key, $signature, "{$endpoint}/{$dataId}", "", $format);
        // set extra curl options required by POST
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        // POST something
        $curl_result = curl_exec($curl);
        error_log($curl_result);
        curl_close($curl);
        return $curl_result;
    } catch (Exception $e) {
        error_log('Error: ' + $e);
    }
}
Example #10
0
/**
 * licenseDataForDictionary
 * Get the signed plist for a dictionary
 * @param array Associative array (i.e. dictionary) of key-value pairs
 * @param string Hexadecimal string of public key
 * @param string Hexadecimal string the private key
 * @return string License file as plist
 */
function licenseDataForDictionary($dict, $pubKey, $privKey)
{
    $sig = chunk_split(getSignature($dict, $pubKey, $privKey));
    $plist = "<?xml version=\"1.0\" encoding=\"UTF-8\"?" . ">\n";
    $plist .= "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n";
    $plist .= "<plist version=\"1.0\">\n<dict>\n";
    foreach ($dict as $key => $value) {
        $plist .= "\t<key>" . htmlspecialchars($key, ENT_NOQUOTES) . "</key>\n";
        $plist .= "\t<string>" . htmlspecialchars($value, ENT_NOQUOTES) . "</string>\n";
    }
    $plist .= "\t<key>Signature</key>\n";
    $plist .= "\t<data>{$sig}</data>\n";
    $plist .= "</dict>\n";
    $plist .= "</plist>\n";
    return $plist;
}
Example #11
0
     if (argsLen($args, 1)) {
         getCostCenter($args[0]);
     } else {
         incorrect();
     }
     break;
 case 'getCrewRegional':
     if (argsLen($args, 1)) {
         getCrewRegional($args[0]);
     } else {
         incorrect();
     }
     break;
 case 'getSignature':
     if (argsLen($args, 1)) {
         getSignature($args[0]);
     } else {
         incorrect();
     }
     break;
     // -------------- HARDCODED EXPENSE VALUES
 // -------------- HARDCODED EXPENSE VALUES
 case 'getPerDiem':
     if (argsLen($args, 0)) {
         getPerDiem();
     } else {
         incorrect();
     }
     break;
 case 'getHotel':
     if (argsLen($args, 0)) {
Example #12
0
   <input type="hidden" name="LMI_PAYMENT_DESC" value="' . $paymentDesc . '" />
   <input type="hidden" name="LMI_PAYMENT_NO" value="' . $payment_no . '" />
   <input type="hidden" name="LMI_PAYEE_PURSE" value="' . $pay_to_purse . '" />
   <input type="hidden" name="SignatureValue" value="' . $crc . '" />
   <input type="hidden" name="OrderID" value="' . $payment_orderid . '" />
 ';
         if ($resultURL) {
             $h_inputs .= '
   <input type="hidden" name="LMI_RESULT_URL" value="' . $resultURL . '" />';
         }
         break;
         ##########################################
     ##########################################
     case "robokassa":
         $pay_action = $payTest != 'true' ? 'https://merchant.roboxchange.com/Index.aspx' : 'http://test.robokassa.ru/Index.aspx';
         $crc = getSignature($mrh_login, $mrh_pass1, $payment_value, $payment_orderid, $payment_no);
         $h_inputs = '
   <input type="hidden" name="MrchLogin" value="' . $mrh_login . '" />
   <input type="hidden" name="OutSum" value="' . $payment_value . '" />
   <input type="hidden" name="InvId" value="' . $payment_no . '" />
   <input type="hidden" name="Desc" value="' . $paymentDesc . '" />
   <input type="hidden" name="SignatureValue" value="' . $crc . '" />
   <input type="hidden" name="Shp_item" value="' . $payment_orderid . '" />
   <input type="hidden" name="Email" value="' . $email . '" />
   <input type="hidden" name="IncCurrLabel" value="' . $in_curr . '" />
   <input type="hidden" name="Culture" value="' . $culture . '" />
 ';
         break;
     default:
         break;
 }
					<input name="subject" id="subject" maxlength=30 value="" type="text" style="width: 300px">
					<script type="text/javascript">
						var subject=new LiveValidation('subject');
						subject.add(Validate.Presence);
					</script>
				</td>
			</tr>
			<tr>
				<td colspan=2> 
					<b><?php 
    print _('Body');
    ?>
 *</b>
					<?php 
    //Attempt to build a signature for the user
    $signature = getSignature($guid, $connection2, $_SESSION[$guid]["gibbonPersonID"]);
    print getEditor($guid, TRUE, "body", $signature, 20, true, true, false, true);
    ?>
				</td>
			</tr>
			
			<select name="roleCategories[]" id="roleCategories[]" multiple style="display: none">
				<?php 
    try {
        $dataSelect = array();
        $sqlSelect = "SELECT DISTINCT category FROM gibbonRole ORDER BY category";
        $resultSelect = $connection2->prepare($sqlSelect);
        $resultSelect->execute($dataSelect);
    } catch (PDOException $e) {
    }
    while ($rowSelect = $resultSelect->fetch()) {
Example #14
0
 function generateLicenseAP()
 {
     // Much of the following code is adapted/copied from AquaticPrime's PHP library...
     // Create our license dictionary to be signed
     $dict = array("Product" => $this->item_name, "Name" => utf8_encode($this->first_name . ' ' . $this->last_name), "Email" => utf8_encode($this->payer_email), "Licenses" => $this->quantity, "Timestamp" => date('r', strtotime($this->dt)), "TransactionID" => $this->txn_id);
     // $search = explode(",","ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u");
     // $replace = explode(",","c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u");
     // foreach($dict as $k => $v)
     // 	$dict[$k] = str_replace($search, $replace, $v);
     $app = new Application($this->app_id);
     $sig = chunk_split(getSignature($dict, $app->ap_key, $app->ap_pkey));
     $plist = "<?xml version=\"1.0\" encoding=\"UTF-8\"?" . ">\n";
     $plist .= "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n";
     $plist .= "<plist version=\"1.0\">\n<dict>\n";
     foreach ($dict as $key => $value) {
         $value = utf8_encode($value);
         $plist .= "\t<key>" . htmlspecialchars($key, ENT_NOQUOTES) . "</key>\n";
         $plist .= "\t<string>" . htmlspecialchars($value, ENT_NOQUOTES) . "</string>\n";
     }
     $plist .= "\t<key>Signature</key>\n";
     $plist .= "\t<data>{$sig}</data>\n";
     $plist .= "</dict>\n";
     $plist .= "</plist>\n";
     $this->license = $plist;
     $this->update();
 }
Example #15
0
    if ($_POST['PaySummCustom'] != 0) {
        $Subtotal_P = vf(trim($_POST['PaySummCustom']));
    }
}
$Order_IDP = 'UNT|' . $customer_id . '|' . $Subtotal_P . '|' . time();
$MeanType = $confUniteller['MEAN_TYPE'];
$EMoneyType = $confUniteller['EMONEY_TYPE'];
//void _TYPE opts in testing mode
if ($debugMode) {
    $MeanType = '';
    $EMoneyType = '';
}
$URL_RETURN_OK = $confUniteller['URL_RETURN_OK'];
$URL_RETURN_NO = $confUniteller['URL_RETURN_NO'];
$password = $confUniteller['PASSWORD'];
$Signature = getSignature($Shop_IDP, $Order_IDP, $Subtotal_P, $MeanType, $EMoneyType, $Lifetime, $Customer_IDP, $Card_IDP, $IData, $PT_Code, $password);
function paysumm_form($nominals, $merchant_currency)
{
    //сборка выбиралки
    if (!empty($nominals)) {
        $moneySub = '';
        foreach ($nominals as $each) {
            $moneySub .= '<input name="PaySumm" id="cash' . $each . '" value="' . $each . '" checked="" type="radio"> <label for="cash' . $each . '">' . $each . ' ' . $merchant_currency . '</label><br>' . "\n";
        }
        $moneySub .= '<input type="text" name="PaySummCustom" value="0" size="5"> другая сумма <br>';
    } else {
        $moneySub = '<input type="text" name="PaySumm" value="" size="5"> Введите сумму платежа';
    }
    $result = '
        <form action="" method="POST">
        ' . $moneySub . '
Example #16
0
// время жизни формы оплаты в секундах
$Order_ID = getOrderID();
// Сумма для оплаты и идентификатор зарегистрированного пользователя могу храниться в
$Customer_IDP = $user['uid'];
$Email = $user['email'];
$phone = $user['phone'];
// Адреса возврата после успешной и неуспешной оплат покупателями
$URL_RETURN_OK = $systemOptions[$systemName . '_URL_RETURN_OK'];
$URL_RETURN_NO = $systemOptions[$systemName . '_URL_RETURN_NO'];
$password = $systemOptions[$systemName . '_password'];
// пароль из ЛК Uniteller
$EMoneyType = $systemOptions[$systemName . '_EMoneyType'];
$MeanType = $systemOptions[$systemName . '_MeanType'];
// Подпись для формы, вместо неиспользуемых параметров передаются пустые строки
//$EMoneyType = '';
$Signature = getSignature($Shop_IDP, $Order_ID, $amount, $MeanType, $EMoneyType, $Lifetime, $Customer_IDP, "", "", "", $password);
?>

<form action="https://wpay.uniteller.ru/pay/" method="POST">
    <input type="hidden" name="Shop_IDP" value="<?php 
echo $Shop_IDP;
?>
">
    <input type="hidden" name="Order_IDP" value="<?php 
echo $Order_ID;
?>
">
    <input type="hidden" name="Subtotal_P" value="<?php 
echo $amount;
?>
">
Example #17
0
<?php

/**
 * 测试
 * User: young
 * Date: 16/8/11
 * Time: 下午5:24
 */
/**
 * 获得qq的校验签名
 * actid = 124687 用于查询是否qqvip
 * actid = 97113 用于免授权登录
 */
function getSignature($params, $appkey)
{
    // 按照字典顺序排列参数名
    $paramKeySort = array_keys($params);
    sort($paramKeySort, SORT_STRING);
    $paramStr = '';
    foreach ($paramKeySort as $key) {
        $paramStr .= $key . "=" . $params[$key] . '&';
    }
    $paramStr .= "appkey=" . $appkey;
    // md5校验
    return md5($paramStr);
}
$params = ['appid' => '100536144', 'openid' => '7DD97827918E2C7C733371879EFED9DE', 'actid' => '124687', 'ts' => time()];
$appkey = '92138723efba705d39e127d1dd24f129';
var_dump($params);
var_dump(getSignature($params, $appkey));
 public function paysend()
 {
     //Getting API-ID from config
     $apiID = $this->config->get('bcp_payment_api');
     //test mode check
     $testMode = 0;
     //if set to 1, test mode will be set
     if (!$testMode) {
         $payurl = 'https://www.bitcoinpay.com/api/v1/payment/btc';
     } else {
         $payurl = 'https://bitcoinpaycom.apiary-mock.com/api/v1/payment/btc';
     }
     //data preparation
     $this->load->model('checkout/order');
     $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
     $price = $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false);
     $idoforder = $order_info['order_id'];
     $cname = html_entity_decode($order_info['payment_firstname'], ENT_QUOTES, 'UTF-8');
     $csurname = html_entity_decode($order_info['payment_lastname'], ENT_QUOTES, 'UTF-8');
     $cnamecomplete = "{$cname} {$csurname}";
     $cemail = html_entity_decode($order_info['email'], ENT_QUOTES, 'UTF-8');
     //additional customer data
     $customData = array('customer_name' => $cnamecomplete, 'order_number' => intval($idoforder), 'customer_email' => $cemail);
     $jCustomData = json_encode($customData);
     //data packing
     //additional checks
     $notiEmail = $this->config->get('bcp_payment_email');
     $lang = $this->session->data['language'];
     $settCurr = $this->config->get('bcp_payment_currency');
     if (strlen($settCurr) != 3) {
         $settCurr = "BTC";
     }
     $postData = array('settled_currency' => $settCurr, 'return_url' => $this->url->link('payment/bcp_payment/return_url'), 'notify_url' => $this->url->link('payment/bcp_payment/callback', '', 'SSL'), 'price' => floatval($price), 'currency' => $order_info['currency_code'], 'reference' => json_decode($jCustomData));
     if ($notiEmail !== NULL && strlen($notiEmail) > 5) {
         $postData['notify_email'] = $notiEmail;
     }
     if (strcmp($lang, "cs") !== 0 || strcmp($lang, "en") !== 0 || strcmp($lang, "de") !== 0) {
         $postData['lang'] = "en";
     } else {
         $postData['lang'] = $lang;
     }
     $content = json_encode($postData);
     //sending data via cURL
     $curlheaders = array("Content-type: application/json", "Authorization: Token {$apiID}");
     $curl = curl_init($payurl);
     curl_setopt($curl, CURLOPT_HEADER, true);
     curl_setopt($curl, CURLOPT_VERBOSE, true);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($curl, CURLOPT_HTTPHEADER, $curlheaders);
     curl_setopt($curl, CURLOPT_POST, true);
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
     //bypassing ssl verification, because of bad compatibility
     curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
     //sending to server, and waiting for response
     $response = curl_exec($curl);
     $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
     $jHeader = substr($response, 0, $header_size);
     $jBody = substr($response, $header_size);
     $jHeaderArr = $this->get_headers_from_curl_response($jHeader);
     //http response code
     $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
     //callback password check
     if (($callbackPass = $this->config->get('bcp_payment_password')) != NULL) {
         $digest = getSignature($jHeaderArr[0]);
         $hashMsg = $jBody . $callbackPass;
         $checkDigest = hash('sha256', $hashMsg);
         if (strcmp($digest, $checkDigest) == 0) {
             $security = 1;
         } else {
             $security = 0;
         }
     } else {
         $security = 1;
     }
     if ($status != 200) {
         die("Error: call to URL {$payurl} failed with status {$status}, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl) . "<br /> Please contact shop administrator...");
         curl_close($curl);
     } elseif (!$security) {
         die("Error: Callback password does not match! <br />Please contact shop administrator...");
         curl_close($curl);
     } else {
         curl_close($curl);
         $response = json_decode($jBody);
         //adding paymentID to payment method
         $prePaymentMethod = html_entity_decode($order_info['payment_method'], ENT_QUOTES, 'UTF-8');
         $finPaymentMethod = $prePaymentMethod . "<br /><strong>PaymentID: </strong>" . $response->data->payment_id;
         $paymentQuery = $this->db->query("UPDATE `" . DB_PREFIX . "order` SET `payment_method` = '" . $finPaymentMethod . "' WHERE `order_id` = " . $order_info['order_id']);
         //redirect to pay gate
         $paymentUrl = $response->data->payment_url;
         header("Location: {$paymentUrl}");
         die;
     }
 }
Example #19
0
<?php

/**
 * Created by PhpStorm.
 * User: noname
 * Date: 02.11.2015
 * Time: 9:19
 */
$order_desc = "test order";
#Формируем ордер
$order_id = startTransaction($LINK, $user, $amount, 'addons_yandex');
$params = array('amount' => $amount, 'shopId' => $systemOptions[$systemName . '_shopId'], 'scid' => $systemOptions[$systemName . '_scid'], 'url' => $systemOptions[$systemName . '_url'], 'customerNumber' => $user['uid'], 'shopArticleId' => $systemOptions[$systemName . '_shopArticleId'], 'paymentType' => $systemOptions[$systemName . '_paymentType'], 'orderNumber' => $order_id, 'cps_phone' => $user['phone'], 'cps_email' => $user['email']);
$signature = getSignature($params, $systemOptions[$systemName . '_secret_seed']);
function getSignature($inputData, $secret_seed)
{
    if (empty($inputData)) {
        return false;
    }
    ksort($inputData);
    $array = array_values($inputData);
    $str = implode('|', $array);
    $str = $secret_seed . '|' . $str;
    //return $str;
    return sha1($str);
}
//print $signature;
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
Example #20
0
 /**
  * @return mixed
  */
 public function getSignature()
 {
     $propertyNames = [];
     foreach ($this->properties as $property) {
         $propertyNames[] = $property->name;
     }
     return getSignature($propertyNames);
 }
function sendRequestMail($request_id)
{
    if ($request_id != "") {
        $request_sql = "SELECT T_label." . $_SESSION['language'] . " AS Status, T_status.Name AS Status_name, T_request.Name, ";
        $request_sql .= "T_caver_a.Contact AS Aut_contact, T_caver_a.Nickname AS Aut_nick,  ";
        $request_sql .= "T_caver_b.Contact AS Rec_contact, T_caver_b.Nickname AS Rec_nick  ";
        $request_sql .= "FROM `" . $_SESSION['Application_host'] . "`.`T_topography` ";
        $request_sql .= "INNER JOIN `" . $_SESSION['Application_host'] . "`.`T_request` ON T_request.Id = T_topography.Id_request ";
        $request_sql .= "INNER JOIN `" . $_SESSION['Application_host'] . "`.`T_status` ON T_status.Id = T_request.Id_status ";
        $request_sql .= "INNER JOIN `" . $_SESSION['Application_host'] . "`.`T_label` ON T_label.Id = T_status.Id_label ";
        $request_sql .= "INNER JOIN `" . $_SESSION['Application_host'] . "`.`T_caver` T_caver_a ON T_caver_a.Id = T_request.Id_author ";
        $request_sql .= "INNER JOIN `" . $_SESSION['Application_host'] . "`.`T_caver` T_caver_b ON T_caver_b.Id = T_request.Id_recipient ";
        $request_sql .= "WHERE T_request.Id = '" . $request_id . "' ";
        $request_data = getDataFromSQL($request_sql, __FILE__, "function", __FUNCTION__);
        $status_lbl = $request_data[0]['Status'];
        $request_name = $request_data[0]['Name'];
        $status_name = $request_data[0]['Status_name'];
        $rec_contact = $request_data[0]['Rec_contact'];
        $rec_name = $request_data[0]['Rec_nick'];
        $aut_contact = $request_data[0]['Aut_contact'];
        $aut_name = $request_data[0]['Aut_nick'];
        $copy = false;
        switch ($status_name) {
            case "submitted":
                $mail_dest = $rec_contact;
                $name_dest = $rec_name;
                $mail_from = $aut_contact;
                $name_from = $aut_name;
                $subject = "<convert>#label=847<convert> '" . $request_name . "' <convert>#label=849<convert>.";
                //La demande : //vous a été envoyée
                $temp_body = "<convert>#label=851<convert>";
                //Veuillez vérifier les droits d'auteurs et appliquer les modifications nécessaires à la topographie. Ensuite vous pourez choisir de valider ou refuser la demande.
                break;
            case "rejected":
                $mail_dest = $aut_contact;
                $name_dest = $aut_name;
                $mail_from = $rec_contact;
                $name_from = $rec_name;
                $subject = "<convert>#label=846<convert> '" . $request_name . "' <convert>#label=848<convert> '" . $status_lbl . "'.";
                //Votre demande : //est passée à l'état :
                $temp_body = "<convert>#label=852<convert>";
                //Votre demande a été rejetée, la cause du rejet peut être indiquée dans le champ commentaire de la demande. Veuillez modifier votre demande avant de la soumettre à nouveau.
                break;
            case "approved":
                trackAction("approve_request", $request_id, "T_request");
                $mail_dest = $aut_contact;
                $name_dest = $aut_name;
                $mail_from = $rec_contact;
                $name_from = $rec_name;
                $subject = "<convert>#label=846<convert> '" . $request_name . "' <convert>#label=848<convert> '" . $status_lbl . "'.";
                //Votre demande : //est passée à l'état :
                $temp_body = "<convert>#label=853<convert>";
                //Votre demande a été accepté et est dès à présent en ligne, vous pouvez consulter les topographies sur GrottoCenter.org.
                break;
            case "canceled":
                trackAction("cancel_request", $request_id, "T_request");
                $mail_dest = $rec_contact;
                $name_dest = $rec_name;
                $mail_from = $aut_contact;
                $name_from = $aut_name;
                $subject = "<convert>#label=847<convert> '" . $request_name . "' <convert>#label=850<convert>.";
                //La demande : //a été signalée comme illicite
                $temp_body = "<convert>#label=851<convert>";
                //Veuillez vérifier les droits d'auteurs et appliquer les modifications nécessaires à la topographie. Ensuite vous pourez choisir de valider ou refuser la demande.
                break;
        }
        $mail_body = "<p><convert>#label=470<convert> " . $name_dest . ",<br />";
        //Bonjour
        $mail_body .= $subject . "<br/>";
        $mail_body .= $temp_body . "</p>";
        $mail_body .= "<ul><li><convert>#label=854<convert> " . $name_dest . " " . $mail_dest . "</li>";
        //Vous :
        $mail_body .= "<li><convert>#label=855<convert> " . $name_from . " " . $mail_from . "</li>";
        //Votre contact (Leader) :
        $mail_body .= "<li><convert>#label=861<convert>: " . $request_id . "</li></ul>";
        //Numéro de la demande :
        $mail_body .= getSignature();
        return sendMail($mail_dest, $subject, $mail_body, "", "", $copy);
    } else {
        return false;
    }
}