<?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, 'Помилка підтвердження платежу'); }
} } 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'];
<?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); }
$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';
} } } 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, 'ѕерев≥рте параметри пошуку'); } } }
$_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);
$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;
// $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'); }
<?php $ref = pbLib::getCheckRef($data); $res = $pbAdapter->cancelPayment($ref); if ($res) { $pbXml = pbXml::data('', $schema, 'Gateway', $ref); } else { $pbXml = pbXml::error(99, 'Помилка скасування платежу'); }