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,54 +1,54 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
|
3
|
-
module MangoApi
|
4
|
-
|
5
|
-
# Provides API method delegates concerning the +PayOut+ entity
|
6
|
-
module PayOuts
|
7
|
-
class << self
|
8
|
-
include UriProvider
|
9
|
-
|
10
|
-
# Creates a new pay-out entity.
|
11
|
-
#
|
12
|
-
# +PayOut+ properties:
|
13
|
-
# * Required
|
14
|
-
# * author_id
|
15
|
-
# * debited_funds
|
16
|
-
# * fees
|
17
|
-
# * bank_account_id
|
18
|
-
# * debited_wallet_id
|
19
|
-
# * Optional
|
20
|
-
# * tag
|
21
|
-
# * bank_wire_ref
|
22
|
-
#
|
23
|
-
# @param +pay_out+ [PayOut] model object of the pay-out to be created
|
24
|
-
# @param +id_key+ [String] idempotency key for future response replication
|
25
|
-
# @return [PayOut] the newly-created PayOut entity object
|
26
|
-
def create(pay_out, id_key = nil)
|
27
|
-
uri = provide_uri(:create_pay_out)
|
28
|
-
response = HttpClient.post(uri, pay_out, id_key)
|
29
|
-
parse response
|
30
|
-
end
|
31
|
-
|
32
|
-
# Retrieves a pay-out entity.
|
33
|
-
#
|
34
|
-
# @param +id+ [String] ID of the pay-out to retrieve
|
35
|
-
# @return [PayOut] the requested PayOut entity object
|
36
|
-
def get(id)
|
37
|
-
uri = provide_uri(:get_pay_out, 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
|
-
# PayOut entity object.
|
46
|
-
#
|
47
|
-
# @param +response+ [Hash] JSON-originating data hash
|
48
|
-
# @return [PayOut] corresponding PayOut entity object
|
49
|
-
def parse(response)
|
50
|
-
MangoModel::PayOut.new.dejsonify response
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
|
3
|
+
module MangoApi
|
4
|
+
|
5
|
+
# Provides API method delegates concerning the +PayOut+ entity
|
6
|
+
module PayOuts
|
7
|
+
class << self
|
8
|
+
include UriProvider
|
9
|
+
|
10
|
+
# Creates a new pay-out entity.
|
11
|
+
#
|
12
|
+
# +PayOut+ properties:
|
13
|
+
# * Required
|
14
|
+
# * author_id
|
15
|
+
# * debited_funds
|
16
|
+
# * fees
|
17
|
+
# * bank_account_id
|
18
|
+
# * debited_wallet_id
|
19
|
+
# * Optional
|
20
|
+
# * tag
|
21
|
+
# * bank_wire_ref
|
22
|
+
#
|
23
|
+
# @param +pay_out+ [PayOut] model object of the pay-out to be created
|
24
|
+
# @param +id_key+ [String] idempotency key for future response replication
|
25
|
+
# @return [PayOut] the newly-created PayOut entity object
|
26
|
+
def create(pay_out, id_key = nil)
|
27
|
+
uri = provide_uri(:create_pay_out)
|
28
|
+
response = HttpClient.post(uri, pay_out, id_key)
|
29
|
+
parse response
|
30
|
+
end
|
31
|
+
|
32
|
+
# Retrieves a pay-out entity.
|
33
|
+
#
|
34
|
+
# @param +id+ [String] ID of the pay-out to retrieve
|
35
|
+
# @return [PayOut] the requested PayOut entity object
|
36
|
+
def get(id)
|
37
|
+
uri = provide_uri(:get_pay_out, 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
|
+
# PayOut entity object.
|
46
|
+
#
|
47
|
+
# @param +response+ [Hash] JSON-originating data hash
|
48
|
+
# @return [PayOut] corresponding PayOut entity object
|
49
|
+
def parse(response)
|
50
|
+
MangoModel::PayOut.new.dejsonify response
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
54
|
end
|
@@ -1,69 +1,127 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
require_relative '../../model/request/cancel_request'
|
3
|
-
|
4
|
-
module MangoApi
|
5
|
-
|
6
|
-
# Provides API method delegates concerning the +PreAuthorization+ entity
|
7
|
-
module PreAuthorizations
|
8
|
-
class << self
|
9
|
-
include UriProvider
|
10
|
-
|
11
|
-
# Creates a new Pre-Authorization entity.
|
12
|
-
#
|
13
|
-
# +PreAuthorization+ properties:
|
14
|
-
# * Required
|
15
|
-
# * author_id
|
16
|
-
# * debited_funds
|
17
|
-
# * card_id
|
18
|
-
# * secure_mode_return_url
|
19
|
-
# * Optional
|
20
|
-
# * tag
|
21
|
-
# * secure_mode
|
22
|
-
#
|
23
|
-
# @param +pre_auth+ [PreAuthorization] the pre-authorization
|
24
|
-
# data model object
|
25
|
-
# @param +id_key+ [String] idempotency key for future response replication
|
26
|
-
# @return [PreAuthorization] the newly-created PreAuthorization
|
27
|
-
# entity object
|
28
|
-
def create(pre_auth, id_key = nil)
|
29
|
-
uri = provide_uri(:create_pre_authorization)
|
30
|
-
response = HttpClient.post(uri, pre_auth, id_key)
|
31
|
-
parse response
|
32
|
-
end
|
33
|
-
|
34
|
-
# Retrieves a Pre-Authorization entity.
|
35
|
-
#
|
36
|
-
# @param +id+ [String] ID of the pre-authorization to retrieve
|
37
|
-
# @return [PreAuthorization] the requested Pre-Authorization
|
38
|
-
# entity object
|
39
|
-
def get(id)
|
40
|
-
uri = provide_uri(:get_pre_authorization, id)
|
41
|
-
response = HttpClient.get(uri)
|
42
|
-
parse response
|
43
|
-
end
|
44
|
-
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
#
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
end
|
67
|
-
|
68
|
-
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
require_relative '../../model/request/cancel_request'
|
3
|
+
|
4
|
+
module MangoApi
|
5
|
+
|
6
|
+
# Provides API method delegates concerning the +PreAuthorization+ entity
|
7
|
+
module PreAuthorizations
|
8
|
+
class << self
|
9
|
+
include UriProvider
|
10
|
+
|
11
|
+
# Creates a new Pre-Authorization entity.
|
12
|
+
#
|
13
|
+
# +PreAuthorization+ properties:
|
14
|
+
# * Required
|
15
|
+
# * author_id
|
16
|
+
# * debited_funds
|
17
|
+
# * card_id
|
18
|
+
# * secure_mode_return_url
|
19
|
+
# * Optional
|
20
|
+
# * tag
|
21
|
+
# * secure_mode
|
22
|
+
#
|
23
|
+
# @param +pre_auth+ [PreAuthorization] the pre-authorization
|
24
|
+
# data model object
|
25
|
+
# @param +id_key+ [String] idempotency key for future response replication
|
26
|
+
# @return [PreAuthorization] the newly-created PreAuthorization
|
27
|
+
# entity object
|
28
|
+
def create(pre_auth, id_key = nil)
|
29
|
+
uri = provide_uri(:create_pre_authorization)
|
30
|
+
response = HttpClient.post(uri, pre_auth, id_key)
|
31
|
+
parse response
|
32
|
+
end
|
33
|
+
|
34
|
+
# Retrieves a Pre-Authorization entity.
|
35
|
+
#
|
36
|
+
# @param +id+ [String] ID of the pre-authorization to retrieve
|
37
|
+
# @return [PreAuthorization] the requested Pre-Authorization
|
38
|
+
# entity object
|
39
|
+
def get(id)
|
40
|
+
uri = provide_uri(:get_pre_authorization, id)
|
41
|
+
response = HttpClient.get(uri)
|
42
|
+
parse response
|
43
|
+
end
|
44
|
+
|
45
|
+
# Retrieves pages of pre-authorization entities belonging to a certain
|
46
|
+
# user. Allows configuration of paging and sorting parameters
|
47
|
+
# by yielding a filtering object to a provided block. When no filters
|
48
|
+
# are specified, will retrieve the first page of 10 newest results.
|
49
|
+
#
|
50
|
+
# Allowed +FilterRequest+ params:
|
51
|
+
# * page
|
52
|
+
# * per_page
|
53
|
+
# * sort_field and sort_direction
|
54
|
+
# * status
|
55
|
+
# * result_code
|
56
|
+
# * payment_status
|
57
|
+
#
|
58
|
+
# @param +id+ [String] ID of the dispute whose transactions to retrieve
|
59
|
+
# @return [Array] the requested Transaction entity objects
|
60
|
+
def of_user(id)
|
61
|
+
uri = provide_uri(:get_users_pre_authorizations, id)
|
62
|
+
filter_request = nil
|
63
|
+
yield filter_request = FilterRequest.new if block_given?
|
64
|
+
results = HttpClient.get(uri, filter_request)
|
65
|
+
parse_results results
|
66
|
+
end
|
67
|
+
|
68
|
+
# Cancels a Pre-Authorization entity.
|
69
|
+
#
|
70
|
+
# @param +id+ [String] ID of the pre-authorization to cancel
|
71
|
+
# @return [PreAuthorization] the requested Pre-Authorization
|
72
|
+
# entity object
|
73
|
+
def cancel(id)
|
74
|
+
uri = provide_uri(:cancel_pre_authorization, id)
|
75
|
+
cancel_request = CancelRequest.new
|
76
|
+
response = HttpClient.put(uri, cancel_request)
|
77
|
+
parse response
|
78
|
+
end
|
79
|
+
|
80
|
+
# Retrieves pre-authorization entities belonging to a certain card.
|
81
|
+
# Allows configuration of paging and sorting parameters by
|
82
|
+
# yielding a filtering object to a provided block. When no
|
83
|
+
# filters are specified, will retrieve the first page of
|
84
|
+
# 10 newest results.
|
85
|
+
#
|
86
|
+
# Allowed +FilterRequest+ params:
|
87
|
+
# * page
|
88
|
+
# * per_page
|
89
|
+
# * sort_field and sort_direction
|
90
|
+
# * result_code
|
91
|
+
# * status
|
92
|
+
# * payment_status
|
93
|
+
#
|
94
|
+
# @param +id+ [String] ID of the card whose pre-authorizations to retrieve
|
95
|
+
# @return [Array] corresponding PreAuthorization entity objects
|
96
|
+
def of_card(id)
|
97
|
+
uri = provide_uri(:get_preauthorizations_for_card, id)
|
98
|
+
filter_request = nil
|
99
|
+
yield filter_request = FilterRequest.new if block_given?
|
100
|
+
results = HttpClient.get(uri, filter_request)
|
101
|
+
parse_results results
|
102
|
+
end
|
103
|
+
|
104
|
+
private
|
105
|
+
|
106
|
+
# Parses a JSON-originating hash into the corresponding
|
107
|
+
# PreAuthorization entity object.
|
108
|
+
#
|
109
|
+
# @param +response+ [Hash] JSON-originating data hash
|
110
|
+
# @return [PreAuthorization] corresponding PreAuthorization entity object
|
111
|
+
def parse(response)
|
112
|
+
MangoModel::PreAuthorization.new.dejsonify response
|
113
|
+
end
|
114
|
+
|
115
|
+
# Parses an array of JSON-originating hashes into the corresponding
|
116
|
+
# PreAuthorization entity objects.
|
117
|
+
#
|
118
|
+
# @param +results+ [Array] JSON-originating data hashes
|
119
|
+
# @return [Array] parsed PreAuthorization entity objects
|
120
|
+
def parse_results(results)
|
121
|
+
results.collect do |entity|
|
122
|
+
parse entity
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
69
127
|
end
|
@@ -1,62 +1,160 @@
|
|
1
|
-
require_relative '../uri_provider'
|
2
|
-
|
3
|
-
module MangoApi
|
4
|
-
|
5
|
-
# Provides API method delegates concerning the +Refund+ entity
|
6
|
-
module Refunds
|
7
|
-
class << self
|
8
|
-
include UriProvider
|
9
|
-
|
10
|
-
# Creates a Pay-In Refund, which is a request to reimburse a user
|
11
|
-
# on their payment card. The money which was paid will automatically
|
12
|
-
# go back to the user's bank account.
|
13
|
-
#
|
14
|
-
# +Refund+ properties:
|
15
|
-
# * Required
|
16
|
-
# * author_id
|
17
|
-
# * Optional
|
18
|
-
# * tag
|
19
|
-
# * debited_funds
|
20
|
-
# * fees
|
21
|
-
#
|
22
|
-
# @param +id+ [String] ID of the pay-in being refunded
|
23
|
-
# @param +refund+ [Refund] model object of the refund being created
|
24
|
-
# @param +id_key+ [String] idempotency key for future response replication
|
25
|
-
# @return [Refund] the newly-created Refund entity object
|
26
|
-
def create_for_pay_in(id, refund, id_key = nil)
|
27
|
-
uri = provide_uri(:create_pay_in_refund, id)
|
28
|
-
response = HttpClient.post(uri, refund, id_key)
|
29
|
-
parse response
|
30
|
-
end
|
31
|
-
|
32
|
-
# Creates a Transfer Refund.
|
33
|
-
#
|
34
|
-
# +Refund+ properties:
|
35
|
-
# * Required
|
36
|
-
# * author_id
|
37
|
-
# * Optional
|
38
|
-
# * tag
|
39
|
-
#
|
40
|
-
# @param +id+ [String] ID of the transfer being refunded
|
41
|
-
# @param +refund+ [Refund] model object of the refund being created
|
42
|
-
# @param +id_key+ [String] idempotency key for future response replication
|
43
|
-
# @return [Refund] the newly-created Refund entity object
|
44
|
-
def create_for_transfer(id, refund, id_key = nil)
|
45
|
-
uri = provide_uri(:create_transfer_refund, id)
|
46
|
-
response = HttpClient.post(uri, refund, id_key)
|
47
|
-
parse response
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
1
|
+
require_relative '../uri_provider'
|
2
|
+
|
3
|
+
module MangoApi
|
4
|
+
|
5
|
+
# Provides API method delegates concerning the +Refund+ entity
|
6
|
+
module Refunds
|
7
|
+
class << self
|
8
|
+
include UriProvider
|
9
|
+
|
10
|
+
# Creates a Pay-In Refund, which is a request to reimburse a user
|
11
|
+
# on their payment card. The money which was paid will automatically
|
12
|
+
# go back to the user's bank account.
|
13
|
+
#
|
14
|
+
# +Refund+ properties:
|
15
|
+
# * Required
|
16
|
+
# * author_id
|
17
|
+
# * Optional
|
18
|
+
# * tag
|
19
|
+
# * debited_funds
|
20
|
+
# * fees
|
21
|
+
#
|
22
|
+
# @param +id+ [String] ID of the pay-in being refunded
|
23
|
+
# @param +refund+ [Refund] model object of the refund being created
|
24
|
+
# @param +id_key+ [String] idempotency key for future response replication
|
25
|
+
# @return [Refund] the newly-created Refund entity object
|
26
|
+
def create_for_pay_in(id, refund, id_key = nil)
|
27
|
+
uri = provide_uri(:create_pay_in_refund, id)
|
28
|
+
response = HttpClient.post(uri, refund, id_key)
|
29
|
+
parse response
|
30
|
+
end
|
31
|
+
|
32
|
+
# Creates a Transfer Refund.
|
33
|
+
#
|
34
|
+
# +Refund+ properties:
|
35
|
+
# * Required
|
36
|
+
# * author_id
|
37
|
+
# * Optional
|
38
|
+
# * tag
|
39
|
+
#
|
40
|
+
# @param +id+ [String] ID of the transfer being refunded
|
41
|
+
# @param +refund+ [Refund] model object of the refund being created
|
42
|
+
# @param +id_key+ [String] idempotency key for future response replication
|
43
|
+
# @return [Refund] the newly-created Refund entity object
|
44
|
+
def create_for_transfer(id, refund, id_key = nil)
|
45
|
+
uri = provide_uri(:create_transfer_refund, id)
|
46
|
+
response = HttpClient.post(uri, refund, id_key)
|
47
|
+
parse response
|
48
|
+
end
|
49
|
+
|
50
|
+
# Retrieves pages of refund entities belonging to a certain pay-out.
|
51
|
+
# Allows configuration of paging and sorting parameters by yielding
|
52
|
+
# a filtering object to a provided block. When no filters are specified,
|
53
|
+
# will retrieve the first page of 10 newest results.
|
54
|
+
#
|
55
|
+
# Allowed +FilterRequest+ params:
|
56
|
+
# * page
|
57
|
+
# * per_page
|
58
|
+
# * sort_field and sort_direction
|
59
|
+
# * status
|
60
|
+
# * result_code
|
61
|
+
#
|
62
|
+
# @param +id+ [String] ID of the pay-out whose refunds to retrieve
|
63
|
+
# @return [Array] the requested Refund entity objects
|
64
|
+
def of_pay_out(id)
|
65
|
+
uri = provide_uri(:get_payouts_refunds, id)
|
66
|
+
filter_request = nil
|
67
|
+
yield filter_request = FilterRequest.new if block_given?
|
68
|
+
results = HttpClient.get(uri, filter_request)
|
69
|
+
parse_results results
|
70
|
+
end
|
71
|
+
|
72
|
+
# Retrieves pages of refund entities belonging to a certain transfer.
|
73
|
+
# Allows configuration of paging and sorting parameters by yielding
|
74
|
+
# a filtering object to a provided block. When no filters are specified,
|
75
|
+
# will retrieve the first page of 10 newest results.
|
76
|
+
# Allowed +FilterRequest+ params:
|
77
|
+
# * page
|
78
|
+
# * per_page
|
79
|
+
# * sort_field and sort_direction
|
80
|
+
# * status
|
81
|
+
# * result_code
|
82
|
+
#
|
83
|
+
# @param +id+ [String] ID of the transfer whose refunds to retrieve
|
84
|
+
# @return [Array] the requested Refund entity objects
|
85
|
+
def of_transfer(id)
|
86
|
+
uri = provide_uri(:get_transfers_refunds, id)
|
87
|
+
filter_request = nil
|
88
|
+
yield filter_request = FilterRequest.new if block_given?
|
89
|
+
results = HttpClient.get(uri, filter_request)
|
90
|
+
parse_results results
|
91
|
+
end
|
92
|
+
|
93
|
+
# Retrieves pages of refund entities belonging to a certain pay-in.
|
94
|
+
# Allows configuration of paging and sorting parameters by yielding
|
95
|
+
# a filtering object to a provided block. When no filters are specified,
|
96
|
+
# will retrieve the first page of 10 newest results.
|
97
|
+
#
|
98
|
+
# Allowed +FilterRequest+ params:
|
99
|
+
# * page
|
100
|
+
# * per_page
|
101
|
+
# * sort_field and sort_direction
|
102
|
+
# * status
|
103
|
+
# * result_code
|
104
|
+
#
|
105
|
+
# @param +id+ [String] ID of the pay-in whose refunds to retrieve
|
106
|
+
# @return [Array] the requested Refund entity objects
|
107
|
+
def of_pay_in(id)
|
108
|
+
uri = provide_uri(:get_payins_refunds, id)
|
109
|
+
filter_request = nil
|
110
|
+
yield filter_request = FilterRequest.new if block_given?
|
111
|
+
results = HttpClient.get(uri, filter_request)
|
112
|
+
parse_results results
|
113
|
+
end
|
114
|
+
|
115
|
+
# Retrieves pages of refund entities belonging to a certain repudiation.
|
116
|
+
# Allows configuration of paging and sorting parameters by yielding
|
117
|
+
# a filtering object to a provided block. When no filters are specified,
|
118
|
+
# will retrieve the first page of 10 newest results.
|
119
|
+
#
|
120
|
+
# Allowed +FilterRequest+ params:
|
121
|
+
# * page
|
122
|
+
# * per_page
|
123
|
+
# * sort_field and sort_direction
|
124
|
+
# * status
|
125
|
+
# * result_code
|
126
|
+
#
|
127
|
+
# @param +id+ [String] ID of the repudiation whose refunds to retrieve
|
128
|
+
# @return [Array] the requested Refund entity objects
|
129
|
+
def of_repudiation(id)
|
130
|
+
uri = provide_uri(:get_repudiations_refunds, id)
|
131
|
+
filter_request = nil
|
132
|
+
yield filter_request = FilterRequest.new if block_given?
|
133
|
+
results = HttpClient.get(uri, filter_request)
|
134
|
+
parse_results results
|
135
|
+
end
|
136
|
+
|
137
|
+
private
|
138
|
+
|
139
|
+
# Parses a JSON-originating hash into the corresponding
|
140
|
+
# Refund entity object.
|
141
|
+
#
|
142
|
+
# @param +response+ [Hash] JSON-originating data hash
|
143
|
+
# @return [Refund] corresponding Refund entity object
|
144
|
+
def parse(response)
|
145
|
+
MangoModel::Refund.new.dejsonify response
|
146
|
+
end
|
147
|
+
|
148
|
+
# Parses an Array of JSON-originating hashes into
|
149
|
+
# corresponding Refund entity objects.
|
150
|
+
#
|
151
|
+
# @param +results+ [Array] JSON-originating data hashes
|
152
|
+
# @return [Array] corresponding Refund entity objects
|
153
|
+
def parse_results(results)
|
154
|
+
results.collect do |entity|
|
155
|
+
parse entity
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
62
160
|
end
|