Example #1
0
<?php

$ref = pbLib::getCheckRef($data);
$payId = pbLib::getPayId($data);
if ($ref && $payId && $pbAdapter->confirmPayment($ref, $payId)) {
    $pbXml = pbXml::data('', $schema, 'Gateway', $ref);
}
if (!$pbXml) {
    $pbXml = pbXml::error(99, 'Помилка підтвердження платежу');
}
Example #2
0
    }
}
if (isset($_GET['pay'])) {
    $params = array();
    $params['num'] = $_GET['num'];
    $params['service_code'] = $_GET['service_code'];
    if (!isset($_GET['sum']) || !is_numeric($_GET['sum']) || $_GET['sum'] < 0) {
        $errorMessage = 'Введіть значення грошової суми';
    } else {
        $params['sum'] = $_GET['sum'];
        redirect(url('pay', $params));
    }
}
if (isset($response['content'])) {
    $data = pbXml::xml2array($response['content']);
    if (pbXml::isError($data)) {
        $errorMessage = $data['Transfer']['Data']['Message']['value'];
    } else {
        $rows = array();
        if (array_key_exists('0', $data['Transfer']['Data']['ServiceGroup']['DebtService'])) {
            $rows = $data['Transfer']['Data']['ServiceGroup']['DebtService'];
        } else {
            $rows[] = $data['Transfer']['Data']['ServiceGroup']['DebtService'];
        }
        $payerInfo = array();
        $payerInfo['num'] = $data['Transfer']['Data']['PayerInfo']['attr']['billIdentifier'];
        $payerInfo['name'] = $data['Transfer']['Data']['PayerInfo']['Fio']['value'];
        $payerInfo['address'] = $data['Transfer']['Data']['PayerInfo']['Address']['value'];
        $payerInfo['phone'] = '';
        if (isset($data['Transfer']['Data']['PayerInfo']['Phone']['value'])) {
            $payerInfo['phone'] = $data['Transfer']['Data']['PayerInfo']['Phone']['value'];
Example #3
0
<?php

$totalSum = $data['Transfer']['Data']['TotalSum']['value'];
if (is_numeric($totalSum)) {
    $payetNum = $data['Transfer']['Data']['PayerInfo']['attr']['ls'];
    $ref = $pbAdapter->insertPayment($payetNum, $totalSum);
    if ($ref) {
        //			$pbXml .= '<Unit save="true" value="value1" type="S" name="name1"/>';
        //			$pbXml .= '<Unit save="true" value="value2" type="S" name="name2"/>';
        //			$pbXml .= '<Unit save="true" value="value3" type="S" name="name3"/>';
        $pbXml = pbXml::data($pbXml, $schema, 'Gateway', $ref);
    } else {
        $pbXml = pbXml::error(99, 'Помилка внесення платежу');
    }
} else {
    $pbXml = pbXml::error(3);
}
Example #4
0
$data = pbXml::xml2array($stdin);
$action = $data['Transfer']['attr']['action'];
$xmlheader = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
$xmlheader .= '<Transfer xmlns="' . $apiUrl . '" interface="Debt" action="' . $action . '">';
$xmlbody = '';
if (!$stdin) {
    $xmlbody .= pbXml::error(99, 'Не передано даних для обробки');
} else {
    if (!$action) {
        $xmlbody .= pbXml::error(99, 'Не задано дії для обробки');
    } else {
        $pbAdapter = new pbDemo();
        $isFailed = false;
        if (SAFE_MODE) {
            if (!in_array($_SERVER['REMOTE_ADDR'], $allowedIps)) {
                $xmlbody .= pbXml::error(5);
                $isFailed = true;
            }
        }
        $pbActionsPath = 'actions';
        if (!$isFailed) {
            $pbXml = '';
            switch ($action) {
                case 'Presearch':
                    include $pbActionsPath . '/presearch.php';
                    break;
                case 'Search':
                    include $pbActionsPath . '/search.php';
                    break;
                case 'Check':
                    include $pbActionsPath . '/check.php';
Example #5
0
        }
    }
}
if ($billPayers && sizeof($billPayers) > 5) {
    $pbXml = pbXml::error(99, '«найдено б≥льше 5 запис≥в!
			”точн≥ть параметри пошуку');
} else {
    if ($billPayers) {
        $pbXml .= '<Headers>';
        $pbXml .= '<Header name="fio"/>';
        $pbXml .= '<Header name="ls"/>';
        $pbXml .= '</Headers>';
        $pbXml .= '<Columns>';
        $pbXml .= '<Column>';
        $txml = '';
        foreach ($billPayers as $payer) {
            $pbXml .= '<Element>' . $payer['name'] . '</Element>';
            $txml .= '<Element>' . $payer['num'] . '</Element>';
        }
        $pbXml .= '</Column>';
        $pbXml .= '<Column>';
        $pbXml .= $txml;
        $pbXml .= '</Column>';
        $pbXml .= '</Columns>';
        $pbXml = pbXml::data($pbXml, $schema, 'PayersTable');
    } else {
        if (!$pbXml) {
            $pbXml = pbXml::error(2, 'ѕерев≥рте параметри пошуку');
        }
    }
}
Example #6
0
            $_SESSION['xml_answer'][1] = $response['content'];
            if (pbXml::isError($data)) {
                $errorMessage = $data['Transfer']['Data']['Message']['value'];
            } else {
                $payMessage = 'Платіж прийнято';
                $payStatus = 1;
            }
        }
    }
} else {
    if (isset($_GET['cancel'])) {
        $xml = pbXml::cancel($_GET, $payer, $company, $debt);
        $answer = httpRequester::load($serverUrl, $xml);
        $_SESSION['xml_query'][0] = $xml;
        $response = httpRequester::parseResponse($answer);
        $data = pbXml::xml2array($response['content']);
        $_SESSION['xml_answer'][0] = $response['content'];
        $payMessage = 'Платіж сакасовано';
        $payStatus = 2;
        unset($_SESSION['xml_query'][1]);
        unset($_SESSION['xml_answer'][1]);
    } else {
        if (isset($_GET['back'])) {
            session_unset();
            redirect(url('main'));
        }
    }
}
$smarty->assign('pay', $pay);
$smarty->assign('error_msg', $errorMessage);
$smarty->assign('reference', $reference);
Example #7
0
$path = 'actions/' . $pageName;
if (isset($_GET['server_url'])) {
    $_SESSION['server_url'] = $_GET['server_url'];
}
$serverUrl = isset($_SESSION['server_url']) ? $_SESSION['server_url'] : 'https://test.tcworld.net/pay_pb.php?provider_id=4207';
// $demoUrl;
$smarty->assign('server_url', $serverUrl);
ob_start();
include $path;
if (!isset($_SESSION['xml_query'])) {
    $_SESSION['xml_query'] = array();
}
if (!isset($_SESSION['xml_answer'])) {
    $_SESSION['xml_answer'] = array();
}
$xmlQueries = array();
foreach ($_SESSION['xml_query'] as $xmlQuery) {
    $xmlQueries[] = pbXml::xml2html($xmlQuery);
}
$xmlAnswers = array();
foreach ($_SESSION['xml_answer'] as $xmlAnswer) {
    $xmlAnswers[] = pbXml::xml2html($xmlAnswer);
}
$smarty->assign('xml_query', $xmlQueries);
$smarty->assign('xml_answer', $xmlAnswers);
$smarty->display('view/top.tpl');
$smarty->display('view/' . $page . '.tpl');
$smarty->display('view/bottom.tpl');
$s = ob_get_contents();
ob_end_clean();
echo $s;
Example #8
0
            //			$pbXml .= '</DopData>';
            $payerDebts = $pbAdapter->selectDebts($currentPayer['id'], $serviceCode);
        }
    }
}
if (!$isError) {
    $pbXml .= pbXml::payerInfo($currentPayer, $currentPayer['num']);
    $pbXml .= '<ServiceGroup>';
    foreach ($payerDebts as $debt) {
        $currentCompany = $pbAdapter->getCompanyByService($debt['service_id']);
        $tariff = '';
        if (isset($debt['service_price']) && $debt['service_price'] != '') {
            $tariff = ' metersGlobalTarif="' . $debt['service_price'] . '"';
        }
        $pbXml .= '<DebtService' . $tariff . ' serviceCode="' . $debt['service_id'] . '">';
        $pbXml .= '<DopData>';
        $pbXml .= '<Dop name="login" value="' . $currentPayer['user_login'] . '"/>';
        $pbXml .= '</DopData>';
        $pbXml .= pbXml::companyInfo($currentCompany);
        $pbXml .= pbXml::debtInfo($debt);
        //			$pbXml .= '<MeterData>';
        //			$pbXml .= '<Meter previosValue="213" tarif="0.01" delta="2341234" name="Телекомунікаційні послуги"/>';
        //			$pbXml .= '</MeterData>';
        $pbXml .= '<ServiceName>' . $debt['service_name'] . '</ServiceName>';
        $pbXml .= '<Destination>Оплата за послугу "' . $debt['service_name'] . '"</Destination>';
        $pbXml .= pbXml::payerInfo($currentPayer, $currentPayer['num'], $currentPayer['num']);
        $pbXml .= '</DebtService>';
    }
    $pbXml .= '</ServiceGroup>';
    $pbXml = pbXml::data($pbXml, $schema, 'DebtPack');
}
Example #9
0
<?php

$ref = pbLib::getCheckRef($data);
$res = $pbAdapter->cancelPayment($ref);
if ($res) {
    $pbXml = pbXml::data('', $schema, 'Gateway', $ref);
} else {
    $pbXml = pbXml::error(99, 'Помилка скасування платежу');
}