Здравствуйте! Настраиваю форму оплаты 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 для меня является загадкой. Буду очень признателен если кто подскажет!
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: print_r($_POST);