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,16 +1,16 @@
|
|
1
|
-
require_relative '../../util/enum'
|
2
|
-
|
3
|
-
module MangoModel
|
4
|
-
|
5
|
-
# Secure modes enumeration
|
6
|
-
class SecureMode
|
7
|
-
extend Enum
|
8
|
-
|
9
|
-
# Automatic activation of the Secure Mode, when transaction
|
10
|
-
# is higher than 50 EUR or when MangoPay detects there is a higher risk
|
11
|
-
DEFAULT = value 'DEFAULT'
|
12
|
-
|
13
|
-
# Force activation of the Secure Mode for a transaction
|
14
|
-
FORCE = value 'FORCE'
|
15
|
-
end
|
1
|
+
require_relative '../../util/enum'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Secure modes enumeration
|
6
|
+
class SecureMode
|
7
|
+
extend Enum
|
8
|
+
|
9
|
+
# Automatic activation of the Secure Mode, when transaction
|
10
|
+
# is higher than 50 EUR or when MangoPay detects there is a higher risk
|
11
|
+
DEFAULT = value 'DEFAULT'
|
12
|
+
|
13
|
+
# Force activation of the Secure Mode for a transaction
|
14
|
+
FORCE = value 'FORCE'
|
15
|
+
end
|
16
16
|
end
|
@@ -1,17 +1,17 @@
|
|
1
|
-
require_relative '../../util/enum'
|
2
|
-
|
3
|
-
module MangoModel
|
4
|
-
|
5
|
-
# Transaction nature enumeration
|
6
|
-
class TransactionNature
|
7
|
-
extend Enum
|
8
|
-
|
9
|
-
REGULAR = value 'REGULAR'
|
10
|
-
|
11
|
-
REPUDIATION = value 'REPUDIATION'
|
12
|
-
|
13
|
-
REFUND = value 'REFUND'
|
14
|
-
|
15
|
-
SETTLEMENT = value 'SETTLEMENT'
|
16
|
-
end
|
1
|
+
require_relative '../../util/enum'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Transaction nature enumeration
|
6
|
+
class TransactionNature
|
7
|
+
extend Enum
|
8
|
+
|
9
|
+
REGULAR = value 'REGULAR'
|
10
|
+
|
11
|
+
REPUDIATION = value 'REPUDIATION'
|
12
|
+
|
13
|
+
REFUND = value 'REFUND'
|
14
|
+
|
15
|
+
SETTLEMENT = value 'SETTLEMENT'
|
16
|
+
end
|
17
17
|
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
require_relative '../../util/enum'
|
2
|
-
|
3
|
-
module MangoModel
|
4
|
-
|
5
|
-
# Transaction status enumeration
|
6
|
-
class TransactionStatus
|
7
|
-
extend Enum
|
8
|
-
|
9
|
-
CREATED = value 'CREATED'
|
10
|
-
|
11
|
-
SUCCEEDED = value 'SUCCEEDED'
|
12
|
-
|
13
|
-
FAILED = value 'FAILED'
|
14
|
-
end
|
1
|
+
require_relative '../../util/enum'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Transaction status enumeration
|
6
|
+
class TransactionStatus
|
7
|
+
extend Enum
|
8
|
+
|
9
|
+
CREATED = value 'CREATED'
|
10
|
+
|
11
|
+
SUCCEEDED = value 'SUCCEEDED'
|
12
|
+
|
13
|
+
FAILED = value 'FAILED'
|
14
|
+
end
|
15
15
|
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
require_relative '../../util/enum'
|
2
|
-
|
3
|
-
module MangoModel
|
4
|
-
|
5
|
-
# Transaction types enumeration
|
6
|
-
class TransactionType
|
7
|
-
extend Enum
|
8
|
-
|
9
|
-
PAYIN = value 'PAYIN'
|
10
|
-
|
11
|
-
PAYOUT = value 'PAYOUT'
|
12
|
-
|
13
|
-
TRANSFER = value 'TRANSFER'
|
14
|
-
end
|
1
|
+
require_relative '../../util/enum'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Transaction types enumeration
|
6
|
+
class TransactionType
|
7
|
+
extend Enum
|
8
|
+
|
9
|
+
PAYIN = value 'PAYIN'
|
10
|
+
|
11
|
+
PAYOUT = value 'PAYOUT'
|
12
|
+
|
13
|
+
TRANSFER = value 'TRANSFER'
|
14
|
+
end
|
15
15
|
end
|
@@ -1,19 +1,19 @@
|
|
1
|
-
require_relative '../../util/enum'
|
2
|
-
|
3
|
-
module MangoModel
|
4
|
-
|
5
|
-
# UBO Declaration refusal reasons enumeration
|
6
|
-
class UboDeclarationRefusedReasonType
|
7
|
-
extend Enum
|
8
|
-
|
9
|
-
# At least one natural user is missing from the declaration
|
10
|
-
MISSING_UBO = value 'MISSING_UBO'
|
11
|
-
|
12
|
-
# At least one of the natural users should not be declared as UBO
|
13
|
-
INVALID_DECLARED_UBO = value 'INVALID_DECLARED_UBO'
|
14
|
-
|
15
|
-
# At least one of the natural users declared as UBOs has been
|
16
|
-
# created with wrong details (i.e. date of birth, country of residence)
|
17
|
-
INVALID_UBO_DETAILS = value 'INVALID_UBO_DETAILS'
|
18
|
-
end
|
1
|
+
require_relative '../../util/enum'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# UBO Declaration refusal reasons enumeration
|
6
|
+
class UboDeclarationRefusedReasonType
|
7
|
+
extend Enum
|
8
|
+
|
9
|
+
# At least one natural user is missing from the declaration
|
10
|
+
MISSING_UBO = value 'MISSING_UBO'
|
11
|
+
|
12
|
+
# At least one of the natural users should not be declared as UBO
|
13
|
+
INVALID_DECLARED_UBO = value 'INVALID_DECLARED_UBO'
|
14
|
+
|
15
|
+
# At least one of the natural users declared as UBOs has been
|
16
|
+
# created with wrong details (i.e. date of birth, country of residence)
|
17
|
+
INVALID_UBO_DETAILS = value 'INVALID_UBO_DETAILS'
|
18
|
+
end
|
19
19
|
end
|
@@ -1,21 +1,21 @@
|
|
1
|
-
require_relative '../../util/enum'
|
2
|
-
|
3
|
-
module MangoModel
|
4
|
-
|
5
|
-
# UBO Declaration status enumeration
|
6
|
-
class UboDeclarationStatus
|
7
|
-
extend Enum
|
8
|
-
|
9
|
-
# UBO declaration has been created
|
10
|
-
CREATED = value 'CREATED'
|
11
|
-
|
12
|
-
# UBO declaration has been submitted for validation
|
13
|
-
VALIDATION_ASKED = value 'VALIDATION_ASKED'
|
14
|
-
|
15
|
-
# UBO declaration has been validated
|
16
|
-
VALIDATED = value 'VALIDATED'
|
17
|
-
|
18
|
-
# UBO declaration has been refused
|
19
|
-
REFUSED = value 'REFUSED'
|
20
|
-
end
|
1
|
+
require_relative '../../util/enum'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# UBO Declaration status enumeration
|
6
|
+
class UboDeclarationStatus
|
7
|
+
extend Enum
|
8
|
+
|
9
|
+
# UBO declaration has been created
|
10
|
+
CREATED = value 'CREATED'
|
11
|
+
|
12
|
+
# UBO declaration has been submitted for validation
|
13
|
+
VALIDATION_ASKED = value 'VALIDATION_ASKED'
|
14
|
+
|
15
|
+
# UBO declaration has been validated
|
16
|
+
VALIDATED = value 'VALIDATED'
|
17
|
+
|
18
|
+
# UBO declaration has been refused
|
19
|
+
REFUSED = value 'REFUSED'
|
20
|
+
end
|
21
21
|
end
|
data/lib/mangopay/model/event.rb
CHANGED
@@ -1,18 +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
|
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
18
|
end
|
data/lib/mangopay/model/model.rb
CHANGED
@@ -1,194 +1,215 @@
|
|
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 '
|
51
|
-
require_relative '
|
52
|
-
require_relative '
|
53
|
-
require_relative 'entity/
|
54
|
-
require_relative 'entity/
|
55
|
-
require_relative 'entity/
|
56
|
-
require_relative 'entity/
|
57
|
-
require_relative 'entity/
|
58
|
-
require_relative 'entity/
|
59
|
-
require_relative 'entity/
|
60
|
-
require_relative '
|
61
|
-
require_relative '
|
62
|
-
require_relative '
|
63
|
-
require_relative '
|
64
|
-
require_relative '
|
65
|
-
require_relative '
|
66
|
-
require_relative '
|
67
|
-
require_relative '
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
&& hash['ExecutionType'] == PayInExecutionType::WEB.to_s
|
155
|
-
|
156
|
-
elsif hash['PaymentType'] == PayInPaymentType::
|
157
|
-
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
#
|
184
|
-
#
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
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 'enum/business_type'
|
51
|
+
require_relative 'enum/sector'
|
52
|
+
require_relative 'enum/avs_result'
|
53
|
+
require_relative 'entity/user/user'
|
54
|
+
require_relative 'entity/user/natural_user'
|
55
|
+
require_relative 'entity/user/legal_user'
|
56
|
+
require_relative 'entity/card'
|
57
|
+
require_relative 'entity/client'
|
58
|
+
require_relative 'entity/transaction'
|
59
|
+
require_relative 'entity/transfer'
|
60
|
+
require_relative 'entity/pre_authorization'
|
61
|
+
require_relative 'entity/repudiation'
|
62
|
+
require_relative 'entity/settlement_transfer'
|
63
|
+
require_relative 'event'
|
64
|
+
require_relative 'address'
|
65
|
+
require_relative 'money'
|
66
|
+
require_relative 'entity/wallet'
|
67
|
+
require_relative 'e_money'
|
68
|
+
require_relative 'refund_reason'
|
69
|
+
require_relative 'document_page_consult'
|
70
|
+
require_relative 'dispute_reason'
|
71
|
+
require_relative 'platform_categorization'
|
72
|
+
require_relative 'billing'
|
73
|
+
require_relative 'security_info'
|
74
|
+
|
75
|
+
# Module for model classes.
|
76
|
+
module MangoModel
|
77
|
+
|
78
|
+
# Maps each type to its existing declared field names.
|
79
|
+
@fields_by_type = {
|
80
|
+
DateTime => %w[date],
|
81
|
+
PersonType => %w[person_type],
|
82
|
+
KycLevel => %w[kyc_level],
|
83
|
+
LegalPersonType => %w[legal_person_type],
|
84
|
+
CountryIso => %w[country
|
85
|
+
nationality
|
86
|
+
country_of_residence
|
87
|
+
legal_representative_nationality
|
88
|
+
legal_representative_country_of_residence],
|
89
|
+
Address => %w[address
|
90
|
+
headquarters_address
|
91
|
+
legal_representative_address
|
92
|
+
owner_address],
|
93
|
+
DepositType => %w[deposit_account_type],
|
94
|
+
Money => %w[balance
|
95
|
+
credited_e_money
|
96
|
+
debited_e_money
|
97
|
+
debited_funds
|
98
|
+
credited_funds
|
99
|
+
fees
|
100
|
+
declared_debited_funds
|
101
|
+
declared_fees
|
102
|
+
disputed_funds
|
103
|
+
contested_funds],
|
104
|
+
CurrencyIso => %w[currency],
|
105
|
+
FundsType => %w[funds_type],
|
106
|
+
PlatformType => %w[platform_type],
|
107
|
+
TransactionNature => %w[nature],
|
108
|
+
TransactionStatus => %w[status],
|
109
|
+
TransactionType => %w[type initial_transaction_type],
|
110
|
+
PayInPaymentType => %w[payment_type],
|
111
|
+
PayInExecutionType => %w[execution_type],
|
112
|
+
CardType => %w[card_type],
|
113
|
+
SecureMode => %w[secure_mode],
|
114
|
+
CultureCode => %w[culture],
|
115
|
+
CardValidity => %w[validity],
|
116
|
+
PaymentStatus => %w[payment_status],
|
117
|
+
DirectDebitType => %w[direct_debit_type],
|
118
|
+
MandateScheme => %w[scheme],
|
119
|
+
MandateType => %w[mandate_type],
|
120
|
+
KycDocRefusedReasonType => %w[refused_reason_type],
|
121
|
+
NaturalUserCapacity => %w[capacity],
|
122
|
+
EventType => %w[event_type],
|
123
|
+
RefundReason => %w[refund_reason],
|
124
|
+
RefundReasonType => %w[refund_reason_type],
|
125
|
+
DisputeType => %w[dispute_type],
|
126
|
+
DisputeReason => %w[dispute_reason],
|
127
|
+
DisputeReasonType => %w[dispute_reason_type],
|
128
|
+
DownloadFormat => %w[download_format],
|
129
|
+
ReportType => %w[report_type],
|
130
|
+
Sector => %w[sector],
|
131
|
+
BusinessType => %w[business_type],
|
132
|
+
PlatformCategorization => %w[platform_categorization],
|
133
|
+
Billing => %w[billing],
|
134
|
+
SecurityInfo => %w[security_info],
|
135
|
+
AvsResult => %w[avs_result]
|
136
|
+
}
|
137
|
+
|
138
|
+
class << self
|
139
|
+
|
140
|
+
# Returns an array containing all declared
|
141
|
+
# field names of a certain type
|
142
|
+
#
|
143
|
+
# noinspection RubyResolve
|
144
|
+
def fields_of_type(type)
|
145
|
+
@fields_by_type[type]
|
146
|
+
end
|
147
|
+
|
148
|
+
# Asserts the type of pay-in represented by a hash
|
149
|
+
#
|
150
|
+
# @param +hash+ [Hash] source hash
|
151
|
+
# @return [Class] type of pay-in represented by the hash
|
152
|
+
def pay_in_type(hash)
|
153
|
+
if hash['PaymentType'] == PayInPaymentType::CARD.to_s\
|
154
|
+
&& hash['ExecutionType'] == PayInExecutionType::WEB.to_s
|
155
|
+
CardWebPayIn
|
156
|
+
elsif hash['PaymentType'] == PayInPaymentType::CARD.to_s\
|
157
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
158
|
+
CardDirectPayIn
|
159
|
+
elsif hash['PaymentType'] == PayInPaymentType::PREAUTHORIZED.to_s\
|
160
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
161
|
+
CardPreAuthorizedPayIn
|
162
|
+
elsif hash['PaymentType'] == PayInPaymentType::BANK_WIRE.to_s\
|
163
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
164
|
+
BankWireDirectPayIn
|
165
|
+
elsif hash['PaymentType'] == PayInPaymentType::BANK_WIRE.to_s\
|
166
|
+
&& hash['ExecutionType'] == PayInExecutionType::EXTERNAL_INSTRUCTION.to_s
|
167
|
+
BankWireExternalInstructionPayIn
|
168
|
+
elsif hash['PaymentType'] == PayInPaymentType::DIRECT_DEBIT.to_s\
|
169
|
+
&& hash['ExecutionType'] == PayInExecutionType::WEB.to_s
|
170
|
+
DirectDebitWebPayIn
|
171
|
+
elsif hash['PaymentType'] == PayInPaymentType::DIRECT_DEBIT.to_s\
|
172
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
173
|
+
DirectDebitDirectPayIn
|
174
|
+
elsif hash['PaymentType'] == PayInPaymentType::PAYPAL.to_s\
|
175
|
+
&& hash['ExecutionType'] == PayInExecutionType::WEB.to_s
|
176
|
+
PaypalWebPayIn
|
177
|
+
elsif hash['PaymentType'] == PayInPaymentType::APPLEPAY.to_s\
|
178
|
+
&& hash['ExecutionType'] == PayInExecutionType::DIRECT.to_s
|
179
|
+
ApplePayPayIn
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
# Asserts the type of bank account represented by a hash.
|
184
|
+
#
|
185
|
+
# @param +hash+ [Hash] source hash
|
186
|
+
# @return [Class] type of bank account represented by the hash
|
187
|
+
def bank_account_type(hash)
|
188
|
+
case hash['Type']
|
189
|
+
when AccountType::IBAN.to_s
|
190
|
+
IbanBankAccount
|
191
|
+
when AccountType::US.to_s
|
192
|
+
UsBankAccount
|
193
|
+
when AccountType::CA.to_s
|
194
|
+
CaBankAccount
|
195
|
+
when AccountType::GB.to_s
|
196
|
+
GbBankAccount
|
197
|
+
else
|
198
|
+
OtherBankAccount
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
# Asserts the type of user represented by a hash.
|
203
|
+
#
|
204
|
+
# @param +hash+ [Hash] source hash
|
205
|
+
# @return [Class] type of user represented by the hash
|
206
|
+
def user_type(hash)
|
207
|
+
case hash['PersonType']
|
208
|
+
when PersonType::NATURAL.to_s
|
209
|
+
NaturalUser
|
210
|
+
else
|
211
|
+
LegalUser
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
194
215
|
end
|