1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
payment.php
См. документацию.
1<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><?
2include(GetLangFileName(dirname(__FILE__)."/", "/payment.php"));
3if(!function_exists("bx_hmac"))
4{
5 function bx_hmac($algo, $data, $key, $raw_output = false)
6 {
7 $algo = mb_strtolower($algo);
8 $pack = "H".mb_strlen($algo("test"));
9 $size = 64;
10 $opad = str_repeat(chr(0x5C), $size);
11 $ipad = str_repeat(chr(0x36), $size);
12
13 if (mb_strlen($key) > $size) {
14 $key = str_pad(pack($pack, $algo($key)), $size, chr(0x00));
15 } else {
16 $key = str_pad($key, $size, chr(0x00));
17 }
18
19 $lenKey = mb_strlen($key) - 1;
20 for ($i = 0; $i < $lenKey; $i++) {
21 $opad[$i] = $opad[$i] ^ $key[$i];
22 $ipad[$i] = $ipad[$i] ^ $key[$i];
23 }
24
25 $output = $algo($opad.pack($pack, $algo($ipad.$data)));
26 return ($raw_output) ? pack($pack, $output) : $output;
27 }
28}
29
31$amount = number_format($amount, 2, ".", "");
33if($currency == '')
34 $currency = "UAH";
35
37if(mb_strlen($order) < 6)
38{
39 $n = 6 - mb_strlen($order);
40 for($i = 0; $i < $n; $i++)
41 $order = "0".$order;
42}
43
52
53if(CSalePaySystemAction::GetParamValue("IS_TEST") <> '')
54 $server_url = "https://3ds.eximb.com:443/cgi-bin/cgi_test";
55else
56 $server_url = "https://3ds.eximb.com/cgi-bin/cgi_link";
57
61$time = "";
62
63$var = unpack("H*r", ToUpper(mb_substr(md5(uniqid(30)), 0, 8)));
65
66$key = pack("H*", $mac);
67$time = gmdate("YmdHis", time());
68
69$sign = bx_hmac("sha1",
70 ($amount <> '' ? mb_strlen($amount).$amount : "-").
71 ($currency <> '' ? mb_strlen($currency).$currency : "-").
72 ($order <> '' ? mb_strlen($order).$order : "-").
73 ($desc <> '' ? mb_strlen($desc).$desc : "-").
74 ($m_name <> '' ? mb_strlen($m_name).$m_name : "-").
75 ($m_url <> '' ? mb_strlen($m_url).$m_url : "-").
76 ($merchant <> '' ? mb_strlen($merchant).$merchant : "-").
77 ($terminal <> '' ? mb_strlen($terminal).$terminal : "-").
78 ($email <> '' ? mb_strlen($email).$email : "-").
79 ($trtype <> '' ? mb_strlen($trtype).$trtype : "-").
80 "--".
81 ($time <> '' ? mb_strlen($time).$time : "-").
82 ($nonce <> '' ? mb_strlen($nonce).$nonce : "-").
83 ($backref <> '' ? mb_strlen($backref).$backref : "-")
84 ,
85 $key
86 );
87?>
88
89<form name="cardform" action="<?=$server_url?>" method="post">
90 <input type="hidden" name="TRTYPE" VALUE="<?=$trtype?>">
91 <input type="hidden" name="AMOUNT" value="<?=$amount?>">
92 <input type="hidden" name="CURRENCY" value="<?=$currency?>">
93 <input type="hidden" name="ORDER" value="<?=$order?>">
94 <input type="hidden" name="DESC" value="<?=htmlspecialcharsbx($desc)?>">
95 <input type="hidden" name="MERCH_NAME" value="<?=htmlspecialcharsbx($m_name)?>">
96 <input type="hidden" name="MERCH_URL" value="<?=htmlspecialcharsbx($m_url)?>">
97 <input type="hidden" name="MERCHANT" value="<?=htmlspecialcharsbx($merchant)?>">
98 <input type="hidden" name="TERMINAL" value="<?=htmlspecialcharsbx($terminal)?>">
99 <input type="hidden" name="EMAIL" value="<?=htmlspecialcharsbx($email)?>">
100 <input type="hidden" name="LANG" value="">
101 <input type="hidden" name="BACKREF" value="<?=$backref?>">
102 <input type="hidden" name="NONCE" value="<?=$nonce?>">
103 <input type="hidden" name="P_SIGN" value="<?=$sign?>">
104 <input type="hidden" name="TIMESTAMP" value="<?=$time?>">
105 <input type="submit" class="btn btn-primary" value="<?=GetMessage("PAY_BUTTON")?>" name="send_button">
106</form>
static GetParamValue($key, $defaultValue=null)
Определения pay_system_action.php:76
$data['IS_AVAILABLE']
Определения .description.php:13
$output
Определения options.php:436
ToUpper($str)
Определения tools.php:2247
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
GetLangFileName($before, $after, $lang=false)
Определения tools.php:3428
$order
Определения payment.php:8
$country
Определения payment.php:59
$nonce
Определения payment.php:64
$order
Определения payment.php:36
else $server_url
Определения payment.php:56
$currency
Определения payment.php:32
$merch_gmt
Определения payment.php:60
$time
Определения payment.php:61
$merchant
Определения payment.php:47
$var
Определения payment.php:63
$m_url
Определения payment.php:46
$sign
Определения payment.php:69
if(mb_strlen($order)< 6) $desc
Определения payment.php:44
$email
Определения payment.php:49
$trtype
Определения payment.php:58
$m_name
Определения payment.php:45
$backref
Определения payment.php:50
$mac
Определения payment.php:51
if(!function_exists("bx_hmac")) $amount
Определения payment.php:30
$terminal
Определения payment.php:48
if(empty($signedUserToken)) $key
Определения quickway.php:257
die
Определения quickway.php:367
$i
Определения factura.php:643
$currency
Определения template.php:266
$n
Определения update_log.php:107