{ preg_match("/<{$name}>(.*)<\\/{$name}>/i", $xml, $matches); return trim($matches[1]); } // Работаем в корневой директории chdir('../../'); require_once 'api/Simpla.php'; $simpla = new Simpla(); $xml_post = base64_decode(str_replace(' ', '+', $_REQUEST['xml'])); $sign_post = base64_decode(str_replace(' ', '+', $_REQUEST['sign'])); // Выбираем из xml нужные данные $order_id = intval(get_tag_val($xml_post, 'order_id')); $merchant_id = get_tag_val($xml_post, 'merchant_id'); $amount = get_tag_val($xml_post, 'amount'); $currency_code = get_tag_val($xml_post, 'currency'); $status = get_tag_val($xml_post, 'status'); $err = ''; //////////////////////////////////////////////// // Выберем заказ из базы //////////////////////////////////////////////// $order = $simpla->orders->get_order(intval($order_id)); if (!empty($order)) { //////////////////////////////////////////////// // Выбираем из базы соответствующий метод оплаты //////////////////////////////////////////////// $method = $simpla->payment->get_payment_method(intval($order->payment_method_id)); if (!empty($method)) { $settings = unserialize($method->settings); $payment_currency = $simpla->money->get_currency(intval($method->currency_id)); // Проверяем контрольную подпись $mysignature = md5($settings['pay2pay_hidden'] . $xml_post . $settings['pay2pay_hidden']);
* * К этому скрипту обращается Liqpay в процессе оплаты * */ // Работаем в корневой директории chdir('../../'); require_once 'api/Simpla.php'; $simpla = new Simpla(); $xml = base64_decode($_POST['operation_xml']); $signature = $_POST['signature']; // Выбираем из xml нужные данные $order_id = intval(get_tag_val($xml, 'order_id')); $merchant_id = get_tag_val($xml, 'merchant_id'); $amount = get_tag_val($xml, 'amount'); $currency_code = get_tag_val($xml, 'currency'); $status = get_tag_val($xml, 'status'); if ($status !== 'success') { exit; } //////////////////////////////////////////////// // Выберем заказ из базы //////////////////////////////////////////////// $order = $simpla->orders->get_order(intval($order_id)); if (empty($order)) { die('Оплачиваемый заказ не найден'); } //////////////////////////////////////////////// // Выбираем из базы соответствующий метод оплаты //////////////////////////////////////////////// $method = $simpla->payment->get_payment_method(intval($order->payment_method_id)); if (empty($method)) {