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,21 @@
|
|
1
|
+
require_relative 'bank_account'
|
2
|
+
require_relative '../../enum/account_type'
|
3
|
+
require_relative '../../../common/jsonifier'
|
4
|
+
|
5
|
+
module MangoModel
|
6
|
+
|
7
|
+
# Bank account of +AccountType::GB+
|
8
|
+
class GbBankAccount < BankAccount
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] Its sort code (6 digits)
|
12
|
+
attr_accessor :sort_code
|
13
|
+
|
14
|
+
# [String] Its account number (8 digits)
|
15
|
+
attr_accessor :account_number
|
16
|
+
|
17
|
+
def initialize
|
18
|
+
self.type = MangoModel::AccountType::GB
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative 'bank_account'
|
2
|
+
require_relative '../../enum/account_type'
|
3
|
+
require_relative '../../../common/jsonifier'
|
4
|
+
|
5
|
+
module MangoModel
|
6
|
+
|
7
|
+
# Bank account of +AccountType::IBAN+
|
8
|
+
class IbanBankAccount < BankAccount
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] Its IBAN code
|
12
|
+
attr_accessor :iban
|
13
|
+
|
14
|
+
# [String] Its BIC code
|
15
|
+
attr_accessor :bic
|
16
|
+
|
17
|
+
def initialize
|
18
|
+
self.type = MangoModel::AccountType::IBAN
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative 'bank_account'
|
2
|
+
require_relative '../../enum/account_type'
|
3
|
+
require_relative '../../../common/jsonifier'
|
4
|
+
|
5
|
+
module MangoModel
|
6
|
+
|
7
|
+
# Bank account of +AccountType::OTHER+
|
8
|
+
class OtherBankAccount < BankAccount
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] Its BIC code
|
12
|
+
attr_accessor :bic
|
13
|
+
|
14
|
+
# [String] Its account number
|
15
|
+
attr_accessor :account_number
|
16
|
+
|
17
|
+
# [CountryIso] Its country
|
18
|
+
attr_accessor :country
|
19
|
+
|
20
|
+
def initialize
|
21
|
+
self.type = MangoModel::AccountType::OTHER
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative 'bank_account'
|
2
|
+
require_relative '../../enum/account_type'
|
3
|
+
require_relative '../../../common/jsonifier'
|
4
|
+
|
5
|
+
module MangoModel
|
6
|
+
|
7
|
+
# Bank account of +AccountType::US+
|
8
|
+
class UsBankAccount < BankAccount
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] Its account number (digits only)
|
12
|
+
attr_accessor :account_number
|
13
|
+
|
14
|
+
# [String] Its ABA (9 digits )
|
15
|
+
attr_accessor :aba
|
16
|
+
|
17
|
+
# [DepositType] Its deposit type
|
18
|
+
attr_accessor :deposit_account_type
|
19
|
+
|
20
|
+
def initialize
|
21
|
+
self.type = MangoModel::AccountType::US
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Card entity
|
6
|
+
class Card < EntityBase
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [Integer] Its expiry date (MM/YY format)
|
10
|
+
attr_accessor :expiration_date
|
11
|
+
|
12
|
+
# [String] A partially obfuscated version of its credit card number
|
13
|
+
attr_accessor :alias
|
14
|
+
|
15
|
+
# [String] Its provider
|
16
|
+
attr_accessor :card_provider
|
17
|
+
|
18
|
+
# [CardType] Its type
|
19
|
+
attr_accessor :card_type
|
20
|
+
|
21
|
+
# [String] Country of its address
|
22
|
+
attr_accessor :country
|
23
|
+
|
24
|
+
# [String] Its product type
|
25
|
+
attr_accessor :product
|
26
|
+
|
27
|
+
# [String] Its bank code
|
28
|
+
attr_accessor :bank_code
|
29
|
+
|
30
|
+
# [true/false] Whether or not it is active
|
31
|
+
attr_accessor :active
|
32
|
+
|
33
|
+
# [CurrencyIso] Its currency
|
34
|
+
attr_accessor :currency
|
35
|
+
|
36
|
+
# [CardValidity] Whether or not it is valid
|
37
|
+
attr_accessor :validity
|
38
|
+
|
39
|
+
# [String] A unique representation of a 16-digit card number
|
40
|
+
attr_accessor :fingerprint
|
41
|
+
|
42
|
+
# [String] ID of its owner
|
43
|
+
attr_accessor :user_id
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Card Registration entity
|
6
|
+
class CardRegistration < EntityBase
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [String] Its owner's ID
|
10
|
+
attr_accessor :user_id
|
11
|
+
|
12
|
+
# [CurrencyIso] Its currency
|
13
|
+
attr_accessor :currency
|
14
|
+
|
15
|
+
# [String] Its access key (a special key needed for registering a card)
|
16
|
+
attr_accessor :access_key
|
17
|
+
|
18
|
+
# [String] A specific value to pass to the card registration URL
|
19
|
+
attr_accessor :preregistration_data
|
20
|
+
|
21
|
+
# [String] The URL to submit the card details form to
|
22
|
+
attr_accessor :card_registration_url
|
23
|
+
|
24
|
+
# [String] Having registered a card, this confirmation hash needs to be
|
25
|
+
# updated to the card item
|
26
|
+
attr_accessor :registration_data
|
27
|
+
|
28
|
+
# [CardType] The type of card
|
29
|
+
attr_accessor :card_type
|
30
|
+
|
31
|
+
# [String] The card's ID
|
32
|
+
attr_accessor :card_id
|
33
|
+
|
34
|
+
# [String] The result code
|
35
|
+
attr_accessor :result_code
|
36
|
+
|
37
|
+
# [String] Explanation of the result
|
38
|
+
attr_accessor :result_message
|
39
|
+
|
40
|
+
# [CardStatus] Status of the registration
|
41
|
+
attr_accessor :status
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Client entity
|
6
|
+
# The Client object allows viewing and editing of various
|
7
|
+
# details concerning the implementing platform.
|
8
|
+
class Client
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] Its pretty name
|
12
|
+
attr_accessor :name
|
13
|
+
|
14
|
+
# [String] Its registered company name
|
15
|
+
attr_accessor :registered_name
|
16
|
+
|
17
|
+
# [String] Its ID
|
18
|
+
attr_accessor :client_id
|
19
|
+
|
20
|
+
# [String] Its primary branding colour (Hex code)
|
21
|
+
attr_accessor :primary_theme_colour
|
22
|
+
|
23
|
+
# [String] Its primary branding colour for buttons (Hex code)
|
24
|
+
attr_accessor :primary_button_colour
|
25
|
+
|
26
|
+
# [String] URL of its logo
|
27
|
+
attr_accessor :logo
|
28
|
+
|
29
|
+
# [Array] List of email addresses for contacting its technical
|
30
|
+
# support team
|
31
|
+
attr_accessor :tech_emails
|
32
|
+
|
33
|
+
# [Array] List of email addresses for contacting its
|
34
|
+
# administration/commercial team
|
35
|
+
attr_accessor :admin_emails
|
36
|
+
|
37
|
+
# [Array] List of email addresses for contacting its
|
38
|
+
# fraud prevention/compliance team
|
39
|
+
attr_accessor :fraud_emails
|
40
|
+
|
41
|
+
# [Array] List of email addresses for contacting its billing team
|
42
|
+
attr_accessor :billing_emails
|
43
|
+
|
44
|
+
# [String] Description of what its implementing platform does
|
45
|
+
attr_accessor :platform_description
|
46
|
+
|
47
|
+
# [PlatformType] Its implementing platform type
|
48
|
+
attr_accessor :platform_type
|
49
|
+
|
50
|
+
# [String] Its implementing platform's website URL
|
51
|
+
attr_accessor :platform_url
|
52
|
+
|
53
|
+
# [Address] Its company's headquarters' address
|
54
|
+
attr_accessor :headquarters_address
|
55
|
+
|
56
|
+
# [String] Its company's tax (or VAT) number
|
57
|
+
attr_accessor :tax_number
|
58
|
+
|
59
|
+
# [String] Its company's unique MangoPay reference to be used when
|
60
|
+
# contacting the MangoPay team
|
61
|
+
attr_accessor :company_reference
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Client Wallet entity
|
6
|
+
# The Client Wallet is very similar to a normal Wallet except the parameters
|
7
|
+
# +description+ and +owners+ are removed. Currently, there are two types of
|
8
|
+
# Client Wallet (specified by the +funds_type+ parameter) - +FEES+ where your
|
9
|
+
# collected turnover is stored and +CREDIT_ where repudiations are taken from.
|
10
|
+
# A normal wallet for a user has the +FundsType+ of +DEFAULT+.
|
11
|
+
class ClientWallet < EntityBase
|
12
|
+
include MangoPay::Jsonifier
|
13
|
+
|
14
|
+
# [Money] Its current balance
|
15
|
+
attr_accessor :balance
|
16
|
+
|
17
|
+
# [FundsType] Its funds' type
|
18
|
+
attr_accessor :funds_type
|
19
|
+
|
20
|
+
# [CurrencyIso] Its funds' currency
|
21
|
+
attr_accessor :currency
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Dispute entity
|
6
|
+
# The Dispute object is used when a user requests a chargeback
|
7
|
+
# of a transaction to their bank. In turn, their bank withdraws
|
8
|
+
# the funds from MangoPay, and MangoPay will then repudiate
|
9
|
+
# the required funds from your client credit wallet.
|
10
|
+
class Dispute < EntityBase
|
11
|
+
include MangoPay::Jsonifier
|
12
|
+
|
13
|
+
# [DisputeType] Its type
|
14
|
+
attr_accessor :dispute_type
|
15
|
+
|
16
|
+
# [String] The initial transaction's ID
|
17
|
+
attr_accessor :initial_transaction_id
|
18
|
+
|
19
|
+
# [TransactionType] The initial transaction's type
|
20
|
+
attr_accessor :initial_transaction_type
|
21
|
+
|
22
|
+
# [String] Its result code
|
23
|
+
attr_accessor :result_code
|
24
|
+
|
25
|
+
# {String] Explanation of its result
|
26
|
+
attr_accessor :result_message
|
27
|
+
|
28
|
+
# [DisputeReason] Its reason
|
29
|
+
attr_accessor :dispute_reason
|
30
|
+
|
31
|
+
# [DisputeStatus] Its status
|
32
|
+
attr_accessor :status
|
33
|
+
|
34
|
+
# [String] Explanation of the status
|
35
|
+
attr_accessor :status_message
|
36
|
+
|
37
|
+
# [Money] The funds that were disputed
|
38
|
+
attr_accessor :disputed_funds
|
39
|
+
|
40
|
+
# [Money] The funds wished to be contested
|
41
|
+
attr_accessor :contested_funds
|
42
|
+
|
43
|
+
# [Integer] The deadline by which the dispute must be contested,
|
44
|
+
# if necessary (UNIX timestamp)
|
45
|
+
attr_accessor :contest_deadline_date
|
46
|
+
|
47
|
+
# [String] ID of the associated repudiation transaction
|
48
|
+
attr_accessor :repudiation_id
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Dispute Document entity
|
6
|
+
# A Dispute Document must be created in order to upload pages
|
7
|
+
# of a document pertaining to a certain dispute.
|
8
|
+
class DisputeDocument < EntityBase
|
9
|
+
include MangoPay::Jsonifier
|
10
|
+
|
11
|
+
# [String] ID of the corresponding dispute
|
12
|
+
attr_accessor :dispute_id
|
13
|
+
|
14
|
+
# [DocumentStatus] Its status
|
15
|
+
attr_accessor :status
|
16
|
+
|
17
|
+
# [DisputeDocumentType] Its type
|
18
|
+
attr_accessor :type
|
19
|
+
|
20
|
+
# [DisputeDocRefusedReasonType] Type of its refusal reason
|
21
|
+
attr_accessor :refused_reason_type
|
22
|
+
|
23
|
+
# [String] Explanation of its refusal
|
24
|
+
attr_accessor :refused_reason_message
|
25
|
+
|
26
|
+
# [Integer] Time when the document was processed (UNIX timestamp)
|
27
|
+
attr_accessor :processed_date
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../../util/non_instantiable'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Base class for entities which provides common properties
|
6
|
+
class EntityBase
|
7
|
+
extend NonInstantiable
|
8
|
+
|
9
|
+
# Unique identifier
|
10
|
+
attr_accessor :id
|
11
|
+
|
12
|
+
# Custom data
|
13
|
+
attr_accessor :tag
|
14
|
+
|
15
|
+
# Date of creation (UNIX timestamp)
|
16
|
+
attr_accessor :creation_date
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Hook entity
|
6
|
+
# Once setup, a hook entity allows MangoPay to make a request
|
7
|
+
# to a specific URL on the implementing server to make it aware
|
8
|
+
# of various Events (i.e. a failed PayOut). One URL can be
|
9
|
+
# configured for each +EventType+.
|
10
|
+
class Hook < EntityBase
|
11
|
+
include MangoPay::Jsonifier
|
12
|
+
|
13
|
+
# [String] The URL that will be pinged for events of the
|
14
|
+
# specified type
|
15
|
+
attr_accessor :url
|
16
|
+
|
17
|
+
# [HookStatus] Whether or not the hook is enabled
|
18
|
+
attr_accessor :status
|
19
|
+
|
20
|
+
# [HookValidity] Whether or not the hook is valid
|
21
|
+
attr_accessor :validity
|
22
|
+
|
23
|
+
# [EventType] Type of event handled
|
24
|
+
attr_accessor :event_type
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# KYC Document entity
|
6
|
+
# The KYC Document object is a request to validate a required document.
|
7
|
+
class KycDocument < EntityBase
|
8
|
+
include MangoPay::Jsonifier
|
9
|
+
|
10
|
+
# [KycDocumentType] Its type
|
11
|
+
attr_accessor :type
|
12
|
+
|
13
|
+
# [String] ID of its owner
|
14
|
+
attr_accessor :user_id
|
15
|
+
|
16
|
+
# [DocumentStatus] Its processing status
|
17
|
+
attr_accessor :status
|
18
|
+
|
19
|
+
# [String] The message accompanying a refusal
|
20
|
+
attr_accessor :refused_reason_message
|
21
|
+
|
22
|
+
# [KycDocRefusedReasonType] Reason of refusal
|
23
|
+
attr_accessor :refused_reason_type
|
24
|
+
|
25
|
+
# [Integer] Time when the document was processed (UNIX timestamp)
|
26
|
+
attr_accessor :processed_date
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require_relative '../../common/jsonifier'
|
2
|
+
|
3
|
+
module MangoModel
|
4
|
+
|
5
|
+
# Mandate entity
|
6
|
+
class Mandate < EntityBase
|
7
|
+
include MangoPay::Jsonifier
|
8
|
+
|
9
|
+
# [String] ID of the concerned bank account
|
10
|
+
attr_accessor :bank_account_id
|
11
|
+
|
12
|
+
# [String] Its owner's ID
|
13
|
+
attr_accessor :user_id
|
14
|
+
|
15
|
+
# [String] URL to redirect to after payment (whether or not successful)
|
16
|
+
attr_accessor :return_url
|
17
|
+
|
18
|
+
# [String] URL which to redirect users to for them to proceed
|
19
|
+
# with the payment
|
20
|
+
attr_accessor :redirect_url
|
21
|
+
|
22
|
+
# [String] URL where the mandate can be downloaded
|
23
|
+
attr_accessor :document_url
|
24
|
+
|
25
|
+
# [MandateCultureCode] ISO code of the language to use for the mandate
|
26
|
+
# confirmation page
|
27
|
+
attr_accessor :culture
|
28
|
+
|
29
|
+
# [MandateScheme] Its type, will only be set once the mandate
|
30
|
+
# has been submitted
|
31
|
+
attr_accessor :scheme
|
32
|
+
|
33
|
+
# [MandateStatus] Its status
|
34
|
+
attr_accessor :status
|
35
|
+
|
36
|
+
# [String] Its result code
|
37
|
+
attr_accessor :result_code
|
38
|
+
|
39
|
+
# [String] Explanation of its result
|
40
|
+
attr_accessor :result_message
|
41
|
+
|
42
|
+
# [MandateExecutionType] Execution type for its creation
|
43
|
+
attr_accessor :execution_type
|
44
|
+
|
45
|
+
# [MandateType] Its type
|
46
|
+
attr_accessor :mandate_type
|
47
|
+
|
48
|
+
# [String] Its banking reference
|
49
|
+
attr_accessor :bank_reference
|
50
|
+
end
|
51
|
+
end
|