2012-12-11 15:45:54
Так уж получилось, что мы решили у себя подключить прием платежей через QIWI. Сказано — сделано! Вот ...
+ развернуть текстсохранённая копия
Так уж получилось, что мы решили у себя подключить прием платежей через QIWI. Сказано — сделано! Вот только в процессе разработки пришлось столкнуться с убогостью примеров кода от разработчиков киви:
Код сервера, принимающего запрос от киви
<?php
/**
* На этот скрипт приходят уведомления от QIWI Кошелька.
* SoapServer парсит входящий SOAP-запрос, извлекает значения тегов login, password, txn, status,
* помещает их в объект класса Param и вызывает функцию updateBill объекта класса TestServer.
*
* Логика обработки магазином уведомления должна быть в updateBill.
*/
$s = new SoapServer('IShopClientWS.wsdl', array('classmap' => array('tns:updateBill' => 'Param', 'tns:updateBillResponse' => 'Response')));
// $s = new SoapServer('IShopClientWS.wsdl');
$s->setClass('TestServer');
$s->handle();
class Response {
public $updateBillResult;
}
class Param {
public $login;
public $password;
public $txn;
public $status;
}
class TestServer {
function updateBill($param) {
// Выводим все принятые параметры в качестве примера и для отладки
$f = fopen('c:\\phpdump.txt', 'w');
fwrite($f, $param->login);
fwrite($f, ', ');
fwrite($f, $param->password);
fwrite($f, ', ');
fwrite($f, $param->txn);
fwrite($f, ', ');
fwrite($f, $param->status);
fclose($f);
// проверить password, login
// В зависимости от статуса счета $param->status меняем статус заказа в магазине
if ($param->status == 60) {
// заказ оплачен
// найти заказ по номеру счета ($param->txn), пометить как оплаченный
} else if ($param->status > 100) {
// заказ не оплачен (отменен пользователем, недостаточно средств на балансе и т.п.)
// найти заказ по номеру счета ($param->txn), пометить как неоплаченный
} else if ($param->status >= 50 && $param->status < 60) {
// счет в процессе проведения
} else {
// неизвестный статус заказа
}
// формируем ответ на уведомление
// если все операции по обновлению статуса заказа в магазине прошли успешно, отвечаем кодом 0
// $temp->updateBillResult = 0
// если произошли временные ошибки (например, недоступность БД), отвечаем ненулевым кодом
// в этом случае QIWI Кошелёк будет периодически посылать повторные уведомления пока не получит код 0
// или не пройдет 24 часа
$temp = new Response();
$temp->updateBillResult = 0;
return $temp;
}
}
?>
Я конечно понимаю, пример исчерпывающий, но можно ведь было что-нибудь «поготовее» выложить? Поскольку система популярна, как и язык PHP — я решил сразу вынести библиотеку в публичный репозитарий, дабы упростить жизнь тем, кому только предстоит подключать эту систему. Так как в недавнем моем вопросе никто против поста не возражал — выкладываю ее тут.
Описание
Электронная платежная система Perfect Money (PM) начало деятельности в 2008 году, принадлежит компании Perfect Money Finance Corp., зарегистрированной в Панаме. Платежная система имеет финансовую лицензию класса A на проведение операций с финансами третьих лиц и драгоценными металлами. Perfect Money -это сервис, позволяющий пользователям производить моментальные платежи и финансовые махинации в Интернете и открывающий возможности для [...]
2012-11-25 11:42:57
... Интернете продвигается новая платежная система & ... к моменту ввода платежной системы. Система ...
+ развернуть текстсохранённая копия
Новая платежная система — Virta (PayBox)
Новая платежная система — Virta (PayBox), типа AlertPay и Solidtrustpay. Сейчас в Интернете продвигается новая платежная система — Virta (PayBox). Выгодная многим, одноразовая акция. Так как она только в развитии — регистрация бесплатная, и на счет сразу ложится сумма в $100. http://www.virtapay.com/r/natalia1pskov Каждый день, если Вы посещаете сайт, добавляется еще $20. Аналогичным образом запускались системы Yаndex-деньги и деньги Mail.ru, а чтобы войти туда сегодня — нужно платить. Это хороший шанс скопить приличную сумму к моменту ввода платежной системы. Система британская, работать можно с онлайн переводчиком. Регистрация простая. Инструкция по регистрации: 1. Нажмите на http://www.virtapay.com/r/natalia1pskov или скопируйте ее в адресную строку браузера. 2. После открытия страницы справа нажмите на «Click Here to JoinNow!» (выделено голубым цветом). 3. Придумайте и введите логин, эл. почту, пароль (2 раза), поставьте галочку слева от надписи «I agree to the Termsof Service», нажмите кнопку «Continue ". 4. На новой странице введите ещё раз почту и нажмите кнопку «Subscribe». 5. В открывшемся новом окне введите строку с картинки и нажмите кнопку «Subscribe». 6. Закройте окно, зайдите на указанный Вами е-мейл и активируйтесь по ссылке. Всё готово! Заходите на сайт и вводите свой логин и пароль — 100$ уже начислено! Войдите в «My Account», скопируйте свою реферальную ссылку в синем прямоугольнике (она аналогична моей ссылке из п.1). Замените в этом письме мою реферальную ссылку на Вашу, и разошлите это письмо всем Вашим знакомым! Запомните — регистрироваться можно только один раз! В противном случае Ваш аккаунт у д а л я т ! В свое время PayPal устраивал такую же раздачу денег перед открытием и впоследствии честно сдержал свои обещания. В конце-концов, Вы точно ничего не теряете! И это не сетевая компания!
2012-11-08 19:23:06
Современные технологии позволили использовать сенсорные экраны и клавиатуры не только на привычных ...
+ развернуть текстсохранённая копия
Современные технологии позволили использовать сенсорные экраны и клавиатуры не только на привычных нам мобильных устройствах. Яркий пример внедрения инновационных технологий показала нам компания MasterCard, анонсировавшая карту Display Card. Читать далее... Hi-News.ru - Новости высоких технологий. | Комментарии: нет Посмотреть все записи в категории Технологии.