dem321
Здравствуйте! Настраиваю форму оплаты Payeer. Дополнительные параметры $m_params с формы передаются на обработчик после оплаты.
Форма:Код (Text):
$arParams = array( ‘success_url’ => ‘http://donateask.ru/new_success_url’, //’fail_url’ => ‘http://donateask.ru/new_fail_url’, //’status_url’ => ‘http://donateask.ru/new_status_url’, ‘reference’ => array( ‘var1’ => ‘1’, ‘var2’ => ‘2’, ‘var3’ => ‘3’, //’var4′ => ‘4’, //’var5′ => ‘5’, ), //’submerchant’ => ‘mail.com’, ); $key = md5(‘Ключ для шифрования дополнительных параметров’.$m_orderid); $m_params = @urlencode(base64_encode(openssl_encrypt(json_encode($arParams), ‘AES-256-CBC’, $key, OPENSSL_RAW_DATA))); $arHash[] = $m_params; $arHash[] = $m_key; $sign = strtoupper(hash(‘sha256’, implode(‘:’, $arHash))); ?> <form method=»post» action=»https://payeer.com/merchant/»> <input type=»hidden» name=»m_shop» value=»<?=$m_shop?>»> <input type=»hidden» name=»m_orderid» value=»<?=$m_orderid?>»> <input type=»hidden» name=»m_amount» value=»<?=$m_amount?>»> <input type=»hidden» name=»m_curr» value=»<?=$m_curr?>»> <input type=»hidden» name=»m_desc» value=»<?=$m_desc?>»> <input type=»hidden» name=»m_sign» value=»<?=$sign?>»> <?php /* <input type=»hidden» name=»form[ps]» value=»2609″> <input type=»hidden» name=»form[curr[2609]]» value=»USD»> */ ?> <?php <input type=»hidden» name=»m_params» value=»<?=$m_params?>»> <input type=»hidden» name=»m_cipher_method» value=»AES-256-CBC»> ?> <input type=»submit» name=»m_process» value=»send» /> </form>Обработчик:
Код (Text):
<?php if (!in_array($_SERVER[‘REMOTE_ADDR’], array(‘185.71.65.92’, ‘185.71.65.189’, ‘149.202.17.210’))) return; if (isset($_POST[‘m_operation_id’]) && isset($_POST[‘m_sign’])) { $m_key = ‘Ваш секретный ключ’; $arHash = array( $_POST[‘m_operation_id’], $_POST[‘m_operation_ps’], $_POST[‘m_operation_date’], $_POST[‘m_operation_pay_date’], $_POST[‘m_shop’], $_POST[‘m_orderid’], $_POST[‘m_amount’], $_POST[‘m_curr’], $_POST[‘m_desc’], $_POST[‘m_status’] ); if (isset($_POST[‘m_params’])) { $arHash[] = $_POST[‘m_params’]; } $arHash[] = $m_key; $sign_hash = strtoupper(hash(‘sha256’, implode(‘:’, $arHash))); if ($_POST[‘m_sign’] == $sign_hash && $_POST[‘m_status’] == ‘success’) { ob_end_clean(); exit($_POST[‘m_orderid’].’|success’); } ob_end_clean(); exit($_POST[‘m_orderid’].’|error’); } ?>«var1» и «var2» мне нужно присвоить переменным в случае успешного платежа, а каким образом вывести значения массива m_params из массива POST для меня является загадкой. Буду очень признателен если кто подскажет!
Drunkenmunky
PHP:
<?php function func_name($param) { if($param == 1) { return TRUE; } else { return FALSE; } } $action = 1; if(func_name($action)) { $var1 = ‘one’; $var2 = ‘two’; } else { $var1 = ‘zero’; $var2 = ‘zero’; } ?>PHP: