Example #1
0
function tzs_check_order_exist_p24()
{
    global $wpdb;
    $errors = array();
    $new_order = '';
    $user_id = get_current_user_id();
    $order = get_param('order');
    $pay_count = get_param('pay_count');
    $order_id = get_param('order_id');
    $order_number = get_param('order_number');
    $PrivatAPI = new privat24api(get_option('t3s_setting_merchant_id'), get_option('t3s_setting_merchant_pass'));
    $order_status = $PrivatAPI->CheckOrPaymentOrder($order, 1);
    $order_error = $PrivatAPI->getErrorMessage();
    $order_state = $PrivatAPI->getPaymentState();
    if ($order_error !== "no error") {
        array_push($errors, $order_error);
    }
    // Если статус = incomplete - пользователь не оплатил документ и с ним уже ничего не сделаешь
    if ($order_status == 0) {
        array_push($errors, "Предыдущая попытка оплаты счета не увенчалась успехом.");
        // Если не превышено кол-во попыток оплаты - увеличиваем счетчик попыток и изменяем номер счета
        if ($pay_count < get_option('t3s_setting_pay_count')) {
            $sql = $wpdb->prepare("UPDATE " . TZS_ORDERS_TABLE . " SET " . " pay_count=pay_count+1" . " WHERE id=%d AND user_id=%d;", intval($order_id), $user_id);
            if (false === $wpdb->query($sql)) {
                array_push($errors, "Не удалось увеличить количество попыток оплаты счета. Свяжитесь, пожалуйста, с администрацией сайта");
                array_push($errors, $wpdb->last_error);
            } else {
                array_push($errors, "Увеличено количество попыток оплаты счета.");
                $new_order = $order_number . '.' . ($pay_count + 1);
            }
        } else {
            array_push($errors, "Исчерпано количество попыток оплаты счета.");
        }
    } elseif ($order_status == 1) {
    } elseif ($order_status == 2) {
        array_push($errors, "Счет уже оплачен.");
    } elseif ($order_status == 3) {
        array_push($errors, "Документ на оплату счета забракован системой Приват-24.");
    } elseif ($order_status == 4) {
        array_push($errors, "Обнаружен тестовый документ на оплату счета.");
    } elseif ($order_status == 5) {
        array_push($errors, "Документ на оплату счета находится в очереди системы Приват-24.");
    }
    $output = array('order_number' => $order, 'order_status' => $order_status, 'order_state' => $order_state, 'order_new_number' => $new_order, 'output_error' => implode('<br>', $errors));
    return $output;
}
Example #2
0
<?php 
include "privat24api.php";
$obj = new privat24api(112273, "7aG38HK0tavfqft1i413No1kTRdX9WXh");
echo '<pre>';
print "GetAccountExtractPhys: " . "<br>";
$a1 = $obj->GetAccountExtractPhys("01.09.2015", "11.10.2015", "4731185603763589", 1);
print_r($a1);
print " Ошибка: " . $obj->getErrorMessage() . "<br>";
//$a3 = preg_grep("/ ([A-Z]{2}).(\d*).(\d*).(\d*)$/", $a1[1][$i]['TERMINAL'], $a2);
for ($i = 0; $i < count($a1[1]); $i++) {
    $a3 = preg_match("/ (\\d*)\$/", $a1[1][$i]['TERMINAL'], $a2);
    if ($a2[0] != '') {
        echo 'i=' . $i . ' a3=' . $a3 . '<br>';
        print_r($a2);
    }
}
echo '</pre>';