<?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, 'Помилка підтвердження платежу'); }
$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';
<?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); }
} } } 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, 'ѕерев≥рте параметри пошуку'); } } }
$currentPayer = $pbAdapter->getPayerByNum($presearchId); if (!$currentPayer) { $pbXml = pbXml::error(2); $isError = true; } else { $payerDebts = $pbAdapter->selectDebts($currentPayer['id'], $serviceCode); } } else { if (isset($data['Transfer']['Data']['Unit'])) { $billIdentifier = $data['Transfer']['Data']['Unit']['attr']['value']; $currentPayer = $pbAdapter->getPayerByNum($billIdentifier); if (!$currentPayer) { $currentPayer = $pbAdapter->getPayerByResource($billIdentifier); } if (!$currentPayer) { $pbXml = pbXml::error(2); $isError = true; } else { $pbXml .= '<Message>Данні про заборгованість можна отримати в Касі!</Message>'; // $pbXml .= '<DopData>'; // $pbXml .= '<Dop name="name" value="значение"/>'; // $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']);
<?php $ref = pbLib::getCheckRef($data); $res = $pbAdapter->cancelPayment($ref); if ($res) { $pbXml = pbXml::data('', $schema, 'Gateway', $ref); } else { $pbXml = pbXml::error(99, 'Помилка скасування платежу'); }