README.md in moneta-api-1.0.1 vs README.md in moneta-api-1.0.2

- old
+ new

@@ -1,31 +1,104 @@ -# Moneta::Api +[![Gem Version](https://badge.fury.io/rb/moneta-api.svg)](http://badge.fury.io/rb/moneta-api) +[![Build Status](https://travis-ci.org/ssnikolay/moneta-api.svg?branch=master)](https://travis-ci.org/ssnikolay/moneta-api) +[![Code Climate](https://codeclimate.com/github/ssnikolay/moneta-api/badges/gpa.svg)](https://codeclimate.com/github/ssnikolay/moneta-api) +[![Test Coverage](https://codeclimate.com/github/ssnikolay/moneta-api/badges/coverage.svg)](https://codeclimate.com/github/ssnikolay/moneta-api) +[![Inline docs](http://inch-ci.org/github/ssnikolay/moneta-api.svg?branch=master)](http://inch-ci.org/github/ssnikolay/moneta-api) -TODO: Write a gem description +[Описание MerchantAPI](https://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf) | [RDoc](http://www.rubydoc.info/gems/moneta-api) | +[Список методов](http://www.rubydoc.info/gems/moneta-api/Moneta/Api/ServiceMethods) -## Installation +# moneta-api -Add this line to your application's Gemfile: +МОНЕТА.РУ (MONETA.MerchantAPI.v2). +## Установка + +Добавьте эти строки в Gemfile вашего приложения: + ```ruby gem 'moneta-api' ``` -And then execute: +И выполните: $ bundle -Or install it yourself as: +Или установите напрямую: $ gem install moneta-api -## Usage +## Использование -TODO: Write usage instructions here +#### Базовый пример +```ruby + require 'moneta/api' + + # получить данные счета + service = Moneta::Api::Service.new('username', 'password', { demo_mode: true }) + response = service.find_account_by_id(10999) + puts response.class.name + # => 'Moneta::Api::Responses::FindAccountByIdResponse' + puts "Баланс до пополнения: #{ response.account.balance} #{ response.account.currency }" + # => 'Баланс до пополнения: 100 RUB' + + # перевод + transfer_request = Moneta::Api::Requests::TransferRequest.new.tap do |request| + request.payee = 28988504 + request.payer = 10999 + request.amount = 10 + request.is_payer_amount = false + request.payment_password = '123456' + end + response = service.transfer(transfer_request) + + # данные транзакции + puts response.class.name + # => 'Moneta::Api::Responses::TransferResponse' + puts response.status + # => 'SUCCEED' + + # проверить данные счета + response = service.find_account_by_id(10999) + puts "Баланс после пополнения: #{ response.account.balance} #{ response.account.currency }" + # => 'Баланс после пополнения: 110 RUB' +``` + +**Полный [список методов](http://www.rubydoc.info/gems/moneta-api/Moneta/Api/ServiceMethods), с помощью которых вы можете обратиться к MONETA.MerchantAPI.v2** + +### Настройки + +#### Logger + +```ruby + Moneta::Api::Service.new('username', 'password', { + logger: Rails.logger, + log_level: :info, + filters: [:password] + }) +``` + +Доступны следующие настройки: + + Название | Описание +---------------------------|:----------------------------------------------------------- +`:logger` | **moneta-api** по умолчанию пишет логи в `$STDOUT` с помощью ruby Logger'а. Можно переопределить на любой другой Logger. (прим: `Rails.logger`) +`:log_level` | Используется для фильтрации вывода в log по приоритету. Допускаются следующие значения - `:info`, `:debug`, `:warn`, `:error`, `:fatal`. +`:log` | Определяет, нужно ли писать в log. (`true` или `false`) +`:filters` | Конфиденциальная информация, которую не следует писать в log. +`:pretty_print_xml` | Определяет, нужно ли выводить в log XML запроса\ответа. (`true` или `false`) + +#### Demo режим +Для использования тестового сервера (http://demo.moneta.ru) следует инициализировать сервис со специальным флагом + +```ruby + Moneta::Api::Service.new('username', 'password', { demo_mode: true }) +``` + ## Contributing -1. Fork it ( https://github.com/[my-github-username]/moneta-api/fork ) -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create a new Pull Request +1. Стандартная схема с pull-request workflow +2. Для локального запуска тестов необходимо создать конфигурационный файл со своими demo доступами +```bash + echo "username: 'username'\npassword: 'password'" > spec/support/moneta.yml +```