mangopay-v4 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +30 -0
- data/.rspec +4 -0
- data/.rubocop.yml +2 -0
- data/.travis.yml +13 -0
- data/Gemfile +2 -0
- data/LICENSE +20 -0
- data/README.md +380 -0
- data/bin/mangopay +9 -0
- data/lib/mangopay.rb +133 -0
- data/lib/mangopay/api/api.rb +9 -0
- data/lib/mangopay/api/api_methods.rb +137 -0
- data/lib/mangopay/api/auth_token_manager.rb +173 -0
- data/lib/mangopay/api/http_client.rb +325 -0
- data/lib/mangopay/api/service/bank_accounts.rb +146 -0
- data/lib/mangopay/api/service/cards.rb +152 -0
- data/lib/mangopay/api/service/client_wallets.rb +89 -0
- data/lib/mangopay/api/service/clients.rb +68 -0
- data/lib/mangopay/api/service/dispute_documents.rb +158 -0
- data/lib/mangopay/api/service/disputes.rb +187 -0
- data/lib/mangopay/api/service/e_money.rb +42 -0
- data/lib/mangopay/api/service/events.rb +47 -0
- data/lib/mangopay/api/service/hooks.rb +93 -0
- data/lib/mangopay/api/service/kyc_documents.rb +153 -0
- data/lib/mangopay/api/service/mandates.rb +142 -0
- data/lib/mangopay/api/service/oauth_tokens.rb +25 -0
- data/lib/mangopay/api/service/pay_ins.rb +260 -0
- data/lib/mangopay/api/service/pay_outs.rb +54 -0
- data/lib/mangopay/api/service/pre_authorizations.rb +69 -0
- data/lib/mangopay/api/service/refunds.rb +62 -0
- data/lib/mangopay/api/service/reports.rb +151 -0
- data/lib/mangopay/api/service/repudiations.rb +32 -0
- data/lib/mangopay/api/service/responses.rb +102 -0
- data/lib/mangopay/api/service/settlement_transfers.rb +55 -0
- data/lib/mangopay/api/service/transactions.rb +183 -0
- data/lib/mangopay/api/service/transfers.rb +54 -0
- data/lib/mangopay/api/service/ubo_declarations.rb +70 -0
- data/lib/mangopay/api/service/users.rb +163 -0
- data/lib/mangopay/api/service/wallets.rb +99 -0
- data/lib/mangopay/api/uri_provider.rb +35 -0
- data/lib/mangopay/common/json_tag_converter.rb +68 -0
- data/lib/mangopay/common/jsonifier.rb +249 -0
- data/lib/mangopay/common/log_provider.rb +34 -0
- data/lib/mangopay/common/rate_limit_interval.rb +17 -0
- data/lib/mangopay/common/read_only_fields.rb +27 -0
- data/lib/mangopay/common/response_error.rb +61 -0
- data/lib/mangopay/common/sort_direction.rb +15 -0
- data/lib/mangopay/common/sort_field.rb +13 -0
- data/lib/mangopay/common/template_url_options.rb +9 -0
- data/lib/mangopay/configuration.rb +39 -0
- data/lib/mangopay/environment.rb +66 -0
- data/lib/mangopay/model/address.rb +27 -0
- data/lib/mangopay/model/declared_ubo.rb +21 -0
- data/lib/mangopay/model/dispute_reason.rb +15 -0
- data/lib/mangopay/model/document_page_consult.rb +15 -0
- data/lib/mangopay/model/e_money.rb +18 -0
- data/lib/mangopay/model/entity/account/bank_account.rb +26 -0
- data/lib/mangopay/model/entity/account/ca_bank_account.rb +27 -0
- data/lib/mangopay/model/entity/account/gb_bank_account.rb +21 -0
- data/lib/mangopay/model/entity/account/iban_bank_account.rb +21 -0
- data/lib/mangopay/model/entity/account/other_bank_account.rb +24 -0
- data/lib/mangopay/model/entity/account/us_bank_account.rb +24 -0
- data/lib/mangopay/model/entity/card.rb +45 -0
- data/lib/mangopay/model/entity/card_registration.rb +43 -0
- data/lib/mangopay/model/entity/client.rb +63 -0
- data/lib/mangopay/model/entity/client_wallet.rb +23 -0
- data/lib/mangopay/model/entity/dispute.rb +50 -0
- data/lib/mangopay/model/entity/dispute_document.rb +29 -0
- data/lib/mangopay/model/entity/entity_base.rb +18 -0
- data/lib/mangopay/model/entity/hook.rb +26 -0
- data/lib/mangopay/model/entity/kyc_document.rb +28 -0
- data/lib/mangopay/model/entity/mandate.rb +51 -0
- data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +22 -0
- data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +33 -0
- data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +13 -0
- data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +40 -0
- data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +23 -0
- data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +38 -0
- data/lib/mangopay/model/entity/pay_in/pay_in.rb +16 -0
- data/lib/mangopay/model/entity/pay_out.rb +22 -0
- data/lib/mangopay/model/entity/pre_authorization.rb +68 -0
- data/lib/mangopay/model/entity/refund.rb +18 -0
- data/lib/mangopay/model/entity/report.rb +51 -0
- data/lib/mangopay/model/entity/repudiation.rb +18 -0
- data/lib/mangopay/model/entity/settlement_transfer.rb +17 -0
- data/lib/mangopay/model/entity/transaction.rb +52 -0
- data/lib/mangopay/model/entity/transfer.rb +13 -0
- data/lib/mangopay/model/entity/ubo_declaration.rb +32 -0
- data/lib/mangopay/model/entity/user/legal_user.rb +53 -0
- data/lib/mangopay/model/entity/user/natural_user.rb +50 -0
- data/lib/mangopay/model/entity/user/user.rb +18 -0
- data/lib/mangopay/model/entity/wallet.rb +28 -0
- data/lib/mangopay/model/enum/account_type.rb +24 -0
- data/lib/mangopay/model/enum/card_status.rb +15 -0
- data/lib/mangopay/model/enum/card_type.rb +33 -0
- data/lib/mangopay/model/enum/card_validity.rb +19 -0
- data/lib/mangopay/model/enum/country_iso.rb +759 -0
- data/lib/mangopay/model/enum/culture_code.rb +44 -0
- data/lib/mangopay/model/enum/currency_iso.rb +552 -0
- data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +16 -0
- data/lib/mangopay/model/enum/declared_ubo_status.rb +18 -0
- data/lib/mangopay/model/enum/deposit_type.rb +15 -0
- data/lib/mangopay/model/enum/direct_debit_type.rb +13 -0
- data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +25 -0
- data/lib/mangopay/model/enum/dispute_document_type.rb +23 -0
- data/lib/mangopay/model/enum/dispute_reason_type.rb +33 -0
- data/lib/mangopay/model/enum/dispute_status.rb +21 -0
- data/lib/mangopay/model/enum/dispute_type.rb +15 -0
- data/lib/mangopay/model/enum/document_status.rb +21 -0
- data/lib/mangopay/model/enum/download_format.rb +11 -0
- data/lib/mangopay/model/enum/event_type.rb +74 -0
- data/lib/mangopay/model/enum/funds_type.rb +15 -0
- data/lib/mangopay/model/enum/hook_status.rb +13 -0
- data/lib/mangopay/model/enum/hook_validity.rb +15 -0
- data/lib/mangopay/model/enum/income_range.rb +21 -0
- data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +37 -0
- data/lib/mangopay/model/enum/kyc_document_type.rb +19 -0
- data/lib/mangopay/model/enum/kyc_level.rb +13 -0
- data/lib/mangopay/model/enum/legal_person_type.rb +15 -0
- data/lib/mangopay/model/enum/mandate_culture_code.rb +23 -0
- data/lib/mangopay/model/enum/mandate_execution_type.rb +11 -0
- data/lib/mangopay/model/enum/mandate_scheme.rb +13 -0
- data/lib/mangopay/model/enum/mandate_status.rb +24 -0
- data/lib/mangopay/model/enum/mandate_type.rb +11 -0
- data/lib/mangopay/model/enum/natural_user_capacity.rb +15 -0
- data/lib/mangopay/model/enum/pay_in_execution_type.rb +18 -0
- data/lib/mangopay/model/enum/pay_in_payment_type.rb +21 -0
- data/lib/mangopay/model/enum/pay_out_payment_type.rb +11 -0
- data/lib/mangopay/model/enum/payment_status.rb +21 -0
- data/lib/mangopay/model/enum/person_type.rb +15 -0
- data/lib/mangopay/model/enum/platform_type.rb +23 -0
- data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +11 -0
- data/lib/mangopay/model/enum/pre_authorization_status.rb +18 -0
- data/lib/mangopay/model/enum/refund_reason_type.rb +21 -0
- data/lib/mangopay/model/enum/report_status.rb +17 -0
- data/lib/mangopay/model/enum/report_type.rb +13 -0
- data/lib/mangopay/model/enum/secure_mode.rb +16 -0
- data/lib/mangopay/model/enum/transaction_nature.rb +17 -0
- data/lib/mangopay/model/enum/transaction_status.rb +15 -0
- data/lib/mangopay/model/enum/transaction_type.rb +15 -0
- data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +19 -0
- data/lib/mangopay/model/enum/ubo_declaration_status.rb +21 -0
- data/lib/mangopay/model/event.rb +18 -0
- data/lib/mangopay/model/model.rb +194 -0
- data/lib/mangopay/model/money.rb +17 -0
- data/lib/mangopay/model/pay_in_web_extended_view.rb +31 -0
- data/lib/mangopay/model/refund_reason.rb +15 -0
- data/lib/mangopay/model/report_filter.rb +83 -0
- data/lib/mangopay/model/request/cancel_request.rb +16 -0
- data/lib/mangopay/model/request/complete_registration_request.rb +13 -0
- data/lib/mangopay/model/request/currency_request.rb +13 -0
- data/lib/mangopay/model/request/deactivation_request.rb +10 -0
- data/lib/mangopay/model/request/filter_request.rb +38 -0
- data/lib/mangopay/model/request/submit_document_request.rb +14 -0
- data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +14 -0
- data/lib/mangopay/model/request/upload_file_request.rb +9 -0
- data/lib/mangopay/model/response_replica.rb +27 -0
- data/lib/mangopay/util/custom_formatter.rb +12 -0
- data/lib/mangopay/util/custom_logger.rb +34 -0
- data/lib/mangopay/util/enum.rb +52 -0
- data/lib/mangopay/util/file_encoder.rb +16 -0
- data/lib/mangopay/util/non_instantiable.rb +6 -0
- data/lib/mangopay/util/storage_strategy.rb +10 -0
- data/lib/mangopay/util/void_logger.rb +6 -0
- data/mangopay.gemspec +32 -0
- data/spec/context/address_context.rb +25 -0
- data/spec/context/bank_account_context.rb +138 -0
- data/spec/context/card_context.rb +46 -0
- data/spec/context/client_context.rb +45 -0
- data/spec/context/dispute_context.rb +37 -0
- data/spec/context/dispute_document_context.rb +20 -0
- data/spec/context/hook_context.rb +16 -0
- data/spec/context/kyc_document_context.rb +23 -0
- data/spec/context/mandate_context.rb +27 -0
- data/spec/context/pay_in_context.rb +225 -0
- data/spec/context/pay_out_context.rb +39 -0
- data/spec/context/pre_authorization_context.rb +41 -0
- data/spec/context/refund_context.rb +33 -0
- data/spec/context/report_context.rb +22 -0
- data/spec/context/repudiation_context.rb +19 -0
- data/spec/context/settlement_transfer_context.rb +28 -0
- data/spec/context/transfer_context.rb +51 -0
- data/spec/context/ubo_declaration_context.rb +25 -0
- data/spec/context/user_context.rb +83 -0
- data/spec/context/wallet_context.rb +53 -0
- data/spec/mangopay/bank_accounts_spec.rb +229 -0
- data/spec/mangopay/cards_spec.rb +135 -0
- data/spec/mangopay/client_wallets_spec.rb +148 -0
- data/spec/mangopay/clients_spec.rb +55 -0
- data/spec/mangopay/configuration_spec.rb +126 -0
- data/spec/mangopay/dispute_documents_spec.rb +174 -0
- data/spec/mangopay/disputes_spec.rb +265 -0
- data/spec/mangopay/e_money_spec.rb +38 -0
- data/spec/mangopay/events_spec.rb +50 -0
- data/spec/mangopay/hooks_spec.rb +71 -0
- data/spec/mangopay/kyc_documents_spec.rb +180 -0
- data/spec/mangopay/mandates_spec.rb +219 -0
- data/spec/mangopay/oauth_tokens_spec.rb +41 -0
- data/spec/mangopay/pay_ins_spec.rb +181 -0
- data/spec/mangopay/pay_outs_spec.rb +39 -0
- data/spec/mangopay/pre_authorizations_spec.rb +58 -0
- data/spec/mangopay/refunds_spec.rb +40 -0
- data/spec/mangopay/reports_spec.rb +121 -0
- data/spec/mangopay/responses_spec.rb +295 -0
- data/spec/mangopay/settlement_transfers_spec.rb +37 -0
- data/spec/mangopay/transactions_spec.rb +233 -0
- data/spec/mangopay/transfers_spec.rb +38 -0
- data/spec/mangopay/ubo_declarations_spec.rb +65 -0
- data/spec/mangopay/users_spec.rb +146 -0
- data/spec/mangopay/wallets_spec.rb +104 -0
- data/spec/resources/logo.png +0 -0
- data/spec/resources/test_pdf.pdf +0 -0
- data/spec/spec_helper.rb +72 -0
- metadata +349 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# The Event entity
|
6
|
+
class Event
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [String] Its ID
|
10
|
+
attr_accessor :resource_id
|
11
|
+
|
12
|
+
# [Integer] Time when the event happened (UNIX timestamp)
|
13
|
+
attr_accessor :date
|
14
|
+
|
15
|
+
# [EventType] Its type
|
16
|
+
attr_accessor :event_type
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,194 @@
|
|
1
|
+
require 'date'
|
2
|
+
require_relative 'entity/entity_base'
|
3
|
+
require_relative 'enum/country_iso'
|
4
|
+
require_relative 'enum/person_type'
|
5
|
+
require_relative 'enum/legal_person_type'
|
6
|
+
require_relative 'enum/income_range'
|
7
|
+
require_relative 'enum/kyc_level'
|
8
|
+
require_relative 'enum/deposit_type'
|
9
|
+
require_relative 'enum/currency_iso'
|
10
|
+
require_relative 'enum/funds_type'
|
11
|
+
require_relative 'enum/platform_type'
|
12
|
+
require_relative 'enum/account_type'
|
13
|
+
require_relative 'enum/transaction_type'
|
14
|
+
require_relative 'enum/transaction_nature'
|
15
|
+
require_relative 'enum/transaction_status'
|
16
|
+
require_relative 'enum/pay_in_payment_type'
|
17
|
+
require_relative 'enum/pay_in_execution_type'
|
18
|
+
require_relative 'enum/card_type'
|
19
|
+
require_relative 'enum/secure_mode'
|
20
|
+
require_relative 'enum/culture_code'
|
21
|
+
require_relative 'enum/card_status'
|
22
|
+
require_relative 'enum/card_validity'
|
23
|
+
require_relative 'enum/pre_authorization_status'
|
24
|
+
require_relative 'enum/pre_authorization_execution_type'
|
25
|
+
require_relative 'enum/payment_status'
|
26
|
+
require_relative 'enum/direct_debit_type'
|
27
|
+
require_relative 'enum/mandate_scheme'
|
28
|
+
require_relative 'enum/mandate_status'
|
29
|
+
require_relative 'enum/mandate_type'
|
30
|
+
require_relative 'enum/mandate_execution_type'
|
31
|
+
require_relative 'enum/pay_out_payment_type'
|
32
|
+
require_relative 'enum/kyc_doc_refused_reason_type'
|
33
|
+
require_relative 'enum/kyc_document_type'
|
34
|
+
require_relative 'enum/document_status'
|
35
|
+
require_relative 'enum/natural_user_capacity'
|
36
|
+
require_relative 'enum/ubo_declaration_status'
|
37
|
+
require_relative 'enum/ubo_declaration_refused_reason_type'
|
38
|
+
require_relative 'enum/declared_ubo_status'
|
39
|
+
require_relative 'enum/declared_ubo_refused_reason_type'
|
40
|
+
require_relative 'enum/hook_validity'
|
41
|
+
require_relative 'enum/event_type'
|
42
|
+
require_relative 'enum/refund_reason_type'
|
43
|
+
require_relative 'enum/dispute_type'
|
44
|
+
require_relative 'enum/dispute_reason_type'
|
45
|
+
require_relative 'enum/dispute_status'
|
46
|
+
require_relative 'enum/dispute_doc_refused_reason_type'
|
47
|
+
require_relative 'enum/download_format'
|
48
|
+
require_relative 'enum/report_type'
|
49
|
+
require_relative 'enum/report_status'
|
50
|
+
require_relative 'entity/user/user'
|
51
|
+
require_relative 'entity/user/natural_user'
|
52
|
+
require_relative 'entity/user/legal_user'
|
53
|
+
require_relative 'entity/card'
|
54
|
+
require_relative 'entity/client'
|
55
|
+
require_relative 'entity/transaction'
|
56
|
+
require_relative 'entity/transfer'
|
57
|
+
require_relative 'entity/pre_authorization'
|
58
|
+
require_relative 'entity/repudiation'
|
59
|
+
require_relative 'entity/settlement_transfer'
|
60
|
+
require_relative 'event'
|
61
|
+
require_relative 'address'
|
62
|
+
require_relative 'money'
|
63
|
+
require_relative 'entity/wallet'
|
64
|
+
require_relative 'e_money'
|
65
|
+
require_relative 'refund_reason'
|
66
|
+
require_relative 'document_page_consult'
|
67
|
+
require_relative 'dispute_reason'
|
68
|
+
|
69
|
+
# Module for model classes.
|
70
|
+
module MangoModel
|
71
|
+
|
72
|
+
# Maps each type to its existing declared field names.
|
73
|
+
@fields_by_type = {
|
74
|
+
DateTime => %w[date],
|
75
|
+
PersonType => %w[person_type],
|
76
|
+
KycLevel => %w[kyc_level],
|
77
|
+
LegalPersonType => %w[legal_person_type],
|
78
|
+
CountryIso => %w[country
|
79
|
+
nationality
|
80
|
+
country_of_residence
|
81
|
+
legal_representative_nationality
|
82
|
+
legal_representative_country_of_residence],
|
83
|
+
Address => %w[address
|
84
|
+
headquarters_address
|
85
|
+
legal_representative_address
|
86
|
+
owner_address],
|
87
|
+
DepositType => %w[deposit_account_type],
|
88
|
+
Money => %w[balance
|
89
|
+
credited_e_money
|
90
|
+
debited_e_money
|
91
|
+
debited_funds
|
92
|
+
credited_funds
|
93
|
+
fees
|
94
|
+
declared_debited_funds
|
95
|
+
declared_fees
|
96
|
+
disputed_funds
|
97
|
+
contested_funds],
|
98
|
+
CurrencyIso => %w[currency],
|
99
|
+
FundsType => %w[funds_type],
|
100
|
+
PlatformType => %w[platform_type],
|
101
|
+
TransactionNature => %w[nature],
|
102
|
+
TransactionStatus => %w[status],
|
103
|
+
TransactionType => %w[type initial_transaction_type],
|
104
|
+
PayInPaymentType => %w[payment_type],
|
105
|
+
PayInExecutionType => %w[execution_type],
|
106
|
+
CardType => %w[card_type],
|
107
|
+
SecureMode => %w[secure_mode],
|
108
|
+
CultureCode => %w[culture],
|
109
|
+
CardValidity => %w[validity],
|
110
|
+
PaymentStatus => %w[payment_status],
|
111
|
+
DirectDebitType => %w[direct_debit_type],
|
112
|
+
MandateScheme => %w[scheme],
|
113
|
+
MandateType => %w[mandate_type],
|
114
|
+
KycDocRefusedReasonType => %w[refused_reason_type],
|
115
|
+
NaturalUserCapacity => %w[capacity],
|
116
|
+
EventType => %w[event_type],
|
117
|
+
RefundReason => %w[refund_reason],
|
118
|
+
RefundReasonType => %w[refund_reason_type],
|
119
|
+
DisputeType => %w[dispute_type],
|
120
|
+
DisputeReason => %w[dispute_reason],
|
121
|
+
DisputeReasonType => %w[dispute_reason_type],
|
122
|
+
DownloadFormat => %w[download_format],
|
123
|
+
ReportType => %w[report_type]
|
124
|
+
}
|
125
|
+
|
126
|
+
class << self
|
127
|
+
|
128
|
+
# Returns an array containing all declared
|
129
|
+
# field names of a certain type
|
130
|
+
#
|
131
|
+
# noinspection RubyResolve
|
132
|
+
def fields_of_type(type)
|
133
|
+
@fields_by_type[type]
|
134
|
+
end
|
135
|
+
|
136
|
+
# Asserts the type of pay-in represented by a hash
|
137
|
+
#
|
138
|
+
# @param +hash+ [Hash] source hash
|
139
|
+
# @return [Class] type of pay-in represented by the hash
|
140
|
+
def pay_in_type(hash)
|
141
|
+
if hash['PaymentType'] == PayInPaymentType::CARD.to_s\
|
142
|
+
&& hash['ExecutionType'] == PayInExecutionType::WEB.to_s
|
143
|
+
CardWebPayIn
|
144
|
+
elsif hash['PaymentType'] == PayInPaymentType::CARD.to_s\
|
145
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
146
|
+
CardDirectPayIn
|
147
|
+
elsif hash['PaymentType'] == PayInPaymentType::PREAUTHORIZED.to_s\
|
148
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
149
|
+
CardPreAuthorizedPayIn
|
150
|
+
elsif hash['PaymentType'] == PayInPaymentType::BANK_WIRE.to_s\
|
151
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
152
|
+
BankWireDirectPayIn
|
153
|
+
elsif hash['PaymentType'] == PayInPaymentType::DIRECT_DEBIT.to_s\
|
154
|
+
&& hash['ExecutionType'] == PayInExecutionType::WEB.to_s
|
155
|
+
DirectDebitWebPayIn
|
156
|
+
elsif hash['PaymentType'] == PayInPaymentType::DIRECT_DEBIT.to_s\
|
157
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
158
|
+
DirectDebitDirectPayIn
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
# Asserts the type of bank account represented by a hash.
|
163
|
+
#
|
164
|
+
# @param +hash+ [Hash] source hash
|
165
|
+
# @return [Class] type of bank account represented by the hash
|
166
|
+
def bank_account_type(hash)
|
167
|
+
case hash['Type']
|
168
|
+
when AccountType::IBAN.to_s
|
169
|
+
IbanBankAccount
|
170
|
+
when AccountType::US.to_s
|
171
|
+
UsBankAccount
|
172
|
+
when AccountType::CA.to_s
|
173
|
+
CaBankAccount
|
174
|
+
when AccountType::GB.to_s
|
175
|
+
GbBankAccount
|
176
|
+
else
|
177
|
+
OtherBankAccount
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
# Asserts the type of user represented by a hash.
|
182
|
+
#
|
183
|
+
# @param +hash+ [Hash] source hash
|
184
|
+
# @return [Class] type of user represented by the hash
|
185
|
+
def user_type(hash)
|
186
|
+
case hash['PersonType']
|
187
|
+
when PersonType::NATURAL.to_s
|
188
|
+
NaturalUser
|
189
|
+
else
|
190
|
+
LegalUser
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative '../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Models a financial sum
|
6
|
+
class Money
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [CurrencyIso] Currency in which the sum is represented
|
10
|
+
attr_accessor :currency
|
11
|
+
|
12
|
+
# [Integer] The amount of money in the smallest sub-division of the currency
|
13
|
+
# e.g. 12.60 EUR would be represented as 1260 whereas 12 JPY
|
14
|
+
# would be represented as just 12
|
15
|
+
attr_accessor :amount
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require_relative '../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# The Pay-In Web Extended View is an object which provides
|
6
|
+
# more details about the card used to process a Web Pay-In
|
7
|
+
class PayInWebExtendedView
|
8
|
+
include MangoPay::Jsonifier
|
9
|
+
|
10
|
+
# [String] The item's ID
|
11
|
+
attr_accessor :id
|
12
|
+
|
13
|
+
# [PayInPaymentType] The type of pay-in
|
14
|
+
attr_accessor :payment_type
|
15
|
+
|
16
|
+
# [Integer] Time when the transaction happened (UNIX timestamp)
|
17
|
+
attr_accessor :execution_date
|
18
|
+
|
19
|
+
# [String] The expiry date of the card (MMYY format)
|
20
|
+
attr_accessor :expiration_date
|
21
|
+
|
22
|
+
# [String] A partially obfuscated version of the credit card number
|
23
|
+
attr_accessor :alias
|
24
|
+
|
25
|
+
# [CardType] The type of card
|
26
|
+
attr_accessor :card_type
|
27
|
+
|
28
|
+
# [CountryIso] Country of the address
|
29
|
+
attr_accessor :country
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative '../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Reason for a refund
|
6
|
+
class RefundReason
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [RefundReasonType] Type of reason for refusal
|
10
|
+
attr_accessor :refused_reason_type
|
11
|
+
|
12
|
+
# [String] Message accompanying a refusal
|
13
|
+
attr_accessor :refused_reason_message
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
require_relative '../common/jsonifier'
|
2
|
+
|
3
|
+
# Filtering object for reports
|
4
|
+
class ReportFilter
|
5
|
+
include MangoPay::Jsonifier
|
6
|
+
|
7
|
+
#
|
8
|
+
# COMMON
|
9
|
+
#
|
10
|
+
|
11
|
+
# [Integer] Only include resources with CreationDate
|
12
|
+
# before this time (UNIX timestamp)
|
13
|
+
attr_accessor :before_date
|
14
|
+
|
15
|
+
# [Integer] Only include resources with CreationDate
|
16
|
+
# after this time (UNIX timestamp)
|
17
|
+
attr_accessor :after_date
|
18
|
+
|
19
|
+
#
|
20
|
+
# TRANSACTION
|
21
|
+
#
|
22
|
+
|
23
|
+
# [Array] Only include transactions of these +TransactionType+s
|
24
|
+
attr_accessor :type
|
25
|
+
|
26
|
+
# [Array] Only include transactions with these +TransactionStatus+es
|
27
|
+
attr_accessor :status
|
28
|
+
|
29
|
+
# [Array] Only include transactions of these +TransactionNature+s
|
30
|
+
attr_accessor :nature
|
31
|
+
|
32
|
+
# [Integer] The minimum amount of debited funds
|
33
|
+
attr_accessor :min_debited_funds_amount
|
34
|
+
|
35
|
+
# [CurrencyIso] The currency of minimum debited funds
|
36
|
+
attr_accessor :min_debited_funds_currency
|
37
|
+
|
38
|
+
# [Integer] The maximum amount of debited funds
|
39
|
+
attr_accessor :max_debited_funds_amount
|
40
|
+
|
41
|
+
# [CurrencyIso] The currency of maximum debited funds
|
42
|
+
attr_accessor :max_debited_funds_currency
|
43
|
+
|
44
|
+
# [Integer] The minimum amount of fees
|
45
|
+
attr_accessor :min_fees_amount
|
46
|
+
|
47
|
+
# [CurrencyIso] The currency of minimum fees
|
48
|
+
attr_accessor :min_fees_currency
|
49
|
+
|
50
|
+
# [Integer] The maximum amount of fees
|
51
|
+
attr_accessor :max_fees_amount
|
52
|
+
|
53
|
+
# [CurrencyIso] The currency of maximum fees
|
54
|
+
attr_accessor :max_fees_currency
|
55
|
+
|
56
|
+
# [String] Only include resources with this author ID
|
57
|
+
attr_accessor :author_id
|
58
|
+
|
59
|
+
# [String] Only include resources with this wallet ID
|
60
|
+
attr_accessor :wallet_id
|
61
|
+
|
62
|
+
#
|
63
|
+
# WALLET
|
64
|
+
#
|
65
|
+
|
66
|
+
# [String] Only include wallets having owner with this ID
|
67
|
+
attr_accessor :owner_id
|
68
|
+
|
69
|
+
# [CurrencyIso] Only include wallets of this currency
|
70
|
+
attr_accessor :currency
|
71
|
+
|
72
|
+
# [Integer] The minimum balance of wallets to include
|
73
|
+
attr_accessor :min_balance_amount
|
74
|
+
|
75
|
+
# [CurrencyIso] The currency of minimum balance
|
76
|
+
attr_accessor :min_balance_currency
|
77
|
+
|
78
|
+
# [Integer] The maximum balance of wallets to include
|
79
|
+
attr_accessor :max_balance_amount
|
80
|
+
|
81
|
+
# [CurrencyIso] The currency of maximum balance
|
82
|
+
attr_accessor :max_balance_currency
|
83
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
# Model object of request to cancel an action
|
4
|
+
class CancelRequest
|
5
|
+
include MangoPay::Jsonifier
|
6
|
+
|
7
|
+
# [String] Custom data to add with the operation
|
8
|
+
attr_accessor :tag
|
9
|
+
|
10
|
+
# [PaymentStatus] +CANCELED+ payment status
|
11
|
+
attr_accessor :payment_status
|
12
|
+
|
13
|
+
def initialize
|
14
|
+
self.payment_status = MangoModel::PaymentStatus::CANCELED
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
# Model object for body of request to complete a card registration
|
4
|
+
class CompleteRegistrationRequest
|
5
|
+
include MangoPay::Jsonifier
|
6
|
+
|
7
|
+
# [String] Registration key received from the Tokenization Server
|
8
|
+
attr_accessor :registration_data
|
9
|
+
|
10
|
+
def initialize(registration_data)
|
11
|
+
self.registration_data = registration_data
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
# Model object for body of request to represent results in a certain currency.
|
4
|
+
class CurrencyRequest
|
5
|
+
include MangoPay::Jsonifier
|
6
|
+
|
7
|
+
# [CurrencyIso] the currency in which to represent results
|
8
|
+
attr_accessor :currency
|
9
|
+
|
10
|
+
def initialize(currency)
|
11
|
+
self.currency = currency
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Requests filtering of response lists
|
2
|
+
class FilterRequest
|
3
|
+
|
4
|
+
# [Integer] Number of the page of results to be retrieved
|
5
|
+
attr_accessor :page
|
6
|
+
|
7
|
+
# [Integer] Number of results to be included per page
|
8
|
+
attr_accessor :per_page
|
9
|
+
|
10
|
+
# [SortField] Field by which to sort results
|
11
|
+
attr_accessor :sort_field
|
12
|
+
|
13
|
+
# [SortDirection] Direction of sorting by specified field
|
14
|
+
attr_accessor :sort_direction
|
15
|
+
|
16
|
+
# [Integer] Maximum creation date of result entities
|
17
|
+
attr_accessor :before_date
|
18
|
+
|
19
|
+
# [Integer] Minimum creation date of result entities
|
20
|
+
attr_accessor :after_date
|
21
|
+
|
22
|
+
# [DocumentStatus/TransactionStatus/DisputeStatus] Status of entities
|
23
|
+
# to be retrieved
|
24
|
+
attr_accessor :status
|
25
|
+
|
26
|
+
# [TransactionNature] Nature of transaction entities to be retrieved
|
27
|
+
attr_accessor :nature
|
28
|
+
|
29
|
+
# [TransactionType/DisputeDocumentType] Type of entities to be retrieved
|
30
|
+
attr_accessor :type
|
31
|
+
|
32
|
+
# [DisputeType] Type of dispute entities to be retrieved
|
33
|
+
attr_accessor :dispute_type
|
34
|
+
|
35
|
+
# [EventType] Type of events to be retrieved
|
36
|
+
attr_accessor :event_type
|
37
|
+
|
38
|
+
end
|