Example #1
0
        $server->handle();
    } else {
        die('Access denied');
    }
} else {
    include Registry::get('config.dir.payments') . 'qiwi_files/IShopServerWSService.php';
    define('TRACE', 0);
    $_location = !empty($processor_data['processor_params']['location']) ? $processor_data['processor_params']['location'] : 'http://ishop.qiwi.ru/services/ishop';
    $dame_format = $_location == "http://ishop.qiwi.ru/services/ishop" ? 'd.m.Y H:i:s' : 'Y.m.d H:i:s';
    $service = new IShopServerWSService(Registry::get('config.dir.payments') . 'qiwi_files/IShopServerWS.wsdl', array('location' => $_location, 'trace' => TRACE));
    include Registry::get('config.dir.payments') . 'qiwi_files/qiwi_func.php';
    $_order_id = $order_info['repaid'] ? $order_info['order_id'] . '_' . $order_info['repaid'] : $order_info['order_id'];
    $_order_total = fn_format_rate_value($order_info['total'], 'F', 2, '.', '', '');
    $_lifetime = date($dame_format, time() + $processor_data['processor_params']['lifetime'] * 60);
    $data = array('login' => $processor_data['processor_params']['login'], 'password' => $processor_data['processor_params']['passwd'], 'phone' => fn_qiwi_convert_phone($order_info['payment_info']['phone']), 'amount' => $_order_total, 'txn_id' => $_order_id, 'comment' => !empty($order_info['notice']) ? $order_info['notice'] : '', 'lifetime' => $_lifetime, 'alarm' => $processor_data['processor_params']['alarm'], 'create' => 1);
    $result = createBill($data, $service);
    $status = 'qiwi_result_status_' . $result;
    if ($result == 0) {
        $pp_response['order_status'] = 'O';
    } else {
        $pp_response['order_status'] = 'F';
    }
    $pp_response['reason_text'] = __($status);
    fn_finish_payment($order_id, $pp_response);
    $idata = array('order_id' => $_order_id, 'type' => 'S', 'data' => TIME);
    db_query("REPLACE INTO ?:order_data ?e", $idata);
    fn_order_placement_routines('route', $order_id, false);
}
function fn_qiwi_convert_phone($phone)
{
    $phone = str_replace(array('+', ' ', '(', ')', '-'), '', $phone);
Example #2
0
<?php

require 'dbadapter.php';
include_once 'header.php';
if (createBill("bill", 300, 15, 1)) {
    echo "<p>Bill created</p>";
}
if (createDate("trash", 21, 1)) {
    echo "<p>Date created</p>";
}
if (createPurchase("Dish Soap", 21, "2014-10-06", 1, 1)) {
    echo "<p>Purchase created</p>";
}
if (createRoom(50, 1, 1)) {
    echo "<p>Room created</p>";
}
include_once 'footer.php';
Example #3
0
    $params = new createBill();
    $params->login = LOGIN;
    // логин
    $params->password = PASSWORD;
    // пароль
    $params->user = $phone;
    // пользователь, которому выставляется счет
    $params->amount = '' . $amount;
    // сумма
    $params->comment = $comment;
    // комментарий
    $params->txn = $txn_id;
    // номер заказа
    $params->lifetime = $lifetime;
    // время жизни (если пусто, используется по умолчанию 30 дней)
    // уведомлять пользователя о выставленном счете (0 - нет, 1 - послать СМС, 2 - сделать звонок)
    // уведомления платные для магазина, доступны только магазинам, зарегистрированным по схеме "Именной кошелёк"
    $params->alarm = $alarm;
    // выставлять счет незарегистрированному пользователю
    // false - возвращать ошибку в случае, если пользователь не зарегистрирован
    // true - выставлять счет всегда
    $params->create = $create;
    $res = $service->createBill($params);
    $rc = $res->createBillResult;
    return $rc;
}
// пример работы
$rc = createBill('8888888888', '0.01', 'TEST-1', 'Test bill');
// проверить код $rc, выдать ошибку/рекомендацию пользователю в зависимости от кода
// вывод для отладки:
print $rc;