Example #1
0
 public function updateBill(S\UpdateBill $param)
 {
     // Проверки подписи
     if ($param->login != $this->login) {
         throw new E\LoginException('Wrong login: '******'utf-8', 'windows-1251', $param->txn) . strtoupper(md5(iconv('utf-8', 'windows-1251', $this->password)))));
     if ($param->password != $crypt) {
         throw new E\PasswordException('Wrong sign. Expected: ' . $crypt . ', got: ' . $param->password);
     }
     // Обновляем, как рекомендует QIWI, статус
     // Это нужно для дополнительной защиты
     $param = $this->client->checkBill($param->txn);
     // Вызываем обработчик, передав расшифрованный статус
     $callback = $this->callback;
     $result = $callback($param);
     // Выдаем ответ QIWI
     $ret = new S\UpdateBillResponse();
     $ret->updateBillResult = $result;
     return $ret;
 }