Example #1
0
{
    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']);
Example #2
0
 *
 * К этому скрипту обращается 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)) {