moneta-api 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/.rspec +3 -0
- data/.yardopts +6 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/lib/moneta/api/data_mapper.rb +91 -0
- data/lib/moneta/api/requests/authorise_transaction_batch_request.rb +9 -0
- data/lib/moneta/api/requests/authorise_transaction_request.rb +15 -0
- data/lib/moneta/api/requests/cancel_transaction_batch_request.rb +10 -0
- data/lib/moneta/api/requests/cancel_transaction_request.rb +14 -0
- data/lib/moneta/api/requests/confirm_transaction_batch_request.rb +10 -0
- data/lib/moneta/api/requests/confirm_transaction_request.rb +9 -0
- data/lib/moneta/api/requests/create_account_request.rb +65 -0
- data/lib/moneta/api/requests/find_accounts_list_request.rb +38 -0
- data/lib/moneta/api/requests/find_last_operations_list_request.rb +24 -0
- data/lib/moneta/api/requests/find_operations_list_request.rb +26 -0
- data/lib/moneta/api/requests/forecast_transaction_request.rb +9 -0
- data/lib/moneta/api/requests/get_account_payment_password_challenge_request.rb +16 -0
- data/lib/moneta/api/requests/invoice_batch_request.rb +10 -0
- data/lib/moneta/api/requests/invoice_request.rb +10 -0
- data/lib/moneta/api/requests/payment_request.rb +9 -0
- data/lib/moneta/api/requests/refund_request.rb +42 -0
- data/lib/moneta/api/requests/transfer_request.rb +9 -0
- data/lib/moneta/api/requests/verify_payment_request.rb +10 -0
- data/lib/moneta/api/requests/verify_transaction_request.rb +51 -0
- data/lib/moneta/api/requests/verify_transfer_request.rb +10 -0
- data/lib/moneta/api/response_factory.rb +22 -0
- data/lib/moneta/api/responses/authorise_transaction_batch_response.rb +17 -0
- data/lib/moneta/api/responses/authorise_transaction_response.rb +10 -0
- data/lib/moneta/api/responses/cancel_transaction_batch_response.rb +17 -0
- data/lib/moneta/api/responses/cancel_transaction_response.rb +10 -0
- data/lib/moneta/api/responses/confirm_transaction_batch_response.rb +17 -0
- data/lib/moneta/api/responses/confirm_transaction_response.rb +10 -0
- data/lib/moneta/api/responses/create_account_response.rb +19 -0
- data/lib/moneta/api/responses/find_account_by_alias_response.rb +16 -0
- data/lib/moneta/api/responses/find_account_by_id_response.rb +16 -0
- data/lib/moneta/api/responses/find_accounts_list_response.rb +15 -0
- data/lib/moneta/api/responses/find_last_operations_list_response.rb +12 -0
- data/lib/moneta/api/responses/find_operations_list_response.rb +12 -0
- data/lib/moneta/api/responses/forecast_transaction_response.rb +16 -0
- data/lib/moneta/api/responses/get_account_payment_password_challenge_response.rb +16 -0
- data/lib/moneta/api/responses/get_operation_details_by_id_response.rb +15 -0
- data/lib/moneta/api/responses/invoice_batch_response.rb +17 -0
- data/lib/moneta/api/responses/invoice_response.rb +10 -0
- data/lib/moneta/api/responses/payment_response.rb +10 -0
- data/lib/moneta/api/responses/refund_response.rb +10 -0
- data/lib/moneta/api/responses/transfer_response.rb +9 -0
- data/lib/moneta/api/responses/verify_payment_response.rb +10 -0
- data/lib/moneta/api/responses/verify_transaction_response.rb +10 -0
- data/lib/moneta/api/responses/verify_transfer_response.rb +10 -0
- data/lib/moneta/api/service.rb +18 -0
- data/lib/moneta/api/service_methods.rb +150 -0
- data/lib/moneta/api/types/account_access_info.rb +24 -0
- data/lib/moneta/api/types/account_info.rb +72 -0
- data/lib/moneta/api/types/authorise_transaction_batch_request_type.rb +47 -0
- data/lib/moneta/api/types/authorise_transaction_request_type.rb +19 -0
- data/lib/moneta/api/types/cancel_transaction_batch_request_type.rb +42 -0
- data/lib/moneta/api/types/cancel_transaction_batch_response_type.rb +29 -0
- data/lib/moneta/api/types/cancel_transaction_request_type.rb +24 -0
- data/lib/moneta/api/types/cancel_transaction_response_type.rb +20 -0
- data/lib/moneta/api/types/confirm_transaction_batch_request_type.rb +47 -0
- data/lib/moneta/api/types/confirm_transaction_request_type.rb +53 -0
- data/lib/moneta/api/types/entity.rb +15 -0
- data/lib/moneta/api/types/find_operations_list_request_filter.rb +102 -0
- data/lib/moneta/api/types/forecast_transaction_response_type.rb +52 -0
- data/lib/moneta/api/types/invoice_batch_request_type.rb +46 -0
- data/lib/moneta/api/types/invoice_request_type.rb +49 -0
- data/lib/moneta/api/types/key_value_attribute.rb +18 -0
- data/lib/moneta/api/types/operation_info.rb +88 -0
- data/lib/moneta/api/types/operation_info_batch_response_type.rb +27 -0
- data/lib/moneta/api/types/operation_info_list.rb +41 -0
- data/lib/moneta/api/types/pager.rb +22 -0
- data/lib/moneta/api/types/payment_request_type.rb +58 -0
- data/lib/moneta/api/types/transaction_batch_response_type.rb +29 -0
- data/lib/moneta/api/types/transaction_request_type.rb +55 -0
- data/lib/moneta/api/types/transaction_response_type.rb +28 -0
- data/lib/moneta/api/types/verify_transaction_response_type.rb +18 -0
- data/lib/moneta/api/types/verify_transfer_response_type.rb +32 -0
- data/lib/moneta/api/version.rb +5 -0
- data/lib/moneta/api.rb +23 -0
- data/moneta-api.gemspec +31 -0
- data/spec/lib/moneta/api/requests/authorise_transaction_batch_request_spec.rb +71 -0
- data/spec/lib/moneta/api/requests/authorise_transaction_request_spec.rb +22 -0
- data/spec/lib/moneta/api/requests/create_account_request_spec.rb +16 -0
- data/spec/lib/moneta/api/requests/find_operations_list_request_spec.rb +23 -0
- data/spec/lib/moneta/api/requests/forecast_transaction_request_spec.rb +19 -0
- data/spec/lib/moneta/api/requests/get_account_payment_password_challenge_request_spec.rb +15 -0
- data/spec/lib/moneta/api/requests/payment_request_spec.rb +22 -0
- data/spec/lib/moneta/api/requests/transfer_request_spec.rb +19 -0
- data/spec/lib/moneta/api/response/find_account_by_id_spec.rb +10 -0
- data/spec/lib/moneta/api/service_spec.rb +9 -0
- data/spec/lib/moneta/api/types/operation_info_spec.rb +23 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/support/matchers.rb +7 -0
- data/spec/support/wsdl +7743 -0
- data/spec/vcr/moneta_api_requests_authorisetransactionbatchrequest/use_when_one_operation_transaction_transaction_.yml +10790 -0
- data/spec/vcr/moneta_api_requests_authorisetransactionbatchrequest/use_when_two_operations_transaction_first_transaction_.yml +10790 -0
- data/spec/vcr/moneta_api_requests_authorisetransactionrequest_authorise_transaction/should_success.yml +10790 -0
- data/spec/vcr/moneta_api_requests_createaccountrequest/create_account_account_id_.yml +10789 -0
- data/spec/vcr/moneta_api_requests_findoperationslistrequest/find_operations_list_account_id_.yml +10794 -0
- data/spec/vcr/moneta_api_requests_forecasttransactionrequest/forecast_transaction_payer_currency_.yml +10802 -0
- data/spec/vcr/moneta_api_requests_getaccountpaymentpasswordchallengerequest/get_account_payment_password_challenge_.yml +10790 -0
- data/spec/vcr/moneta_api_requests_paymentrequest/payment_should_success.yml +10789 -0
- data/spec/vcr/moneta_api_requests_transferrequest/transfer_status_.yml +10789 -0
- data/spec/vcr/moneta_api_service_find_account_by_id/account_id_.yml +10789 -0
- metadata +302 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос регистрации операций в пакетном режиме.
|
5
|
+
# Transactions authorisation response in batch processing mode.
|
6
|
+
|
7
|
+
class AuthoriseTransactionBatchResponse
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Array[Moneta::Api::Types::OperationInfoBatchResponseType]] Детали проведенных операций, либо описание ошибок, если операция не проведена.
|
11
|
+
# Порядок соответствует набору операций, переданных в AuthoriseTransactionBatchRequest.
|
12
|
+
# / Either transaction details or error description in order of appearance in corresponding request.
|
13
|
+
property :transaction, Moneta::Api::Types::OperationInfoBatchResponseType
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос CancelTransactionBatchRequest.
|
5
|
+
# Transactions cancelation response in batch processing mode.
|
6
|
+
|
7
|
+
class CancelTransactionBatchResponse
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Array[Moneta::Api::Types::CancelTransactionBatchResponseType]] Детали проведенных операций, либо описание ошибок, если операция не проведена.
|
11
|
+
# Порядок соответствует набору операций, переданных в CancelTransactionBatchRequest.
|
12
|
+
# / Either transaction details or error description in order of appearance in corresponding request.
|
13
|
+
property :transaction, Types::CancelTransactionBatchResponseType
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос завершения операций в пакетном режиме.
|
5
|
+
# Transactions confirmation response in batch processing mode.
|
6
|
+
|
7
|
+
class ConfirmTransactionBatchResponse
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Moneta::Api::Types::OperationInfoBatchResponseType] Детали проведенных операций, либо описание ошибок, если операция не проведена.
|
11
|
+
# Порядок соответствует набору операций, переданных в ConfirmTransactionBatchRequest.
|
12
|
+
# / Either transaction details or error description in order of appearance in corresponding request.
|
13
|
+
property :transaction, Types::OperationInfoBatchResponseType
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
class CreateAccountResponse
|
5
|
+
include Moneta::Api::DataMapper
|
6
|
+
|
7
|
+
# @return [String] Номер счета в системе МОНЕТА.РУ
|
8
|
+
# Account number
|
9
|
+
property :account_id
|
10
|
+
|
11
|
+
def fill(response)
|
12
|
+
@account_id = response
|
13
|
+
|
14
|
+
self
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ, который приходит на запрос FindAccountByAliasRequest.
|
5
|
+
# В ответе содержится информация по счету.
|
6
|
+
# Account searching by account alias response. Response contains Account information.
|
7
|
+
|
8
|
+
class FindAccountByAliasResponse
|
9
|
+
include Moneta::Api::DataMapper
|
10
|
+
|
11
|
+
# @return [Moneta::Api::Types::AccountInfo]
|
12
|
+
property :account, Moneta::Api::Types::AccountInfo
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ, который приходит на запрос FindAccountByIdRequest.
|
5
|
+
# В ответе содержится информация по счету.
|
6
|
+
# Account searching by account number response. Response contains Account information.
|
7
|
+
|
8
|
+
class FindAccountByIdResponse
|
9
|
+
include Moneta::Api::DataMapper
|
10
|
+
|
11
|
+
# @return [Moneta::Api::Types::AccountInfo]
|
12
|
+
property :account, Moneta::Api::Types::AccountInfo
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
class FindAccountsListResponse
|
5
|
+
# Ответ, который содержит список счетов.
|
6
|
+
# Accounts searching response containing the list of accounts.
|
7
|
+
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return[Array[Moneta::Api::Types::AccountInfo]]
|
11
|
+
property :account, Moneta::Api::Types::AccountInfo
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос FindLastOperationsListRequest.
|
5
|
+
# В результате возвращается список последних операций.
|
6
|
+
# Transaction searching response.
|
7
|
+
# Result contains last transactions list.
|
8
|
+
|
9
|
+
class FindLastOperationsListResponse < Moneta::Api::Types::OperationInfoList; end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос FindOperationsListRequest.
|
5
|
+
# В результате возвращается список операций, разбитый по страницам.
|
6
|
+
# Transaction searching response.
|
7
|
+
# Result contains paged transactions list.
|
8
|
+
|
9
|
+
class FindOperationsListResponse < Types::OperationInfoList; end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос предварительного расчета сумм и комиссий.
|
5
|
+
# Может использоваться для информирования пользователя о приблизительной сумме и комиссии операции.
|
6
|
+
# Фактические значения могут отличаться, если к моменту проведения операции
|
7
|
+
# доступны новые правила тарификации или новые курсы обмена валют.
|
8
|
+
# Response for preliminary calculation request.
|
9
|
+
# May be used for informing users with approximate amount and fee of transaction.
|
10
|
+
# Actual values may differ if newer financial rules and currency exchange rates
|
11
|
+
# are available at the moment of transaction processing.
|
12
|
+
|
13
|
+
class ForecastTransactionResponse < Types::ForecastTransactionResponseType; end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ содержит строку запроса для платежного пароля
|
5
|
+
# Response contains of challenge string for payment password
|
6
|
+
|
7
|
+
class GetAccountPaymentPasswordChallengeResponse
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [String] Запрос для платежного пароля
|
11
|
+
# / Challenge of payment password
|
12
|
+
property :payment_password_challenge
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос получения информации по операции.
|
5
|
+
# Transaction information response.
|
6
|
+
|
7
|
+
class GetOperationDetailsByIdResponse
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Moneta::Api::Types::OperationInfo]
|
11
|
+
property :operation, Types::OperationInfo
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на выставление счета к оплате в пакетном режиме.
|
5
|
+
# Invoice registration response in batch processing mode.
|
6
|
+
|
7
|
+
class InvoiceBatchResponse
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Moneta::Api::Types::TransactionBatchResponseType] Детали проведенных операций, либо описание ошибок, если операция не проведена.
|
11
|
+
# Порядок соответствует набору операций, переданных в InvoiceBatchRequest.
|
12
|
+
# / Either transaction details or error description in order of appearance in corresponding request.
|
13
|
+
property :transaction, Types::TransactionBatchResponseType
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос проверки проведения операции в системе МОНЕТА.РУ
|
5
|
+
# Transaction verification response.
|
6
|
+
|
7
|
+
class VerifyPaymentResponse < Moneta::Api::Types::VerifyTransactionResponseType; end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Responses
|
4
|
+
# Ответ на запрос проверки проведения операции в системе МОНЕТА.РУ
|
5
|
+
# Transaction verification response.
|
6
|
+
|
7
|
+
class VerifyTransactionResponse < Moneta::Api::Types::VerifyTransactionResponseType; end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
class Service
|
4
|
+
include ServiceMethods
|
5
|
+
attr_reader :client
|
6
|
+
|
7
|
+
def initialize(username, password, params = {})
|
8
|
+
@client = Savon.client(prepare_params(username, password, params))
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def prepare_params(username, password, params)
|
14
|
+
{ wsdl: 'https://demo.moneta.ru/services.wsdl', wsse_auth: [ username, password ] }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module ServiceMethods
|
4
|
+
# @param [Moneta::Api::Requests::AuthoriseTransactionRequest]
|
5
|
+
# @return [Moneta::Api::Responses::AuthoriseTransactionResponse]
|
6
|
+
def authorise_transaction(request)
|
7
|
+
call(__method__, request.to_hash)
|
8
|
+
end
|
9
|
+
|
10
|
+
# @param [Moneta::Api::Requests::AuthoriseTransactionBatchRequest]
|
11
|
+
# @return [Moneta::Api::Responses::AuthoriseTransactionBatchResponse]
|
12
|
+
def authorise_transaction_batch(request)
|
13
|
+
call(__method__, request.to_hash)
|
14
|
+
end
|
15
|
+
|
16
|
+
# @param [Moneta::Api::Requests::CancelTransactionRequest]
|
17
|
+
# @return [Moneta::Api::Responses::CancelTransactionResponse]
|
18
|
+
def cancel_transaction(request)
|
19
|
+
call(__method__, request.to_hash)
|
20
|
+
end
|
21
|
+
|
22
|
+
# @param [Moneta::Api::Requests::CancelTransactionBatchRequest]
|
23
|
+
# @return [Moneta::Api::Responses::CancelTransactionBatchResponse]
|
24
|
+
def cancel_transaction_batch(request)
|
25
|
+
call(__method__, request.to_hash)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @param [Moneta::Api::Requests::ConfirmTransactionRequest]
|
29
|
+
# @return [Moneta::Api::Responses::ConfirmTransactionResponse]
|
30
|
+
def confirm_transaction(request)
|
31
|
+
call(__method__, request.to_hash)
|
32
|
+
end
|
33
|
+
|
34
|
+
# @param [Moneta::Api::Requests::ConfirmTransactionBatchRequest]
|
35
|
+
# @return [Moneta::Api::Responses::ConfirmTransactionBatchResponse]
|
36
|
+
def confirm_transaction_batch(request)
|
37
|
+
call(__method__, request.to_hash)
|
38
|
+
end
|
39
|
+
|
40
|
+
# @param [Moneta::Api::Requests::CreateAccountRequest]
|
41
|
+
# @return [Moneta::Api::Responses::CreateAccountResponse]
|
42
|
+
def create_account(request)
|
43
|
+
call(__method__, request.to_hash)
|
44
|
+
end
|
45
|
+
|
46
|
+
# @param [String]
|
47
|
+
# @return [Moneta::Api::Responses::FindAccountByAliasResponse]
|
48
|
+
def find_account_by_alias(request)
|
49
|
+
call(__method__, request)
|
50
|
+
end
|
51
|
+
|
52
|
+
# @param [Moneta::Api::Requests::FindAccountsListRequest]
|
53
|
+
# @return [Moneta::Api::Responses::FindAccountsListResponse]
|
54
|
+
def find_accounts_list(request)
|
55
|
+
call(__method__, request.to_hash)
|
56
|
+
end
|
57
|
+
|
58
|
+
# @param [Moneta::Api::Requests::FindOperationsListRequest]
|
59
|
+
# @return [Moneta::Api::Responses::FindOperationsListResponse]
|
60
|
+
def find_operations_list(request)
|
61
|
+
call(__method__, request.to_hash)
|
62
|
+
end
|
63
|
+
|
64
|
+
# @param [Moneta::Api::Requests::ForecastTransactionRequest]
|
65
|
+
# @return [Moneta::Api::Responses::ForecastTransactionResponse]
|
66
|
+
def forecast_transaction(request)
|
67
|
+
call(__method__, request.to_hash)
|
68
|
+
end
|
69
|
+
|
70
|
+
# @param [Integer]
|
71
|
+
# @return [Moneta::Api::Responses::FindAccountByIdResponse]
|
72
|
+
def find_account_by_id(id)
|
73
|
+
call(__method__, id)
|
74
|
+
end
|
75
|
+
|
76
|
+
# @param [Moneta::Api::Requests::FindLastOperationsListRequest]
|
77
|
+
# @return [Moneta::Api::Responses::FindLastOperationsListResponse]
|
78
|
+
def find_last_operations_list(request)
|
79
|
+
call(__method__, request.to_hash)
|
80
|
+
end
|
81
|
+
|
82
|
+
# @param [Moneta::Api::Requests::GetAccountPaymentPasswordChallengeRequest]
|
83
|
+
# @return [Moneta::Api::Responses::GetAccountPaymentPasswordChallengeResponse]
|
84
|
+
def get_account_payment_password_challenge(request)
|
85
|
+
call(__method__, request.to_hash)
|
86
|
+
end
|
87
|
+
|
88
|
+
# @param [Integer]
|
89
|
+
# @return [Moneta::Api::Responses::GetOperationDetailsByIdResponse]
|
90
|
+
def get_operation_details_by_id(id)
|
91
|
+
call(__method__, id)
|
92
|
+
end
|
93
|
+
|
94
|
+
# @param [Moneta::Api::Requests::InvoiceRequest]
|
95
|
+
# @return [Moneta::Api::Responses::InvoiceResponse]
|
96
|
+
def invoice(request)
|
97
|
+
call(__method__, request.to_hash)
|
98
|
+
end
|
99
|
+
|
100
|
+
# @param [Moneta::Api::Requests::InvoiceBatchRequest]
|
101
|
+
# @return [Moneta::Api::Responses::InvoiceBatchResponse]
|
102
|
+
def invoice_batch(request)
|
103
|
+
call(__method__, request.to_hash)
|
104
|
+
end
|
105
|
+
|
106
|
+
# @param [Moneta::Api::Requests::RefundRequest]
|
107
|
+
# @return [Moneta::Api::Responses::RefundResponse]
|
108
|
+
def refund(request)
|
109
|
+
call(__method__, request.to_hash)
|
110
|
+
end
|
111
|
+
|
112
|
+
# @param [Moneta::Api::Requests::TransferRequest]
|
113
|
+
# @return [Moneta::Api::Responses::TransferResponse]
|
114
|
+
def transfer(request)
|
115
|
+
call(__method__, request.to_hash)
|
116
|
+
end
|
117
|
+
|
118
|
+
# @param [Moneta::Api::Requests::PaymentRequest]
|
119
|
+
# @return [Moneta::Api::Responses::PaymentResponse]
|
120
|
+
def payment(request)
|
121
|
+
call(__method__, request.to_hash)
|
122
|
+
end
|
123
|
+
|
124
|
+
# @param [Moneta::Api::Requests::VerifyPaymentRequest]
|
125
|
+
# @return [Moneta::Api::Responses::VerifyPaymentResponse]
|
126
|
+
def verify_payment(request)
|
127
|
+
call(__method__, request.to_hash)
|
128
|
+
end
|
129
|
+
|
130
|
+
# @param [Moneta::Api::Requests::VerifyTransferRequest]
|
131
|
+
# @return [Moneta::Api::Responses::VerifyTransferResponse]
|
132
|
+
def verify_transfer(request)
|
133
|
+
call(__method__, request.to_hash)
|
134
|
+
end
|
135
|
+
|
136
|
+
# @param [Moneta::Api::Requests::VerifyTransactionRequest]
|
137
|
+
# @return [Moneta::Api::Responses::VerifyTransactionResponse]
|
138
|
+
def verify_transaction(request)
|
139
|
+
call(__method__, request.to_hash)
|
140
|
+
end
|
141
|
+
|
142
|
+
private
|
143
|
+
|
144
|
+
def call(method, request_message)
|
145
|
+
response = client.call(method, { message: request_message })
|
146
|
+
ResponseFactory.build(response)
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий доступ к счету.
|
5
|
+
# Account access description type.
|
6
|
+
|
7
|
+
class AccountAccessInfo
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Boolean] Доступ на изменение свойств счета
|
11
|
+
# / Account attributes modification access
|
12
|
+
property :access_to_write
|
13
|
+
|
14
|
+
# @return [Boolean] Доступ на снятие средств со счета
|
15
|
+
# / Account debiting access
|
16
|
+
property :access_to_taken_out
|
17
|
+
|
18
|
+
# @return [Boolean] Доступ на зачисление средств на счет
|
19
|
+
# / Account crediting access
|
20
|
+
property :access_to_taken_in
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий атрибуты счета в системе МОНЕТА.РУ.
|
5
|
+
# Account information container type.
|
6
|
+
|
7
|
+
class AccountInfo
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [String] Номер счета в системе МОНЕТА.РУ
|
11
|
+
# / Account number
|
12
|
+
property :id
|
13
|
+
|
14
|
+
# @return [String] Валюта данного счета
|
15
|
+
# / Currency of account
|
16
|
+
property :currency
|
17
|
+
|
18
|
+
# @return [Float] Баланс на данном счете
|
19
|
+
# / Current balance of account
|
20
|
+
property :balance
|
21
|
+
|
22
|
+
# @return [Float] Доступный баланс на данном счете
|
23
|
+
# / Available balance of account
|
24
|
+
property :available_balance
|
25
|
+
|
26
|
+
# @return [Integer] Тип счета в системе МОНЕТА.РУ
|
27
|
+
# / Type of account
|
28
|
+
property :type
|
29
|
+
|
30
|
+
# @return [String] Название счета в системе МОНЕТА.РУ. Необязательное поле
|
31
|
+
# / Alias of account. Optional.
|
32
|
+
property :alias
|
33
|
+
|
34
|
+
# @return [String] URL после списания средств. Необязательное поле.
|
35
|
+
# / URL on debiting. Optional.
|
36
|
+
property :on_successful_debit_url
|
37
|
+
|
38
|
+
# @return [String] URL после зачисления средств. Необязательное поле.
|
39
|
+
# / URL on crediting. Optional.
|
40
|
+
property :on_successful_credit_url
|
41
|
+
|
42
|
+
# @return [String] Код проверки целостности данных. Необязательное поле.
|
43
|
+
# / Payment form data integrity signature. Optional.
|
44
|
+
property :signature
|
45
|
+
|
46
|
+
# @return [Float] Если баланс счета меньше данного значения, то раз в сутки уходит уведомление об этом событии. Необязательное поле.
|
47
|
+
# / Daily notifications if balance is less than threshold. Optional.
|
48
|
+
property :low_balance_threshold
|
49
|
+
|
50
|
+
# @return [Float] Если баланс счета больше данного значения, то раз в сутки уходит уведомление об этом событии. Необязательное поле.
|
51
|
+
# / Daily notifications if balance is greater than threshold. Optional.
|
52
|
+
property :high_balance_threshold
|
53
|
+
|
54
|
+
# @return [AccountAccessInfo] Информация о доступе к счету. Информация отдается, если счет является делегированным. Необязательное поле.
|
55
|
+
# / Account access information. Available if the account is delegated, otherwise omitted. Optional.
|
56
|
+
property :account_access, Moneta::Api::Types::AccountAccessInfo
|
57
|
+
|
58
|
+
# @return [Integer] Счет-прототип с которого берутся свойства "по умолчанию". Необязательное поле.
|
59
|
+
# / Prototype account for default properties values. Optional.
|
60
|
+
property :prototype_account_id
|
61
|
+
|
62
|
+
# @return [String] URL после отмены списания средств. Необязательное поле.
|
63
|
+
# / URL on cancelled debit. Optional.
|
64
|
+
property :on_cancelled_debit_url
|
65
|
+
|
66
|
+
# @return [String] URL после отмены зачисления средств. Необязательное поле.
|
67
|
+
# / URL on cancelled credit. Optional.
|
68
|
+
property :on_cancelled_credit_url
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий параметры операции в запросах в пакетном режиме.
|
5
|
+
# Transaction parameters type for requests in batch processing mode.
|
6
|
+
|
7
|
+
class AuthoriseTransactionBatchRequestType < Entity
|
8
|
+
# @return [Boolean] Флаг, указывающий выполнять ли все денежные переводы в одной транзакции.
|
9
|
+
# Если transactional = true, то:
|
10
|
+
# при возникновении ошибки все проведенные операции будут отменены
|
11
|
+
# можно проводить только операции со счетами монеты. Нельзя выводить деньги на внешние платежные системы.
|
12
|
+
# Если transactional = false, то:
|
13
|
+
# при возникновении ошибки все проведенные операции будут сохранены
|
14
|
+
# можно проводить любые операции, которые доступны в TransferRequest
|
15
|
+
# если выставить флаг exitOnFailure = false, то при возникновении ошибки можно пропустить операцию
|
16
|
+
# и продолжить выполнение операций дальше
|
17
|
+
# / Joining all transfers in batch processing into one transaction. True -- all processed transfers will be rolled back on exceptions, no external transfers are allowed. False -- only current transfer rolled back on exceptions, external transfers are allowed.
|
18
|
+
property :transactional
|
19
|
+
|
20
|
+
# @return [Boolean] Флаг, указывающий прерывать ли выполнение пакета операций, если произошла ошибка.
|
21
|
+
# Используется только при transactional = false
|
22
|
+
# / Stops batch processing on exceptions. Used only in conjunction with transactional=false.
|
23
|
+
property :exit_on_failure
|
24
|
+
|
25
|
+
# @return [Array[Moneta::Api::Types::Entity*]] Набор операций, которые необходимо выполнить в одном пакете.
|
26
|
+
# Операции выполняются в том порядке, в котором они переданы в запросе.
|
27
|
+
# / Set of transfers to be processed in one batch. Processed in order of appearance.
|
28
|
+
property :transaction
|
29
|
+
|
30
|
+
# Набор операций, которые необходимо выполнить в одном пакете.
|
31
|
+
# Операции выполняются в том порядке, в котором они переданы в запросе.
|
32
|
+
# / Set of transfers to be processed in one batch. Processed in order of appearance.
|
33
|
+
#
|
34
|
+
# @param [Moneta::Api::Types::Entity*]
|
35
|
+
# @return void
|
36
|
+
def add_transaction(item)
|
37
|
+
parents = item.class.ancestors
|
38
|
+
if parents.include?(Moneta::Api::Types::Entity)
|
39
|
+
(@transaction ||=[]).push(item)
|
40
|
+
else
|
41
|
+
raise TypeError.new("TypeError: #{ item.class } have not parent Moneta::Api::Types::Entity")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|