imageМы ждали этого давно и теперь рады рассказать про первую интеграцию системы учета финансов и Яндекс.Денег.

Дзен-мани — онлайн-сервис, который позволяет вести учет наличных, карт, вкладов, кредитов и ПИФов, cоставлять финансовый план, планировать цели и получать рекомендации по их достижению.

Под катом скринкаст (как это работает в Дзен-мани) и наша PHP библиотека для интеграции с Яндекс.Деньгами.

Основа любой домашней бухгалтерии — это учет движения денег, и, к сожалению, это самая сложная ее часть. Ежедневная ручная фиксация доходов и расходов — дело непростое, и немногие выдерживают его дольше двух недель. Поэтому для любой домашней бухгалтерии жизненно необходимо иметь простой (и желательно автоматический) учет финансов.

Благодаря открытому API импорт операций из Яндекс.Денег полностью а��томатизирован. После подключения кошелька к Дзен-мани будет импортирована история платежей и пополнений, а в дальнейшем все платежи Яндекс.Деньгами будут сразу же учитываться и в Дзен-мани. Это первый и очень важный прецедент, который в дальнейшем может повлиять на открытие API банками и управляющими компаниями.

Как проходит подключение счета Я.Денег к Дзен-мани, мы записали в скринкасте:


Мы хотим поделиться не только хорошей новостью, но и нашими наработками. Чтобы тем, кто только собирается подключаться к API Яндекс.Денег, было немного проще. Для этого мы выкладываем набор php-классов для oAuth авторизации и импорта истории операций из Яндекс.Денег.

Пример использования:
<?php

class ZayacController {
    protected static $client_id = 'E60T8WY3PHSYG0S60T8SPTU-E57Y-76-57-WRUGHOTER7870E567-5UIPUYPOR6T80R77PO';

    public function yandexAction() {
        $scope = 'operation-history account-info';
        ZenYandexClient::setClientId(self::$client_id);
        ZenYandexClient::authorize($scope, 'http://' . $_SERVER['SERVER_NAME'] . '/zayac/callback/');
    }

    public function callbackAction() {
        ZenYandexClient::setClientId(self::$client_id);
        $access_token = ZenYandexClient::convertAuthToken();
        $zayac = new ZenYandexClient($access_token);
        $account = $zayac->getAccountInformation();

        $operations = array();
        while (false !== ($operation = $zayac->next())) {
            $operations[] = $operation;
        }

        var_dump($operations);
    }
}

?>


Мы и дальше собираемся поддерживать и развивать эту библиотеку, поэтому, кому интересно, добавляйте страницу проекта в закладки.

Страница библиотеки
Пример реализации (требуется авторизация в сервисе)
Архив с библиотекой
Документация