mangopay-v4 4.0.0 → 4.0.1
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 +5 -5
- data/.gitignore +29 -29
- data/.rspec +3 -3
- data/.rubocop.yml +1 -1
- data/.travis.yml +21 -13
- data/Gemfile +2 -2
- data/LICENSE +20 -20
- data/README.md +379 -379
- data/bin/mangopay +9 -9
- data/lib/mangopay.rb +132 -132
- data/lib/mangopay/api/api.rb +8 -8
- data/lib/mangopay/api/api_methods.rb +160 -136
- data/lib/mangopay/api/auth_token_manager.rb +173 -173
- data/lib/mangopay/api/http_client.rb +324 -324
- data/lib/mangopay/api/service/bank_accounts.rb +145 -145
- data/lib/mangopay/api/service/banking_aliases.rb +83 -0
- data/lib/mangopay/api/service/cards.rb +151 -151
- data/lib/mangopay/api/service/client_wallets.rb +88 -88
- data/lib/mangopay/api/service/clients.rb +67 -67
- data/lib/mangopay/api/service/dispute_documents.rb +157 -157
- data/lib/mangopay/api/service/disputes.rb +186 -186
- data/lib/mangopay/api/service/e_money.rb +63 -41
- data/lib/mangopay/api/service/events.rb +46 -46
- data/lib/mangopay/api/service/hooks.rb +92 -92
- data/lib/mangopay/api/service/kyc_documents.rb +152 -152
- data/lib/mangopay/api/service/mandates.rb +141 -141
- data/lib/mangopay/api/service/oauth_tokens.rb +24 -24
- data/lib/mangopay/api/service/pay_ins.rb +369 -259
- data/lib/mangopay/api/service/pay_outs.rb +53 -53
- data/lib/mangopay/api/service/pre_authorizations.rb +126 -68
- data/lib/mangopay/api/service/refunds.rb +159 -61
- data/lib/mangopay/api/service/reports.rb +150 -150
- data/lib/mangopay/api/service/repudiations.rb +31 -31
- data/lib/mangopay/api/service/responses.rb +101 -101
- data/lib/mangopay/api/service/settlement_transfers.rb +54 -54
- data/lib/mangopay/api/service/transactions.rb +246 -182
- data/lib/mangopay/api/service/transfers.rb +53 -53
- data/lib/mangopay/api/service/ubo_declarations.rb +94 -69
- data/lib/mangopay/api/service/users.rb +162 -162
- data/lib/mangopay/api/service/wallets.rb +98 -98
- data/lib/mangopay/api/uri_provider.rb +32 -34
- data/lib/mangopay/common/json_tag_converter.rb +70 -67
- data/lib/mangopay/common/jsonifier.rb +266 -248
- data/lib/mangopay/common/log_provider.rb +33 -33
- data/lib/mangopay/common/rate_limit_interval.rb +16 -16
- data/lib/mangopay/common/read_only_fields.rb +26 -26
- data/lib/mangopay/common/response_error.rb +61 -61
- data/lib/mangopay/common/sort_direction.rb +14 -14
- data/lib/mangopay/common/sort_field.rb +12 -12
- data/lib/mangopay/common/template_url_options.rb +8 -8
- data/lib/mangopay/configuration.rb +38 -38
- data/lib/mangopay/environment.rb +65 -65
- data/lib/mangopay/model/address.rb +26 -26
- data/lib/mangopay/model/billing.rb +13 -0
- data/lib/mangopay/model/birthplace.rb +15 -0
- data/lib/mangopay/model/declared_ubo.rb +20 -20
- data/lib/mangopay/model/dispute_reason.rb +14 -14
- data/lib/mangopay/model/document_page_consult.rb +14 -14
- data/lib/mangopay/model/e_money.rb +17 -17
- data/lib/mangopay/model/entity/account/bank_account.rb +25 -25
- data/lib/mangopay/model/entity/account/ca_bank_account.rb +26 -26
- data/lib/mangopay/model/entity/account/debited_bank_account.rb +31 -0
- data/lib/mangopay/model/entity/account/gb_bank_account.rb +20 -20
- data/lib/mangopay/model/entity/account/iban_bank_account.rb +20 -20
- data/lib/mangopay/model/entity/account/other_bank_account.rb +23 -23
- data/lib/mangopay/model/entity/account/us_bank_account.rb +23 -23
- data/lib/mangopay/model/entity/banking_alias.rb +27 -0
- data/lib/mangopay/model/entity/card.rb +44 -44
- data/lib/mangopay/model/entity/card_registration.rb +42 -42
- data/lib/mangopay/model/entity/client.rb +65 -62
- data/lib/mangopay/model/entity/client_wallet.rb +22 -22
- data/lib/mangopay/model/entity/dispute.rb +49 -49
- data/lib/mangopay/model/entity/dispute_document.rb +28 -28
- data/lib/mangopay/model/entity/entity_base.rb +17 -17
- data/lib/mangopay/model/entity/hook.rb +25 -25
- data/lib/mangopay/model/entity/kyc_document.rb +27 -27
- data/lib/mangopay/model/entity/mandate.rb +50 -50
- data/lib/mangopay/model/entity/pay_in/apple_pay_direct_pay_in.rb +26 -0
- data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +24 -21
- data/lib/mangopay/model/entity/pay_in/bank_wire_external_instruction_pay_in.rb +19 -0
- data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +41 -32
- data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +15 -12
- data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +36 -39
- data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +25 -22
- data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +37 -37
- data/lib/mangopay/model/entity/pay_in/google_pay_direct_pay_in.rb +28 -0
- data/lib/mangopay/model/entity/pay_in/pay_in.rb +18 -15
- data/lib/mangopay/model/entity/pay_in/paypal_web_pay_in.rb +15 -0
- data/lib/mangopay/model/entity/pay_out.rb +21 -21
- data/lib/mangopay/model/entity/pre_authorization.rb +74 -67
- data/lib/mangopay/model/entity/refund.rb +17 -17
- data/lib/mangopay/model/entity/report.rb +50 -50
- data/lib/mangopay/model/entity/repudiation.rb +17 -17
- data/lib/mangopay/model/entity/settlement_transfer.rb +16 -16
- data/lib/mangopay/model/entity/transaction.rb +51 -51
- data/lib/mangopay/model/entity/transfer.rb +12 -12
- data/lib/mangopay/model/entity/ubo.rb +30 -0
- data/lib/mangopay/model/entity/ubo_declaration.rb +29 -31
- data/lib/mangopay/model/entity/user/legal_user.rb +55 -52
- data/lib/mangopay/model/entity/user/natural_user.rb +49 -49
- data/lib/mangopay/model/entity/user/user.rb +17 -17
- data/lib/mangopay/model/entity/wallet.rb +27 -27
- data/lib/mangopay/model/enum/account_type.rb +23 -23
- data/lib/mangopay/model/enum/avs_result.rb +19 -0
- data/lib/mangopay/model/enum/banking_alias_type.rb +12 -0
- data/lib/mangopay/model/enum/business_type.rb +17 -0
- data/lib/mangopay/model/enum/card_status.rb +14 -14
- data/lib/mangopay/model/enum/card_type.rb +32 -32
- data/lib/mangopay/model/enum/card_validity.rb +18 -18
- data/lib/mangopay/model/enum/country_iso.rb +758 -758
- data/lib/mangopay/model/enum/culture_code.rb +43 -43
- data/lib/mangopay/model/enum/currency_iso.rb +551 -551
- data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +15 -15
- data/lib/mangopay/model/enum/declared_ubo_status.rb +17 -17
- data/lib/mangopay/model/enum/deposit_type.rb +14 -14
- data/lib/mangopay/model/enum/direct_debit_type.rb +12 -12
- data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +24 -24
- data/lib/mangopay/model/enum/dispute_document_type.rb +22 -22
- data/lib/mangopay/model/enum/dispute_reason_type.rb +32 -32
- data/lib/mangopay/model/enum/dispute_status.rb +20 -20
- data/lib/mangopay/model/enum/dispute_type.rb +14 -14
- data/lib/mangopay/model/enum/document_status.rb +20 -20
- data/lib/mangopay/model/enum/download_format.rb +10 -10
- data/lib/mangopay/model/enum/event_type.rb +76 -73
- data/lib/mangopay/model/enum/funds_type.rb +14 -14
- data/lib/mangopay/model/enum/hook_status.rb +12 -12
- data/lib/mangopay/model/enum/hook_validity.rb +14 -14
- data/lib/mangopay/model/enum/income_range.rb +20 -20
- data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +36 -36
- data/lib/mangopay/model/enum/kyc_document_type.rb +18 -18
- data/lib/mangopay/model/enum/kyc_level.rb +12 -12
- data/lib/mangopay/model/enum/legal_person_type.rb +14 -14
- data/lib/mangopay/model/enum/mandate_culture_code.rb +22 -22
- data/lib/mangopay/model/enum/mandate_execution_type.rb +10 -10
- data/lib/mangopay/model/enum/mandate_scheme.rb +12 -12
- data/lib/mangopay/model/enum/mandate_status.rb +23 -23
- data/lib/mangopay/model/enum/mandate_type.rb +10 -10
- data/lib/mangopay/model/enum/natural_user_capacity.rb +14 -14
- data/lib/mangopay/model/enum/pay_in_execution_type.rb +17 -17
- data/lib/mangopay/model/enum/pay_in_payment_type.rb +29 -20
- data/lib/mangopay/model/enum/pay_out_payment_type.rb +10 -10
- data/lib/mangopay/model/enum/payment_status.rb +20 -20
- data/lib/mangopay/model/enum/person_type.rb +14 -14
- data/lib/mangopay/model/enum/platform_type.rb +22 -22
- data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +10 -10
- data/lib/mangopay/model/enum/pre_authorization_status.rb +17 -17
- data/lib/mangopay/model/enum/refund_reason_type.rb +20 -20
- data/lib/mangopay/model/enum/report_status.rb +16 -16
- data/lib/mangopay/model/enum/report_type.rb +12 -12
- data/lib/mangopay/model/enum/sector.rb +29 -0
- data/lib/mangopay/model/enum/secure_mode.rb +15 -15
- data/lib/mangopay/model/enum/transaction_nature.rb +16 -16
- data/lib/mangopay/model/enum/transaction_status.rb +14 -14
- data/lib/mangopay/model/enum/transaction_type.rb +14 -14
- data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +18 -18
- data/lib/mangopay/model/enum/ubo_declaration_status.rb +20 -20
- data/lib/mangopay/model/event.rb +17 -17
- data/lib/mangopay/model/model.rb +214 -193
- data/lib/mangopay/model/money.rb +16 -16
- data/lib/mangopay/model/pay_in_web_extended_view.rb +30 -30
- data/lib/mangopay/model/platform_categorization.rb +15 -0
- data/lib/mangopay/model/refund_reason.rb +14 -14
- data/lib/mangopay/model/report_filter.rb +82 -82
- data/lib/mangopay/model/request/cancel_request.rb +15 -15
- data/lib/mangopay/model/request/complete_registration_request.rb +12 -12
- data/lib/mangopay/model/request/currency_request.rb +12 -12
- data/lib/mangopay/model/request/deactivation_request.rb +9 -9
- data/lib/mangopay/model/request/filter_request.rb +37 -37
- data/lib/mangopay/model/request/submit_document_request.rb +13 -13
- data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +16 -13
- data/lib/mangopay/model/request/upload_file_request.rb +8 -8
- data/lib/mangopay/model/response_replica.rb +26 -26
- data/lib/mangopay/model/security_info.rb +13 -0
- data/lib/mangopay/util/custom_formatter.rb +11 -11
- data/lib/mangopay/util/custom_logger.rb +33 -33
- data/lib/mangopay/util/enum.rb +51 -51
- data/lib/mangopay/util/file_encoder.rb +15 -15
- data/lib/mangopay/util/non_instantiable.rb +5 -5
- data/lib/mangopay/util/storage_strategy.rb +9 -9
- data/lib/mangopay/util/void_logger.rb +5 -5
- data/mangopay-v4.gemspec +32 -0
- data/mangopay.gemspec +32 -32
- data/spec/context/address_context.rb +24 -24
- data/spec/context/bank_account_context.rb +137 -137
- data/spec/context/banking_alias_context.rb +17 -0
- data/spec/context/birthplace_context.rb +17 -0
- data/spec/context/card_context.rb +45 -45
- data/spec/context/client_context.rb +43 -44
- data/spec/context/dispute_context.rb +36 -36
- data/spec/context/dispute_document_context.rb +19 -19
- data/spec/context/hook_context.rb +15 -15
- data/spec/context/kyc_document_context.rb +22 -22
- data/spec/context/mandate_context.rb +26 -26
- data/spec/context/pay_in_context.rb +319 -224
- data/spec/context/pay_out_context.rb +39 -38
- data/spec/context/pre_authorization_context.rb +44 -40
- data/spec/context/refund_context.rb +32 -32
- data/spec/context/report_context.rb +21 -21
- data/spec/context/repudiation_context.rb +18 -18
- data/spec/context/settlement_transfer_context.rb +27 -27
- data/spec/context/transfer_context.rb +50 -50
- data/spec/context/ubo_declaration_context.rb +29 -24
- data/spec/context/user_context.rb +83 -82
- data/spec/context/wallet_context.rb +52 -52
- data/spec/mangopay/bank_accounts_spec.rb +228 -228
- data/spec/mangopay/banking_alias_spec.rb +85 -0
- data/spec/mangopay/cards_spec.rb +133 -134
- data/spec/mangopay/client_wallets_spec.rb +147 -147
- data/spec/mangopay/clients_spec.rb +56 -54
- data/spec/mangopay/configuration_spec.rb +125 -125
- data/spec/mangopay/dispute_documents_spec.rb +173 -173
- data/spec/mangopay/disputes_spec.rb +264 -264
- data/spec/mangopay/e_money_spec.rb +57 -37
- data/spec/mangopay/events_spec.rb +49 -49
- data/spec/mangopay/hooks_spec.rb +70 -70
- data/spec/mangopay/kyc_documents_spec.rb +179 -179
- data/spec/mangopay/mandates_spec.rb +218 -218
- data/spec/mangopay/oauth_tokens_spec.rb +40 -40
- data/spec/mangopay/pay_ins_spec.rb +279 -180
- data/spec/mangopay/pay_outs_spec.rb +38 -38
- data/spec/mangopay/pre_authorizations_spec.rb +134 -57
- data/spec/mangopay/refunds_spec.rb +187 -39
- data/spec/mangopay/reports_spec.rb +118 -120
- data/spec/mangopay/responses_spec.rb +324 -294
- data/spec/mangopay/settlement_transfers_spec.rb +36 -36
- data/spec/mangopay/transactions_spec.rb +347 -232
- data/spec/mangopay/transfers_spec.rb +37 -37
- data/spec/mangopay/ubo_declarations_spec.rb +127 -64
- data/spec/mangopay/users_spec.rb +145 -145
- data/spec/mangopay/wallets_spec.rb +103 -103
- data/spec/spec_helper.rb +72 -72
- data/spec/tmp/MangoPay.AuthorizationToken.FileStore.tmp +6 -0
- data/spec/tmp/mangopay.log.tmp +1201 -0
- metadata +31 -5
@@ -1,55 +1,55 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
|
3
|
-
module MangoApi
|
4
|
-
|
5
|
-
# Provides API method delegates concerning the +SettlementTransfer+ entity
|
6
|
-
module SettlementTransfers
|
7
|
-
class << self
|
8
|
-
include UriProvider
|
9
|
-
|
10
|
-
# Creates a new settlement transfer entity.
|
11
|
-
#
|
12
|
-
# +SettlementTransfer+ properties:
|
13
|
-
# * Required
|
14
|
-
# * author_id
|
15
|
-
# * debited_funds
|
16
|
-
# * fees
|
17
|
-
# * Optional
|
18
|
-
# * tag
|
19
|
-
#
|
20
|
-
# @param +repudiation_id+ [String] ID of the corresponding repudiation
|
21
|
-
# @param +transfer+ [SettlementTransfer] model object of the settlement
|
22
|
-
# transfer to be created
|
23
|
-
# @return [SettlementTransfer] the newly-created SettlementTransfer
|
24
|
-
# entity object
|
25
|
-
def create(repudiation_id, transfer)
|
26
|
-
uri = provide_uri(:create_settlement_transfer, repudiation_id)
|
27
|
-
response = HttpClient.post(uri, transfer)
|
28
|
-
parse response
|
29
|
-
end
|
30
|
-
|
31
|
-
# Retrieves a settlement transfer entity.
|
32
|
-
#
|
33
|
-
# @param +id+ [String] ID of the settlement transfer to retrieve
|
34
|
-
# @return [SettlementTransfer] the requested SettlementTransfer
|
35
|
-
# entity object
|
36
|
-
def get(id)
|
37
|
-
uri = provide_uri(:get_settlement_transfer, id)
|
38
|
-
response = HttpClient.get(uri)
|
39
|
-
parse response
|
40
|
-
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
# Parses a JSON-originating hash into the corresponding
|
45
|
-
# SettlementTransfer entity object.
|
46
|
-
#
|
47
|
-
# @param +response+ [Hash] JSON-originating data hash
|
48
|
-
# @return [SettlementTransfer] corresponding SettlementTransfer
|
49
|
-
# entity object
|
50
|
-
def parse(response)
|
51
|
-
MangoModel::SettlementTransfer.new.dejsonify response
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
|
3
|
+
module MangoApi
|
4
|
+
|
5
|
+
# Provides API method delegates concerning the +SettlementTransfer+ entity
|
6
|
+
module SettlementTransfers
|
7
|
+
class << self
|
8
|
+
include UriProvider
|
9
|
+
|
10
|
+
# Creates a new settlement transfer entity.
|
11
|
+
#
|
12
|
+
# +SettlementTransfer+ properties:
|
13
|
+
# * Required
|
14
|
+
# * author_id
|
15
|
+
# * debited_funds
|
16
|
+
# * fees
|
17
|
+
# * Optional
|
18
|
+
# * tag
|
19
|
+
#
|
20
|
+
# @param +repudiation_id+ [String] ID of the corresponding repudiation
|
21
|
+
# @param +transfer+ [SettlementTransfer] model object of the settlement
|
22
|
+
# transfer to be created
|
23
|
+
# @return [SettlementTransfer] the newly-created SettlementTransfer
|
24
|
+
# entity object
|
25
|
+
def create(repudiation_id, transfer)
|
26
|
+
uri = provide_uri(:create_settlement_transfer, repudiation_id)
|
27
|
+
response = HttpClient.post(uri, transfer)
|
28
|
+
parse response
|
29
|
+
end
|
30
|
+
|
31
|
+
# Retrieves a settlement transfer entity.
|
32
|
+
#
|
33
|
+
# @param +id+ [String] ID of the settlement transfer to retrieve
|
34
|
+
# @return [SettlementTransfer] the requested SettlementTransfer
|
35
|
+
# entity object
|
36
|
+
def get(id)
|
37
|
+
uri = provide_uri(:get_settlement_transfer, id)
|
38
|
+
response = HttpClient.get(uri)
|
39
|
+
parse response
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
# Parses a JSON-originating hash into the corresponding
|
45
|
+
# SettlementTransfer entity object.
|
46
|
+
#
|
47
|
+
# @param +response+ [Hash] JSON-originating data hash
|
48
|
+
# @return [SettlementTransfer] corresponding SettlementTransfer
|
49
|
+
# entity object
|
50
|
+
def parse(response)
|
51
|
+
MangoModel::SettlementTransfer.new.dejsonify response
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
55
|
end
|
@@ -1,183 +1,247 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
|
3
|
-
module MangoApi
|
4
|
-
|
5
|
-
# Provides API method delegates concerning the +Transaction+ entity
|
6
|
-
module Transactions
|
7
|
-
class << self
|
8
|
-
include UriProvider
|
9
|
-
|
10
|
-
# Retrieves pages of transaction entities belonging to a certain user.
|
11
|
-
# Allows configuration of paging and sorting parameters by
|
12
|
-
# yielding a filtering object to a provided block. When no filters
|
13
|
-
# are specified, will retrieve the first page of 10 newest results.
|
14
|
-
#
|
15
|
-
# Allowed +FilterRequest+ params:
|
16
|
-
# * page
|
17
|
-
# * per_page
|
18
|
-
# * sort_field and sort_direction
|
19
|
-
# * before_date
|
20
|
-
# * after_date
|
21
|
-
# * status
|
22
|
-
# * nature
|
23
|
-
# * type
|
24
|
-
#
|
25
|
-
# @param +id+ [String] ID of the user whose transactions to retrieve
|
26
|
-
# @return [Array] the requested Transaction entity objects
|
27
|
-
def of_user(id)
|
28
|
-
uri = provide_uri(:get_users_transactions, id)
|
29
|
-
filter_request = nil
|
30
|
-
yield filter_request = FilterRequest.new if block_given?
|
31
|
-
results = HttpClient.get(uri, filter_request)
|
32
|
-
parse_results results
|
33
|
-
end
|
34
|
-
|
35
|
-
# Retrieves pages of transaction entities belonging to a certain wallet.
|
36
|
-
# Allows configuration of paging and sorting parameters by
|
37
|
-
# yielding a filtering object to a provided block. When no filters
|
38
|
-
# are specified, will retrieve the first page of 10 newest results.
|
39
|
-
#
|
40
|
-
# Allowed +FilterRequest+ params:
|
41
|
-
# * page
|
42
|
-
# * per_page
|
43
|
-
# * sort_field and sort_direction
|
44
|
-
# * before_date
|
45
|
-
# * after_date
|
46
|
-
# * status
|
47
|
-
# * nature
|
48
|
-
# * type
|
49
|
-
#
|
50
|
-
# @param +id+ [String] ID of the user whose transactions to retrieve
|
51
|
-
# @return [Array] the requested Transaction entity objects
|
52
|
-
def of_wallet(id)
|
53
|
-
uri = provide_uri(:get_wallets_transactions, id)
|
54
|
-
filter_request = nil
|
55
|
-
yield filter_request = FilterRequest.new if block_given?
|
56
|
-
results = HttpClient.get(uri, filter_request)
|
57
|
-
parse_results results
|
58
|
-
end
|
59
|
-
|
60
|
-
# Retrieves pages of transaction entities belonging to a certain dispute.
|
61
|
-
# Allows configuration of paging and sorting parameters by
|
62
|
-
# yielding a filtering object to a provided block. When no filters
|
63
|
-
# are specified, will retrieve the first page of 10 newest results.
|
64
|
-
#
|
65
|
-
# Allowed +FilterRequest+ params:
|
66
|
-
# * page
|
67
|
-
# * per_page
|
68
|
-
# * sort_field and sort_direction
|
69
|
-
# * before_date
|
70
|
-
# * after_date
|
71
|
-
# * status
|
72
|
-
# * nature
|
73
|
-
# * type
|
74
|
-
#
|
75
|
-
# @param +id+ [String] ID of the dispute whose transactions to retrieve
|
76
|
-
# @return [Array] the requested Transaction entity objects
|
77
|
-
def of_dispute(id)
|
78
|
-
uri = provide_uri(:get_disputes_transactions, id)
|
79
|
-
filter_request = nil
|
80
|
-
yield filter_request = FilterRequest.new if block_given?
|
81
|
-
results = HttpClient.get(uri, filter_request)
|
82
|
-
parse_results results
|
83
|
-
end
|
84
|
-
|
85
|
-
# Retrieves pages of transaction entities belonging to
|
86
|
-
# the current environment's client. Allows configuration of
|
87
|
-
# paging and sorting parameters by yielding a filtering object
|
88
|
-
# to a provided block. When no filters are specified, will
|
89
|
-
# retrieve the first page of 10 newest results.
|
90
|
-
#
|
91
|
-
# Allowed +FilterRequest+ params:
|
92
|
-
# * page
|
93
|
-
# * per_page
|
94
|
-
# * sort_field and sort_direction
|
95
|
-
# * before_date
|
96
|
-
# * after_date
|
97
|
-
# * status
|
98
|
-
# * nature
|
99
|
-
# * type
|
100
|
-
#
|
101
|
-
# @return [Array] the requested Transaction entity objects
|
102
|
-
def of_client
|
103
|
-
uri = provide_uri(:get_clients_transactions)
|
104
|
-
filter_request = nil
|
105
|
-
yield filter_request = FilterRequest.new if block_given?
|
106
|
-
results = HttpClient.get(uri, filter_request)
|
107
|
-
parse_results results
|
108
|
-
end
|
109
|
-
|
110
|
-
# Retrieves pages of transaction entities belonging to
|
111
|
-
# the current environment's client wallet specified by
|
112
|
-
# +funds_type+ and +currency+. Allows configuration of
|
113
|
-
# paging and sorting parameters by yielding a filtering object
|
114
|
-
# to a provided block. When no filters are specified, will
|
115
|
-
# retrieve the first page of 10 newest results.
|
116
|
-
#
|
117
|
-
# Allowed +FilterRequest+ params:
|
118
|
-
# * page
|
119
|
-
# * per_page
|
120
|
-
# * sort_field and sort_direction
|
121
|
-
# * before_date
|
122
|
-
# * after_date
|
123
|
-
# * status
|
124
|
-
# * nature
|
125
|
-
# * type
|
126
|
-
#
|
127
|
-
# @param +funds_type+ [FundsType] the funds' type of the wallet to
|
128
|
-
# retrieve Transactions for
|
129
|
-
# @return [Array] the requested Transaction entity objects
|
130
|
-
def of_client_wallet(funds_type, currency)
|
131
|
-
uri = provide_uri(:get_client_wallets_transactions,
|
132
|
-
funds_type,
|
133
|
-
currency)
|
134
|
-
filter_request = nil
|
135
|
-
yield filter_request = FilterRequest.new if block_given?
|
136
|
-
results = HttpClient.get(uri, filter_request)
|
137
|
-
parse_results results
|
138
|
-
end
|
139
|
-
|
140
|
-
# Retrieves pages of transaction entities belonging to a certain
|
141
|
-
# pre-authorization.Allows configuration of paging and sorting parameters
|
142
|
-
# by yielding a filtering object to a provided block. When no filters
|
143
|
-
# are specified, will retrieve the first page of 10 newest results.
|
144
|
-
#
|
145
|
-
# Allowed +FilterRequest+ params:
|
146
|
-
# * page
|
147
|
-
# * per_page
|
148
|
-
# * sort_field and sort_direction
|
149
|
-
#
|
150
|
-
# @param +id+ [String] ID of the dispute whose transactions to retrieve
|
151
|
-
# @return [Array] the requested Transaction entity objects
|
152
|
-
def of_pre_authorization(id)
|
153
|
-
uri = provide_uri(:get_pre_authorizations_transactions, id)
|
154
|
-
filter_request = nil
|
155
|
-
yield filter_request = FilterRequest.new if block_given?
|
156
|
-
results = HttpClient.get(uri, filter_request)
|
157
|
-
parse_results results
|
158
|
-
end
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
#
|
163
|
-
#
|
164
|
-
#
|
165
|
-
#
|
166
|
-
#
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
#
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
end
|
181
|
-
|
182
|
-
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
|
3
|
+
module MangoApi
|
4
|
+
|
5
|
+
# Provides API method delegates concerning the +Transaction+ entity
|
6
|
+
module Transactions
|
7
|
+
class << self
|
8
|
+
include UriProvider
|
9
|
+
|
10
|
+
# Retrieves pages of transaction entities belonging to a certain user.
|
11
|
+
# Allows configuration of paging and sorting parameters by
|
12
|
+
# yielding a filtering object to a provided block. When no filters
|
13
|
+
# are specified, will retrieve the first page of 10 newest results.
|
14
|
+
#
|
15
|
+
# Allowed +FilterRequest+ params:
|
16
|
+
# * page
|
17
|
+
# * per_page
|
18
|
+
# * sort_field and sort_direction
|
19
|
+
# * before_date
|
20
|
+
# * after_date
|
21
|
+
# * status
|
22
|
+
# * nature
|
23
|
+
# * type
|
24
|
+
#
|
25
|
+
# @param +id+ [String] ID of the user whose transactions to retrieve
|
26
|
+
# @return [Array] the requested Transaction entity objects
|
27
|
+
def of_user(id)
|
28
|
+
uri = provide_uri(:get_users_transactions, id)
|
29
|
+
filter_request = nil
|
30
|
+
yield filter_request = FilterRequest.new if block_given?
|
31
|
+
results = HttpClient.get(uri, filter_request)
|
32
|
+
parse_results results
|
33
|
+
end
|
34
|
+
|
35
|
+
# Retrieves pages of transaction entities belonging to a certain wallet.
|
36
|
+
# Allows configuration of paging and sorting parameters by
|
37
|
+
# yielding a filtering object to a provided block. When no filters
|
38
|
+
# are specified, will retrieve the first page of 10 newest results.
|
39
|
+
#
|
40
|
+
# Allowed +FilterRequest+ params:
|
41
|
+
# * page
|
42
|
+
# * per_page
|
43
|
+
# * sort_field and sort_direction
|
44
|
+
# * before_date
|
45
|
+
# * after_date
|
46
|
+
# * status
|
47
|
+
# * nature
|
48
|
+
# * type
|
49
|
+
#
|
50
|
+
# @param +id+ [String] ID of the user whose transactions to retrieve
|
51
|
+
# @return [Array] the requested Transaction entity objects
|
52
|
+
def of_wallet(id)
|
53
|
+
uri = provide_uri(:get_wallets_transactions, id)
|
54
|
+
filter_request = nil
|
55
|
+
yield filter_request = FilterRequest.new if block_given?
|
56
|
+
results = HttpClient.get(uri, filter_request)
|
57
|
+
parse_results results
|
58
|
+
end
|
59
|
+
|
60
|
+
# Retrieves pages of transaction entities belonging to a certain dispute.
|
61
|
+
# Allows configuration of paging and sorting parameters by
|
62
|
+
# yielding a filtering object to a provided block. When no filters
|
63
|
+
# are specified, will retrieve the first page of 10 newest results.
|
64
|
+
#
|
65
|
+
# Allowed +FilterRequest+ params:
|
66
|
+
# * page
|
67
|
+
# * per_page
|
68
|
+
# * sort_field and sort_direction
|
69
|
+
# * before_date
|
70
|
+
# * after_date
|
71
|
+
# * status
|
72
|
+
# * nature
|
73
|
+
# * type
|
74
|
+
#
|
75
|
+
# @param +id+ [String] ID of the dispute whose transactions to retrieve
|
76
|
+
# @return [Array] the requested Transaction entity objects
|
77
|
+
def of_dispute(id)
|
78
|
+
uri = provide_uri(:get_disputes_transactions, id)
|
79
|
+
filter_request = nil
|
80
|
+
yield filter_request = FilterRequest.new if block_given?
|
81
|
+
results = HttpClient.get(uri, filter_request)
|
82
|
+
parse_results results
|
83
|
+
end
|
84
|
+
|
85
|
+
# Retrieves pages of transaction entities belonging to
|
86
|
+
# the current environment's client. Allows configuration of
|
87
|
+
# paging and sorting parameters by yielding a filtering object
|
88
|
+
# to a provided block. When no filters are specified, will
|
89
|
+
# retrieve the first page of 10 newest results.
|
90
|
+
#
|
91
|
+
# Allowed +FilterRequest+ params:
|
92
|
+
# * page
|
93
|
+
# * per_page
|
94
|
+
# * sort_field and sort_direction
|
95
|
+
# * before_date
|
96
|
+
# * after_date
|
97
|
+
# * status
|
98
|
+
# * nature
|
99
|
+
# * type
|
100
|
+
#
|
101
|
+
# @return [Array] the requested Transaction entity objects
|
102
|
+
def of_client
|
103
|
+
uri = provide_uri(:get_clients_transactions)
|
104
|
+
filter_request = nil
|
105
|
+
yield filter_request = FilterRequest.new if block_given?
|
106
|
+
results = HttpClient.get(uri, filter_request)
|
107
|
+
parse_results results
|
108
|
+
end
|
109
|
+
|
110
|
+
# Retrieves pages of transaction entities belonging to
|
111
|
+
# the current environment's client wallet specified by
|
112
|
+
# +funds_type+ and +currency+. Allows configuration of
|
113
|
+
# paging and sorting parameters by yielding a filtering object
|
114
|
+
# to a provided block. When no filters are specified, will
|
115
|
+
# retrieve the first page of 10 newest results.
|
116
|
+
#
|
117
|
+
# Allowed +FilterRequest+ params:
|
118
|
+
# * page
|
119
|
+
# * per_page
|
120
|
+
# * sort_field and sort_direction
|
121
|
+
# * before_date
|
122
|
+
# * after_date
|
123
|
+
# * status
|
124
|
+
# * nature
|
125
|
+
# * type
|
126
|
+
#
|
127
|
+
# @param +funds_type+ [FundsType] the funds' type of the wallet to
|
128
|
+
# retrieve Transactions for
|
129
|
+
# @return [Array] the requested Transaction entity objects
|
130
|
+
def of_client_wallet(funds_type, currency)
|
131
|
+
uri = provide_uri(:get_client_wallets_transactions,
|
132
|
+
funds_type,
|
133
|
+
currency)
|
134
|
+
filter_request = nil
|
135
|
+
yield filter_request = FilterRequest.new if block_given?
|
136
|
+
results = HttpClient.get(uri, filter_request)
|
137
|
+
parse_results results
|
138
|
+
end
|
139
|
+
|
140
|
+
# Retrieves pages of transaction entities belonging to a certain
|
141
|
+
# pre-authorization. Allows configuration of paging and sorting parameters
|
142
|
+
# by yielding a filtering object to a provided block. When no filters
|
143
|
+
# are specified, will retrieve the first page of 10 newest results.
|
144
|
+
#
|
145
|
+
# Allowed +FilterRequest+ params:
|
146
|
+
# * page
|
147
|
+
# * per_page
|
148
|
+
# * sort_field and sort_direction
|
149
|
+
#
|
150
|
+
# @param +id+ [String] ID of the dispute whose transactions to retrieve
|
151
|
+
# @return [Array] the requested Transaction entity objects
|
152
|
+
def of_pre_authorization(id)
|
153
|
+
uri = provide_uri(:get_pre_authorizations_transactions, id)
|
154
|
+
filter_request = nil
|
155
|
+
yield filter_request = FilterRequest.new if block_given?
|
156
|
+
results = HttpClient.get(uri, filter_request)
|
157
|
+
parse_results results
|
158
|
+
end
|
159
|
+
|
160
|
+
# Retrieves pages of card entities belonging to a certain card.
|
161
|
+
# Allows configuration of paging and sorting parameters by yielding
|
162
|
+
# a filtering object to a provided block. When no filters are specified,
|
163
|
+
# will retrieve the first page of 10 newest results.
|
164
|
+
#
|
165
|
+
# Allowed +FilterRequest+ params:
|
166
|
+
# * page
|
167
|
+
# * per_page
|
168
|
+
# * sort_field and sort_direction
|
169
|
+
# * status
|
170
|
+
# * result_code
|
171
|
+
#
|
172
|
+
# @param +id+ [String] ID of the card whose transactions to retrieve
|
173
|
+
# @return [Array] the requested Transaction entity objects
|
174
|
+
def of_card(id)
|
175
|
+
uri = provide_uri(:get_cards_transactions, id)
|
176
|
+
filter_request = nil
|
177
|
+
yield filter_request = FilterRequest.new if block_given?
|
178
|
+
results = HttpClient.get(uri, filter_request)
|
179
|
+
parse_results results
|
180
|
+
end
|
181
|
+
|
182
|
+
# Retrieves pages of transaction entities belonging to a certain
|
183
|
+
# bank account. Allows configuration of paging and sorting parameters
|
184
|
+
# by yielding a filtering object to a provided block. When no filters
|
185
|
+
# are specified, will retrieve the first page of 10 newest results.
|
186
|
+
#
|
187
|
+
# Allowed +FilterRequest+ params:
|
188
|
+
# * page
|
189
|
+
# * per_page
|
190
|
+
# * sort_field and sort_direction
|
191
|
+
# * status
|
192
|
+
# * result_code
|
193
|
+
#
|
194
|
+
# @param +id+ [String] ID of the bank account whose transactions to retrieve
|
195
|
+
# @return [Array] the requested Transaction entity objects
|
196
|
+
def of_bank_account(id)
|
197
|
+
uri = provide_uri(:get_bank_accounts_transactions, id)
|
198
|
+
filter_request = nil
|
199
|
+
yield filter_request = FilterRequest.new if block_given?
|
200
|
+
results = HttpClient.get(uri, filter_request)
|
201
|
+
parse_results results
|
202
|
+
end
|
203
|
+
|
204
|
+
# Retrieves pages of transaction entities belonging to a certain
|
205
|
+
# mandate. Allows configuration of paging and sorting parameters
|
206
|
+
# by yielding a filtering object to a provided block. When no filters
|
207
|
+
# are specified, will retrieve the first page of 10 newest results.
|
208
|
+
#
|
209
|
+
# Allowed +FilterRequest+ params:
|
210
|
+
# * page
|
211
|
+
# * per_page
|
212
|
+
# * sort_field and sort_direction
|
213
|
+
#
|
214
|
+
# @param +id+ [String] ID of the mandate whose transactions to retrieve
|
215
|
+
# @return [Array] the requested Transaction entity objects
|
216
|
+
def of_mandate(id)
|
217
|
+
uri = provide_uri(:get_mandates_transactions, id)
|
218
|
+
filter_request = nil
|
219
|
+
yield filter_request = FilterRequest.new if block_given?
|
220
|
+
results = HttpClient.get(uri, filter_request)
|
221
|
+
parse_results results
|
222
|
+
end
|
223
|
+
|
224
|
+
private
|
225
|
+
|
226
|
+
# Parses an array of JSON-originating hashes into the corresponding
|
227
|
+
# Transaction entity objects.
|
228
|
+
#
|
229
|
+
# @param +results+ [Array] JSON-originating data hashes
|
230
|
+
# @return [Array] parsed Transaction entity objects
|
231
|
+
def parse_results(results)
|
232
|
+
results.collect do |entity|
|
233
|
+
parse entity
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
# Parses a JSON-originating hash into the corresponding
|
238
|
+
# Transaction entity object.
|
239
|
+
#
|
240
|
+
# @param +response+ [Hash] JSON-originating data hash
|
241
|
+
# @return [Transaction] corresponding Transaction entity object
|
242
|
+
def parse(response)
|
243
|
+
MangoModel::Transaction.new.dejsonify response
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
183
247
|
end
|