Описание MerchantAPI | RDoc | Список методов
moneta-api
МОНЕТА.РУ (MONETA.MerchantAPI.v2).
Установка
Добавьте эти строки в Gemfile вашего приложения:
gem 'moneta-api'
И выполните:
$ bundle
Или установите напрямую:
$ gem install moneta-api
Использование
Базовый пример
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'
Полный список методов, с помощью которых вы можете обратиться к MONETA.MerchantAPI.v2
Настройки
Logger
Moneta::Api::Service.new('username', 'password', {
logger: Rails.logger,
log_level: :info,
log: true,
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) следует инициализировать сервис со специальным флагом
Moneta::Api::Service.new('username', 'password', { demo_mode: true })
Contributing
- Стандартная схема с pull-request workflow
- Для локального запуска тестов необходимо создать конфигурационный файл со своими demo доступами
bash echo "username: 'username'\npassword: 'password'" > spec/support/moneta.yml