moneta-api 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,19 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Запрос на регистрацию операции с блокировкой средств на счете плательщика.
|
5
|
+
# Завершить (подтвердить) операцию можно с помощью ConfirmTransactionRequest.
|
6
|
+
# Если операция не будет закончена с помощью ConfirmTransactionRequest, то
|
7
|
+
# операция будет отменена автоматически по истечению срока блокировки.
|
8
|
+
# Request for transaction registration and debiting funds from payer's account.
|
9
|
+
# To finish (confirm) this transaction use ConfirmTransactionRequest.
|
10
|
+
# Authorised but not cofirmed transactions are cancelled automaticaly after authorisation expiry.
|
11
|
+
|
12
|
+
class AuthoriseTransactionRequestType < TransactionRequestType
|
13
|
+
# @return [Integer] Номер операции. Необязательное поле.
|
14
|
+
# / Transaction ID. Optional.
|
15
|
+
property :transaction_id
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип для запроса на отмену операций в пакетном режиме.
|
5
|
+
# Batch mode transaction cancelation request type.
|
6
|
+
|
7
|
+
class CancelTransactionBatchRequestType < 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::CancelTransactionRequestType]] Набор операций, которые необходимо выполнить в одном пакете.
|
26
|
+
# Операции выполняются в том порядке, в котором они переданы в запросе.
|
27
|
+
# / Set of transfers to be processed in one batch. Processed in order of appearance.
|
28
|
+
property :transaction
|
29
|
+
|
30
|
+
# @param [Moneta::Api::Types::CancelTransactionRequestType]
|
31
|
+
# @return void
|
32
|
+
def add_transaction(item)
|
33
|
+
if item.kind_of? Moneta::Api::Types::CancelTransactionRequestType
|
34
|
+
(@transaction ||=[]).push(item)
|
35
|
+
else
|
36
|
+
raise TypeError.new("TypeError: can't convert #{ item.class } into Moneta::Api::Types::CancelTransactionRequestType")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative 'cancel_transaction_response_type'
|
2
|
+
|
3
|
+
module Moneta
|
4
|
+
module Api
|
5
|
+
module Types
|
6
|
+
# Тип, описывающий атрибуты при ответе на запрос отмены операций в пакетной режиме.
|
7
|
+
# Transaction cancelation response in batch mode.
|
8
|
+
|
9
|
+
class CancelTransactionBatchResponseType
|
10
|
+
include Moneta::Api::DataMapper
|
11
|
+
|
12
|
+
# @return [String] Поле содержит описание ошибки, если операция не была проведена.
|
13
|
+
# В этом случае поле transaction - пустое. Если операция проведена,
|
14
|
+
# то поле error пустое, а поле transaction содержит детали операции.
|
15
|
+
# / Error description in case of tranfer processing failure. If transfer processed successfully "error" is empty and "transaction" element contains transaction details.
|
16
|
+
property :error
|
17
|
+
|
18
|
+
# @return [Moneta::Api::Types::CancelTransactionResponseType]
|
19
|
+
property :transaction, Moneta::Api::Types::CancelTransactionResponseType
|
20
|
+
|
21
|
+
# @return [String] Поле содержит код ошибки. Поле заполнено только тогда, когда есть описание ошибки в поле error.
|
22
|
+
# Для получения этого поля в запросе необходимо выставлять атрибут version равный или больше VERSION_2.
|
23
|
+
# Коды ошибок совпадают со значением элемента faultDetail (смотрите описание для этого элемента).
|
24
|
+
# / The field contains error code. The field "errorCode" is specified if the field "error" is present and contains error description. For retrieving errorCode the request attribute "version" has to be set to "VERSION_2" or grater. Error codes values correspond to "faultDetail" description.
|
25
|
+
property :error_code
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип для запроса на отмену операции.
|
5
|
+
# Transaction cancelation request type.
|
6
|
+
|
7
|
+
class CancelTransactionRequestType
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Integer] Номер операции
|
11
|
+
# / Transaction ID
|
12
|
+
property :transaction_id
|
13
|
+
|
14
|
+
# @return [String] Код протекции
|
15
|
+
# / Protection code
|
16
|
+
property :protection_code
|
17
|
+
|
18
|
+
# @return [String] Описание операции
|
19
|
+
# / Transaction description or comments
|
20
|
+
property :description
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий атрибуты при ответе на запрос отмены операции.
|
5
|
+
# Transaction cancelation response type.
|
6
|
+
|
7
|
+
class CancelTransactionResponseType
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Integer] Номер операции
|
11
|
+
# / Transaction ID
|
12
|
+
property :transaction_id
|
13
|
+
|
14
|
+
# @return [String] Статус операции
|
15
|
+
# / Transaction status
|
16
|
+
property :operation_status
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип для запроса подтверждения операции в пакетном режиме.
|
5
|
+
# Batch mode transaction confirmation request type.
|
6
|
+
|
7
|
+
class ConfirmTransactionBatchRequestType < 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
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип для запроса подтверждения операции.
|
5
|
+
# Transaction confirmation request type.
|
6
|
+
|
7
|
+
class ConfirmTransactionRequestType
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Integer] Номер операции
|
11
|
+
# / Transaction ID
|
12
|
+
property :transaction_id
|
13
|
+
|
14
|
+
# @return [String] Платежный пароль счета плательщика
|
15
|
+
# / Payment password for payer account
|
16
|
+
property :payment_password
|
17
|
+
|
18
|
+
# @return [String] Код протекции
|
19
|
+
# / Protection code
|
20
|
+
property :protection_code
|
21
|
+
|
22
|
+
# @return [Moneta::Api::Types::OperationInfo] Набор полей, которые необходимо сохранить в качестве атрибутов операции. Значения дат в формате dd.MM.yyyy HH:mm:ss
|
23
|
+
# / Key-value pairs that will be saved as a transaction attributes. Use format dd.MM.yyyy HH:mm:ss for date values
|
24
|
+
property :operation_info
|
25
|
+
|
26
|
+
# @return [Float] Сумма операции.
|
27
|
+
# Если флаг isPayerAmount отсутствует
|
28
|
+
# и пользователь имеет доступ только к счету плательщика,
|
29
|
+
# то интерпретируется как сумма к списанию (в валюте плательщика).
|
30
|
+
# Если флаг isPayerAmount отсутствует
|
31
|
+
# и пользователь имеет доступ только к счету получателя,
|
32
|
+
# то интерпретируется как сумма к зачислению (в валюте получателя).
|
33
|
+
# / Transaction amount. If isPayerAmount is omitted and user has access only to payer account, then is interpreted as debit amount (in payer's currency). If isPayerAmount is omitted and user has access only to payee account, then is interpreted as credit amount (in payee's currency).
|
34
|
+
property :amount
|
35
|
+
|
36
|
+
# @return [Boolean] Если пользователь имеет доступ как к счету плательщика, так и счету получателя,
|
37
|
+
# то флаг isPayerAmount обязателен.
|
38
|
+
# Если флаг isPayerAmount установлен (true), то amount используется как сумма к списанию (в валюте плательщика).
|
39
|
+
# Если флаг isPayerAmount сброшен (false), то amount используется как сумма к зачислению (в валюте получателя).
|
40
|
+
# / If user has access to both accounts, then isPayerAmount flag is obligatory. If isPayerAmount flag is "true", then amount is used as debit amount (in payer's currency). If isPayerAmount flag is "false", then amount is used as credit amount (in payee's currency).
|
41
|
+
property :is_payer_amount
|
42
|
+
|
43
|
+
# @return [String] Запрос для платежного пароля
|
44
|
+
# / Payment password challenge
|
45
|
+
property :payment_password_challenge
|
46
|
+
|
47
|
+
# @return [String] Внешний номер операции
|
48
|
+
# / External transaction ID
|
49
|
+
property :client_transaction
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Базовый тип, содержащий атрибут "version".
|
5
|
+
# Base type containing "version" attribute.
|
6
|
+
|
7
|
+
class Entity
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [String]
|
11
|
+
property :version
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Фильтр, по которому ищем операции.
|
5
|
+
# Transactions filter.
|
6
|
+
|
7
|
+
class FindOperationsListRequestFilter
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Integer] ID пользователя в системе МОНЕТА.РУ
|
11
|
+
# / Structure identificator in MONETA.RU
|
12
|
+
property :unit_id
|
13
|
+
|
14
|
+
# @return [Integer] Номер счета
|
15
|
+
# / Account number
|
16
|
+
property :account_id
|
17
|
+
|
18
|
+
# @return [DateTime] Дата начала периода
|
19
|
+
# / Period's start
|
20
|
+
property :date_from
|
21
|
+
|
22
|
+
# @return [DateTime] Дата конца периода
|
23
|
+
# / Period's end
|
24
|
+
property :date_to
|
25
|
+
|
26
|
+
# @return [Integer] Номер операции в системе МОНЕТА.РУ
|
27
|
+
# / Transaction ID in MONETA.RU
|
28
|
+
property :operation_id
|
29
|
+
|
30
|
+
# @return [Float] Сумма от... Ищутся все операции, которые проходили
|
31
|
+
# на большую или равную сумму. Если указано это поле, то обязательно надо
|
32
|
+
# заполнить Currency
|
33
|
+
# / Minimal transaction amount. If specified currencyCode filter parameter is required.
|
34
|
+
property :amount_from
|
35
|
+
|
36
|
+
# @return [Float] Сумма до... Ищутся все операции, которые проходили
|
37
|
+
# на меньшую или равную сумму. Если указано это поле, то обязательно надо
|
38
|
+
# заполнить Currency
|
39
|
+
# / Maximal transaction amount. If specified currencyCode filter parameter is required.
|
40
|
+
property :amount_to
|
41
|
+
|
42
|
+
# @return [String] Валюта, по которой проходили операции
|
43
|
+
# / Currency of transaction account.
|
44
|
+
property :currency_code
|
45
|
+
|
46
|
+
# @return [Integer] Корреспонденский номер счета в системе МОНЕТА.РУ
|
47
|
+
# / Correspondent account number in MONETA.RU
|
48
|
+
property :target_account_id
|
49
|
+
|
50
|
+
# @return [String] Статус операции
|
51
|
+
# / Transaction status
|
52
|
+
property :operation_status
|
53
|
+
|
54
|
+
# @return [String] Внешний номер операции
|
55
|
+
# / External transaction ID
|
56
|
+
property :client_transaction
|
57
|
+
|
58
|
+
# @return [Integer]
|
59
|
+
# 1 - все операции;
|
60
|
+
# 2 - операции, где деньги были получены (сумма > 0);
|
61
|
+
# 3 - операции, где деньги были потрачены (сумма < 0).
|
62
|
+
# 1 - all transactions;
|
63
|
+
# 2 - credit transactions;
|
64
|
+
# 3 - debit transactions.
|
65
|
+
property :operation_amount_type_id
|
66
|
+
|
67
|
+
# @return [String] Название свойства операции. Может принимать следующие значения:
|
68
|
+
# YANDEXACCOUNT - счет в системе Яндекс.Деньги;
|
69
|
+
# WEBMONEYWMID - WebMoney WMID;
|
70
|
+
# WEBMONEYPURSE - WebMoney кошелек;
|
71
|
+
# CONTACTTRANSFERORDERNUMBER - Номер перевода в системе Contact;
|
72
|
+
# WIRETRANSFERORDERNUMBER - Номер платежного поручения в банковском переводе;
|
73
|
+
# Значение свойства указывается в поле propertyValue.
|
74
|
+
# The transaction property name may take following values:
|
75
|
+
# YANDEXACCOUNT - user's account number in Yandex.Money;
|
76
|
+
# WEBMONEYWMID - user's WMID in WebMoney;
|
77
|
+
# WEBMONEYPURSE - user's purse number in WebMoney;
|
78
|
+
# CONTACTTRANSFERORDERNUMBER - transfer idenitification number in Contact;
|
79
|
+
# WIRETRANSFERORDERNUMBER - bank transfer identification number.
|
80
|
+
# The value of property has to be specified in "propertyValue" element.
|
81
|
+
property :property_name
|
82
|
+
|
83
|
+
# @return [String] Значение свойства операции.
|
84
|
+
# Поиск происходит по прямому совпадению. Для задания маски
|
85
|
+
# можно указать спец-символы - "*" или "?".
|
86
|
+
# / Transaction property value. Wildcards "*" and "?" may be used.
|
87
|
+
property :property_value
|
88
|
+
|
89
|
+
# @return [Integer]
|
90
|
+
# 1 - Ввод средств;
|
91
|
+
# 2 - Вывод средств;
|
92
|
+
# 3 - Внутренний перевод;
|
93
|
+
# 4 - Товары и услуги.
|
94
|
+
# 1 - Deposit;
|
95
|
+
# 2 - Withdrawal;
|
96
|
+
# 3 - Transfer;
|
97
|
+
# 4 - Goods and services.
|
98
|
+
property :operation_category_id
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий суммы и комиссии в предварительном расчете операции.
|
5
|
+
# Type describes amount and fees for preliminary calculation of transaction.
|
6
|
+
|
7
|
+
class ForecastTransactionResponseType
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Integer] Номер счета плательщика
|
11
|
+
# / Payer account number
|
12
|
+
property :payer
|
13
|
+
|
14
|
+
# @return [String] Валюта счета плательщика
|
15
|
+
# / Currency of payer account
|
16
|
+
property :payer_currency
|
17
|
+
|
18
|
+
# @return [Float] Сумма к списанию
|
19
|
+
# / Debit amount
|
20
|
+
property :payer_amount
|
21
|
+
|
22
|
+
# @return [Float] Комиссия списания средств
|
23
|
+
# / Debit fee
|
24
|
+
property :payer_fee
|
25
|
+
|
26
|
+
# @return [Integer] Номер счета получателя
|
27
|
+
# / Payee account number
|
28
|
+
property :payee
|
29
|
+
|
30
|
+
# @return [String] Валюта счета получателя
|
31
|
+
# / Currency of payee account
|
32
|
+
property :payee_currency
|
33
|
+
|
34
|
+
# @return [Float] Сумма к зачислению
|
35
|
+
# / Credit amount
|
36
|
+
property :payee_amount
|
37
|
+
|
38
|
+
# @return [Float] Комиссия зачисления средств
|
39
|
+
# / Credit fee
|
40
|
+
property :payee_fee
|
41
|
+
|
42
|
+
# @return [String] Название счета плательщика
|
43
|
+
# / Payer account alias
|
44
|
+
property :payer_alias
|
45
|
+
|
46
|
+
# @return [String] Название счета получателя
|
47
|
+
# / Payee account alias
|
48
|
+
property :payee_alias
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий параметры операции в запросах в пакетном режиме.
|
5
|
+
# Transaction parameters type for requests in batch processing mode.
|
6
|
+
|
7
|
+
class InvoiceBatchRequestType < 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 [Moneta::Api::Types::InvoiceRequestType] Набор операций, которые необходимо выполнить в одном пакете.
|
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.
|
33
|
+
# Processed in order of appearance.
|
34
|
+
# @param[Moneta::Api::Types::InvoiceRequestType]
|
35
|
+
# @return void
|
36
|
+
def add_transaction(item)
|
37
|
+
if item.kind_of? Moneta::Api::Types::InvoiceRequestType
|
38
|
+
(@transaction ||=[]).push(item)
|
39
|
+
else
|
40
|
+
raise TypeError.new("TypeError: can't convert #{ item.class } into Moneta::Api::Types::InvoiceRequestType")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий параметры операции для выставления счета к оплате.
|
5
|
+
# Transaction parameters type for making new invoice (request for payment).
|
6
|
+
|
7
|
+
class InvoiceRequestType
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [Integer] Номер счета плательщика
|
11
|
+
# / Payer account number
|
12
|
+
property :payer
|
13
|
+
|
14
|
+
# @return [Integer] Номер счета получателя
|
15
|
+
# / Payee account number
|
16
|
+
property :payee
|
17
|
+
|
18
|
+
# @return [Float] Сумма
|
19
|
+
# / Amount
|
20
|
+
property :amount
|
21
|
+
|
22
|
+
# @return [String] Внешний номер операции
|
23
|
+
# / external transaction identificator
|
24
|
+
property :client_transaction
|
25
|
+
|
26
|
+
# @return [String] Описание операции
|
27
|
+
# / Transaction description or comments
|
28
|
+
property :description
|
29
|
+
|
30
|
+
# @return [String] Произвольный параметр
|
31
|
+
# / Custom parameter
|
32
|
+
property :mnt_custom1
|
33
|
+
|
34
|
+
# @return [String] Произвольный параметр
|
35
|
+
# / Custom parameter
|
36
|
+
property :mnt_custom2
|
37
|
+
|
38
|
+
# @return [String] Произвольный параметр
|
39
|
+
# / Custom parameter
|
40
|
+
property :mnt_custom3
|
41
|
+
|
42
|
+
# @return [Moneta::Api::Types::OperationInfo] Набор полей, которые необходимо сохранить в качестве атрибутов
|
43
|
+
# операции. Значения дат в формате dd.MM.yyyy HH:mm:ss
|
44
|
+
# / Key-value pairs that will be saved as a transaction attributes. Use format dd.MM.yyyy HH:mm:ss for date values
|
45
|
+
property :operation_info
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, который позволяет работать с сущностями типа "ключ-значение".
|
5
|
+
# Key-value pairs type.
|
6
|
+
|
7
|
+
class KeyValueAttribute
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [String]
|
11
|
+
property :key
|
12
|
+
|
13
|
+
# @return [String]
|
14
|
+
property :value
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий операцию в системе МОНЕТА.РУ.
|
5
|
+
# Он представляет собой номер (id) операции и набор полей,
|
6
|
+
# которые присутствуют у данной операции. Поля представлены в виде "ключ-значение".
|
7
|
+
# Transaction type contains transaction id and key-value pairs representing transaction attributes.
|
8
|
+
|
9
|
+
class OperationInfo
|
10
|
+
include Moneta::Api::DataMapper
|
11
|
+
|
12
|
+
# @return [Integer] Номер операции
|
13
|
+
# / Transaction ID
|
14
|
+
property :id
|
15
|
+
|
16
|
+
# @return [Array[KeyValueAttribute]] Поля операции. Полей в операции может быть 0 и более.
|
17
|
+
# Список полей:
|
18
|
+
# * clienttransaction - внешний (не в системе МОНЕТА.РУ) номер операции;
|
19
|
+
# * statusid - статус операции;
|
20
|
+
# * typeid - тип операции:
|
21
|
+
# * 2,10 - оплата с пользовательского счета,
|
22
|
+
# * 3 - оплата с внешней платежной системы,
|
23
|
+
# * 7,14 - пополнение счета,
|
24
|
+
# * 4,13 - вывод на внешнюю платежную систему,
|
25
|
+
# * 11 - вывод на пользовательский счет,
|
26
|
+
# * 12 - внутренний перевод;
|
27
|
+
# * category - категория операции:
|
28
|
+
# * DEPOSIT - ввод средств,
|
29
|
+
# * WITHDRAWAL - вывод средств,
|
30
|
+
# * TRANSFER - внутренний перевод,
|
31
|
+
# * BUSINESS - товары и услуги;
|
32
|
+
# * modified - время последнего изменения операции;
|
33
|
+
# * sourceaccountid - номер счета, с которого произведена операция;
|
34
|
+
# * sourcecurrencycode - валюта счета;
|
35
|
+
# * sourceamount - сумма по операции;
|
36
|
+
# * sourceamountfee - сумма комиссии;
|
37
|
+
# * sourceamounttotal - общая сумма с учетом комиссии;
|
38
|
+
# * targetaccountid - корреспондентский счет;
|
39
|
+
# * targetalias - название корреспондентского счета;
|
40
|
+
# * isreversed - если "true", то sourceaccountid=получатель, targetaccountid=плательщик;
|
41
|
+
# * customfield:* - произвольный набор значений.
|
42
|
+
# В операции их может быть несколько.
|
43
|
+
# Полный ключ атрибута состоит из префикса ("customfield:") и тэга (32 символа).
|
44
|
+
# Например, "customfield:name".
|
45
|
+
#
|
46
|
+
# Transaction attributes. Attributes set may be empty.
|
47
|
+
# Attributes list:
|
48
|
+
# * clienttransaction - external transaction ID;
|
49
|
+
# * statusid - transaction status;
|
50
|
+
# * typeid - transaction type:
|
51
|
+
# * 2,10 - payment from user account,
|
52
|
+
# * 3 - payment from external system,
|
53
|
+
# * 7,14 - deposit,
|
54
|
+
# * 4,13 - withdrawal to external system,
|
55
|
+
# * 11 - withdrawal to user account,
|
56
|
+
# * category - transaction category:
|
57
|
+
# * DEPOSIT,
|
58
|
+
# * WITHDRAWAL,
|
59
|
+
# * TRANSFER,
|
60
|
+
# * BUSINESS;
|
61
|
+
# * modified - transaction modification timestamp;
|
62
|
+
# * sourceaccountid - account number;
|
63
|
+
# * sourcecurrencycode - account currency;
|
64
|
+
# * sourceamount - transaction amount;
|
65
|
+
# * sourceamountfee - transaction commission;
|
66
|
+
# * sourceamounttotal - total transaction amount incl. commission;
|
67
|
+
# * targetaccountid - correspondent account number;
|
68
|
+
# * targetalias - alias of correspondent account;
|
69
|
+
# * isreversed - if "true", then sourceaccountid=payee, targetaccountid=payer;
|
70
|
+
# * customfield:* - custom list of values.
|
71
|
+
# The transaction may contain several attributes with different keys.
|
72
|
+
# The full attribute's key consists of prefix ("customfield:") and tag (32 characters).
|
73
|
+
# For example, "customfield:name".
|
74
|
+
property :attribute, Moneta::Api::Types::KeyValueAttribute
|
75
|
+
|
76
|
+
# @param [Moneta::Api::Types::KeyValueAttribute]
|
77
|
+
# @return item
|
78
|
+
def add_attribute(item)
|
79
|
+
if item.kind_of? Moneta::Api::Types::KeyValueAttribute
|
80
|
+
(@attribute ||=[]).push(item)
|
81
|
+
else
|
82
|
+
raise TypeError.new("TypeError: can't convert #{ item.class } into Moneta::Api::Types::KeyValueAttribute")
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Moneta
|
2
|
+
module Api
|
3
|
+
module Types
|
4
|
+
# Тип, описывающий атрибуты операции в ответах в пакетном запросе.
|
5
|
+
# Transaction attributes type for responses in batch processing mode.
|
6
|
+
|
7
|
+
class OperationInfoBatchResponseType
|
8
|
+
include Moneta::Api::DataMapper
|
9
|
+
|
10
|
+
# @return [String] Поле содержит описание ошибки, если операция не была проведена.
|
11
|
+
# В этом случае поле transaction - пустое. Если операция проведена,
|
12
|
+
# то поле error пустое, а поле transaction содержит детали операции.
|
13
|
+
# / Error description in case of tranfer processing failure. If transfer processed successfully "error" is empty and "transaction" element contains transaction details.
|
14
|
+
property :error
|
15
|
+
|
16
|
+
# @return [Moneta::Api::Types::OperationInfo]
|
17
|
+
property :transaction, Moneta::Api::Types::OperationInfo
|
18
|
+
|
19
|
+
# @return [String] Поле содержит код ошибки. Поле заполнено только тогда, когда есть описание ошибки в поле error.
|
20
|
+
# Для получения этого поля в запросе необходимо выставлять атрибут version равный или больше VERSION_2.
|
21
|
+
# Коды ошибок совпадают со значением элемента faultDetail (смотрите описание для этого элемента).
|
22
|
+
# / The field contains error code. The field "errorCode" is specified if the field "error" is present and contains error description. For retrieving errorCode the request attribute "version" has to be set to "VERSION_2" or grater. Error codes values correspond to "faultDetail" description.
|
23
|
+
property :error_code
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|