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
data/mangopay.gemspec
CHANGED
@@ -1,32 +1,32 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
2
|
-
|
3
|
-
require 'mangopay'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = 'mangopay-v4'
|
7
|
-
spec.version = MangoPay::VERSION
|
8
|
-
spec.summary = 'Ruby bindings for the version 2 of the MANGOPAY API'
|
9
|
-
spec.description = <<-EOF
|
10
|
-
The mangopay Gem makes interacting with MANGOPAY Services much easier.
|
11
|
-
For any questions regarding the use of MANGOPAY's Services feel free to contact us at http://www.mangopay.com/get-started-2/
|
12
|
-
You can find more documentation about MANGOPAY Services at http://docs.mangopay.com/
|
13
|
-
EOF
|
14
|
-
spec.authors = ['Paul Hristea']
|
15
|
-
spec.email = 'support@mangopay.com'
|
16
|
-
spec.homepage = 'http://docs.mangopay.com/'
|
17
|
-
spec.license = 'MIT'
|
18
|
-
|
19
|
-
spec.required_ruby_version = '>= 1.9.2'
|
20
|
-
|
21
|
-
spec.add_dependency('multi_json', '>= 1.7.7')
|
22
|
-
|
23
|
-
spec.add_development_dependency('rake', '>= 10.1.0')
|
24
|
-
spec.add_development_dependency('rspec', '>= 3.0.0')
|
25
|
-
|
26
|
-
spec.files = `git ls-files`.split("\n")
|
27
|
-
spec.test_files = `git ls-files -- spec/*`.split("\n")
|
28
|
-
spec.executables = `git ls-files -- bin/*`
|
29
|
-
.split("\n")
|
30
|
-
.map { |file| File.basename(file) }
|
31
|
-
spec.require_paths = ['lib']
|
32
|
-
end
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
2
|
+
|
3
|
+
require 'mangopay'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'mangopay-v4'
|
7
|
+
spec.version = MangoPay::VERSION
|
8
|
+
spec.summary = 'Ruby bindings for the version 2 of the MANGOPAY API'
|
9
|
+
spec.description = <<-EOF
|
10
|
+
The mangopay Gem makes interacting with MANGOPAY Services much easier.
|
11
|
+
For any questions regarding the use of MANGOPAY's Services feel free to contact us at http://www.mangopay.com/get-started-2/
|
12
|
+
You can find more documentation about MANGOPAY Services at http://docs.mangopay.com/
|
13
|
+
EOF
|
14
|
+
spec.authors = ['Paul Hristea']
|
15
|
+
spec.email = 'support@mangopay.com'
|
16
|
+
spec.homepage = 'http://docs.mangopay.com/'
|
17
|
+
spec.license = 'MIT'
|
18
|
+
|
19
|
+
spec.required_ruby_version = '>= 1.9.2'
|
20
|
+
|
21
|
+
spec.add_dependency('multi_json', '>= 1.7.7')
|
22
|
+
|
23
|
+
spec.add_development_dependency('rake', '>= 10.1.0')
|
24
|
+
spec.add_development_dependency('rspec', '>= 3.0.0')
|
25
|
+
|
26
|
+
spec.files = `git ls-files`.split("\n")
|
27
|
+
spec.test_files = `git ls-files -- spec/*`.split("\n")
|
28
|
+
spec.executables = `git ls-files -- bin/*`
|
29
|
+
.split("\n")
|
30
|
+
.map { |file| File.basename(file) }
|
31
|
+
spec.require_paths = ['lib']
|
32
|
+
end
|
@@ -1,25 +1,25 @@
|
|
1
|
-
shared_context 'address_context' do
|
2
|
-
|
3
|
-
let(:address_data) { build_address }
|
4
|
-
end
|
5
|
-
|
6
|
-
def build_address
|
7
|
-
address = MangoModel::Address.new
|
8
|
-
address.address_line1 = 'Test st., no. 18'
|
9
|
-
address.address_line2 = 'bl. 16, int. 32'
|
10
|
-
address.city = 'Brasov'
|
11
|
-
address.region = 'Tractoru'
|
12
|
-
address.postal_code = '505600'
|
13
|
-
address.country = MangoModel::CountryIso::RO
|
14
|
-
address
|
15
|
-
end
|
16
|
-
|
17
|
-
def its_the_same_address(address1, address2)
|
18
|
-
address1.address_line1 == address2.address_line1\
|
19
|
-
&& address1.address_line2 == address2.address_line2\
|
20
|
-
&& address1.city == address2.city\
|
21
|
-
&& address1.region == address2.region\
|
22
|
-
&& address1.region == address2.region\
|
23
|
-
&& address1.postal_code == address2.postal_code\
|
24
|
-
&& address1.country.eql?(address2.country)
|
1
|
+
shared_context 'address_context' do
|
2
|
+
|
3
|
+
let(:address_data) { build_address }
|
4
|
+
end
|
5
|
+
|
6
|
+
def build_address
|
7
|
+
address = MangoModel::Address.new
|
8
|
+
address.address_line1 = 'Test st., no. 18'
|
9
|
+
address.address_line2 = 'bl. 16, int. 32'
|
10
|
+
address.city = 'Brasov'
|
11
|
+
address.region = 'Tractoru'
|
12
|
+
address.postal_code = '505600'
|
13
|
+
address.country = MangoModel::CountryIso::RO
|
14
|
+
address
|
15
|
+
end
|
16
|
+
|
17
|
+
def its_the_same_address(address1, address2)
|
18
|
+
address1.address_line1 == address2.address_line1\
|
19
|
+
&& address1.address_line2 == address2.address_line2\
|
20
|
+
&& address1.city == address2.city\
|
21
|
+
&& address1.region == address2.region\
|
22
|
+
&& address1.region == address2.region\
|
23
|
+
&& address1.postal_code == address2.postal_code\
|
24
|
+
&& address1.country.eql?(address2.country)
|
25
25
|
end
|
@@ -1,138 +1,138 @@
|
|
1
|
-
require_relative 'user_context'
|
2
|
-
require_relative '../../lib/mangopay/model/entity/account/iban_bank_account'
|
3
|
-
require_relative '../../lib/mangopay/model/entity/account/us_bank_account'
|
4
|
-
require_relative '../../lib/mangopay/model/entity/account/ca_bank_account'
|
5
|
-
require_relative '../../lib/mangopay/model/entity/account/gb_bank_account'
|
6
|
-
require_relative '../../lib/mangopay/model/entity/account/other_bank_account'
|
7
|
-
require_relative '../../lib/mangopay/api/service/bank_accounts'
|
8
|
-
|
9
|
-
shared_context 'bank_account_context' do
|
10
|
-
include_context 'user_context'
|
11
|
-
|
12
|
-
IBAN_ACCOUNT_DATA ||= build_iban_account
|
13
|
-
US_CHECKING_ACCOUNT_DATA ||= build_us_checking_account
|
14
|
-
US_SAVINGS_ACCOUNT_DATA ||= build_us_savings_account
|
15
|
-
CA_ACCOUNT_DATA ||= build_ca_account
|
16
|
-
GB_ACCOUNT_DATA ||= build_gb_account
|
17
|
-
OTHER_ACCOUNT_DATA ||= build_other_account
|
18
|
-
IBAN_ACCOUNT_PERSISTED ||= persist_account IBAN_ACCOUNT_DATA
|
19
|
-
US_CHECKING_ACCOUNT_PERSISTED ||= persist_account US_CHECKING_ACCOUNT_DATA
|
20
|
-
US_SAVINGS_ACCOUNT_PERSISTED ||= persist_account US_SAVINGS_ACCOUNT_DATA
|
21
|
-
CA_ACCOUNT_PERSISTED ||= persist_account CA_ACCOUNT_DATA
|
22
|
-
GB_ACCOUNT_PERSISTED ||= persist_account GB_ACCOUNT_DATA
|
23
|
-
OTHER_ACCOUNT_PERSISTED ||= persist_account OTHER_ACCOUNT_DATA
|
24
|
-
|
25
|
-
let(:new_iban_account_persisted) { persist_account IBAN_ACCOUNT_DATA }
|
26
|
-
let(:new_us_checking_account_persisted) { persist_account US_CHECKING_ACCOUNT_DATA }
|
27
|
-
let(:new_us_savings_account_persisted) { persist_account US_SAVINGS_ACCOUNT_DATA }
|
28
|
-
let(:new_ca_account_persisted) { persist_account CA_ACCOUNT_DATA }
|
29
|
-
let(:new_gb_account_persisted) { persist_account GB_ACCOUNT_DATA }
|
30
|
-
let(:new_other_account_persisted) { persist_account OTHER_ACCOUNT_DATA }
|
31
|
-
end
|
32
|
-
|
33
|
-
def persist_account(account)
|
34
|
-
MangoApi::BankAccounts.create account
|
35
|
-
end
|
36
|
-
|
37
|
-
def build_iban_account
|
38
|
-
account = MangoModel::IbanBankAccount.new
|
39
|
-
add_user_details account
|
40
|
-
account.iban = 'FR7618829754160173622224154'
|
41
|
-
account.bic = 'CMBRFR2BCME'
|
42
|
-
account
|
43
|
-
end
|
44
|
-
|
45
|
-
def build_us_account
|
46
|
-
account = MangoModel::UsBankAccount.new
|
47
|
-
add_user_details account
|
48
|
-
account.account_number = '234234234234'
|
49
|
-
account.aba = '234334789'
|
50
|
-
account
|
51
|
-
end
|
52
|
-
|
53
|
-
def build_us_checking_account
|
54
|
-
account = build_us_account
|
55
|
-
account.deposit_account_type = MangoModel::DepositType::CHECKING
|
56
|
-
account
|
57
|
-
end
|
58
|
-
|
59
|
-
def build_us_savings_account
|
60
|
-
account = build_us_account
|
61
|
-
account.deposit_account_type = MangoModel::DepositType::SAVINGS
|
62
|
-
account
|
63
|
-
end
|
64
|
-
|
65
|
-
def build_ca_account
|
66
|
-
account = MangoModel::CaBankAccount.new
|
67
|
-
add_user_details account
|
68
|
-
account.institution_number = '123'
|
69
|
-
account.account_number = '234234234234'
|
70
|
-
account.branch_code = '12345'
|
71
|
-
account.bank_name = 'Mango Bank'
|
72
|
-
account
|
73
|
-
end
|
74
|
-
|
75
|
-
def build_gb_account
|
76
|
-
account = MangoModel::GbBankAccount.new
|
77
|
-
add_user_details account
|
78
|
-
account.sort_code = '200000'
|
79
|
-
account.account_number = '63956474'
|
80
|
-
account
|
81
|
-
end
|
82
|
-
|
83
|
-
def build_other_account
|
84
|
-
account = MangoModel::OtherBankAccount.new
|
85
|
-
add_user_details account
|
86
|
-
account.bic = 'BINAADADXXX'
|
87
|
-
account.account_number = '234234234234'
|
88
|
-
account.country = MangoModel::CountryIso::FR
|
89
|
-
account
|
90
|
-
end
|
91
|
-
|
92
|
-
def add_user_details(account)
|
93
|
-
user = NATURAL_USER_PERSISTED
|
94
|
-
account.user_id = user.id
|
95
|
-
account.owner_name = user.first_name + ' ' + user.last_name
|
96
|
-
account.owner_address = user.address
|
97
|
-
end
|
98
|
-
|
99
|
-
def its_the_same_iban(account1, account2)
|
100
|
-
return false unless its_the_same_account(account1, account2)
|
101
|
-
account1.iban == account2.iban\
|
102
|
-
&& account1.bic == account2.bic
|
103
|
-
end
|
104
|
-
|
105
|
-
def its_the_same_us(account1, account2)
|
106
|
-
return false unless its_the_same_account(account1, account2)
|
107
|
-
account1.account_number == account2.account_number\
|
108
|
-
&& account1.aba == account2.aba\
|
109
|
-
&& account1.deposit_account_type.eql?(account2.deposit_account_type)
|
110
|
-
end
|
111
|
-
|
112
|
-
def its_the_same_ca(account1, account2)
|
113
|
-
return false unless its_the_same_account(account1, account2)
|
114
|
-
account1.institution_number == account2.institution_number\
|
115
|
-
&& account1.account_number == account2.account_number\
|
116
|
-
&& account1.branch_code == account2.branch_code\
|
117
|
-
&& account1.bank_name == account2.bank_name
|
118
|
-
end
|
119
|
-
|
120
|
-
def its_the_same_gb(account1, account2)
|
121
|
-
return false unless its_the_same_account(account1, account2)
|
122
|
-
account1.sort_code == account2.sort_code\
|
123
|
-
&& account1.account_number == account2.account_number
|
124
|
-
end
|
125
|
-
|
126
|
-
def its_the_same_other(account1, account2)
|
127
|
-
return false unless its_the_same_account(account1, account2)
|
128
|
-
account1.bic == account2.bic\
|
129
|
-
&& account1.account_number == account2.account_number\
|
130
|
-
&& account1.country.eql?(account2.country)
|
131
|
-
end
|
132
|
-
|
133
|
-
def its_the_same_account(account1, account2)
|
134
|
-
account1.user_id == account2.user_id\
|
135
|
-
&& account1.type.eql?(account2.type)\
|
136
|
-
&& account1.owner_name == account2.owner_name\
|
137
|
-
&& its_the_same_address(account1.owner_address, account2.owner_address)
|
1
|
+
require_relative 'user_context'
|
2
|
+
require_relative '../../lib/mangopay/model/entity/account/iban_bank_account'
|
3
|
+
require_relative '../../lib/mangopay/model/entity/account/us_bank_account'
|
4
|
+
require_relative '../../lib/mangopay/model/entity/account/ca_bank_account'
|
5
|
+
require_relative '../../lib/mangopay/model/entity/account/gb_bank_account'
|
6
|
+
require_relative '../../lib/mangopay/model/entity/account/other_bank_account'
|
7
|
+
require_relative '../../lib/mangopay/api/service/bank_accounts'
|
8
|
+
|
9
|
+
shared_context 'bank_account_context' do
|
10
|
+
include_context 'user_context'
|
11
|
+
|
12
|
+
IBAN_ACCOUNT_DATA ||= build_iban_account
|
13
|
+
US_CHECKING_ACCOUNT_DATA ||= build_us_checking_account
|
14
|
+
US_SAVINGS_ACCOUNT_DATA ||= build_us_savings_account
|
15
|
+
CA_ACCOUNT_DATA ||= build_ca_account
|
16
|
+
GB_ACCOUNT_DATA ||= build_gb_account
|
17
|
+
OTHER_ACCOUNT_DATA ||= build_other_account
|
18
|
+
IBAN_ACCOUNT_PERSISTED ||= persist_account IBAN_ACCOUNT_DATA
|
19
|
+
US_CHECKING_ACCOUNT_PERSISTED ||= persist_account US_CHECKING_ACCOUNT_DATA
|
20
|
+
US_SAVINGS_ACCOUNT_PERSISTED ||= persist_account US_SAVINGS_ACCOUNT_DATA
|
21
|
+
CA_ACCOUNT_PERSISTED ||= persist_account CA_ACCOUNT_DATA
|
22
|
+
GB_ACCOUNT_PERSISTED ||= persist_account GB_ACCOUNT_DATA
|
23
|
+
OTHER_ACCOUNT_PERSISTED ||= persist_account OTHER_ACCOUNT_DATA
|
24
|
+
|
25
|
+
let(:new_iban_account_persisted) { persist_account IBAN_ACCOUNT_DATA }
|
26
|
+
let(:new_us_checking_account_persisted) { persist_account US_CHECKING_ACCOUNT_DATA }
|
27
|
+
let(:new_us_savings_account_persisted) { persist_account US_SAVINGS_ACCOUNT_DATA }
|
28
|
+
let(:new_ca_account_persisted) { persist_account CA_ACCOUNT_DATA }
|
29
|
+
let(:new_gb_account_persisted) { persist_account GB_ACCOUNT_DATA }
|
30
|
+
let(:new_other_account_persisted) { persist_account OTHER_ACCOUNT_DATA }
|
31
|
+
end
|
32
|
+
|
33
|
+
def persist_account(account)
|
34
|
+
MangoApi::BankAccounts.create account
|
35
|
+
end
|
36
|
+
|
37
|
+
def build_iban_account
|
38
|
+
account = MangoModel::IbanBankAccount.new
|
39
|
+
add_user_details account
|
40
|
+
account.iban = 'FR7618829754160173622224154'
|
41
|
+
account.bic = 'CMBRFR2BCME'
|
42
|
+
account
|
43
|
+
end
|
44
|
+
|
45
|
+
def build_us_account
|
46
|
+
account = MangoModel::UsBankAccount.new
|
47
|
+
add_user_details account
|
48
|
+
account.account_number = '234234234234'
|
49
|
+
account.aba = '234334789'
|
50
|
+
account
|
51
|
+
end
|
52
|
+
|
53
|
+
def build_us_checking_account
|
54
|
+
account = build_us_account
|
55
|
+
account.deposit_account_type = MangoModel::DepositType::CHECKING
|
56
|
+
account
|
57
|
+
end
|
58
|
+
|
59
|
+
def build_us_savings_account
|
60
|
+
account = build_us_account
|
61
|
+
account.deposit_account_type = MangoModel::DepositType::SAVINGS
|
62
|
+
account
|
63
|
+
end
|
64
|
+
|
65
|
+
def build_ca_account
|
66
|
+
account = MangoModel::CaBankAccount.new
|
67
|
+
add_user_details account
|
68
|
+
account.institution_number = '123'
|
69
|
+
account.account_number = '234234234234'
|
70
|
+
account.branch_code = '12345'
|
71
|
+
account.bank_name = 'Mango Bank'
|
72
|
+
account
|
73
|
+
end
|
74
|
+
|
75
|
+
def build_gb_account
|
76
|
+
account = MangoModel::GbBankAccount.new
|
77
|
+
add_user_details account
|
78
|
+
account.sort_code = '200000'
|
79
|
+
account.account_number = '63956474'
|
80
|
+
account
|
81
|
+
end
|
82
|
+
|
83
|
+
def build_other_account
|
84
|
+
account = MangoModel::OtherBankAccount.new
|
85
|
+
add_user_details account
|
86
|
+
account.bic = 'BINAADADXXX'
|
87
|
+
account.account_number = '234234234234'
|
88
|
+
account.country = MangoModel::CountryIso::FR
|
89
|
+
account
|
90
|
+
end
|
91
|
+
|
92
|
+
def add_user_details(account)
|
93
|
+
user = NATURAL_USER_PERSISTED
|
94
|
+
account.user_id = user.id
|
95
|
+
account.owner_name = user.first_name + ' ' + user.last_name
|
96
|
+
account.owner_address = user.address
|
97
|
+
end
|
98
|
+
|
99
|
+
def its_the_same_iban(account1, account2)
|
100
|
+
return false unless its_the_same_account(account1, account2)
|
101
|
+
account1.iban == account2.iban\
|
102
|
+
&& account1.bic == account2.bic
|
103
|
+
end
|
104
|
+
|
105
|
+
def its_the_same_us(account1, account2)
|
106
|
+
return false unless its_the_same_account(account1, account2)
|
107
|
+
account1.account_number == account2.account_number\
|
108
|
+
&& account1.aba == account2.aba\
|
109
|
+
&& account1.deposit_account_type.eql?(account2.deposit_account_type)
|
110
|
+
end
|
111
|
+
|
112
|
+
def its_the_same_ca(account1, account2)
|
113
|
+
return false unless its_the_same_account(account1, account2)
|
114
|
+
account1.institution_number == account2.institution_number\
|
115
|
+
&& account1.account_number == account2.account_number\
|
116
|
+
&& account1.branch_code == account2.branch_code\
|
117
|
+
&& account1.bank_name == account2.bank_name
|
118
|
+
end
|
119
|
+
|
120
|
+
def its_the_same_gb(account1, account2)
|
121
|
+
return false unless its_the_same_account(account1, account2)
|
122
|
+
account1.sort_code == account2.sort_code\
|
123
|
+
&& account1.account_number == account2.account_number
|
124
|
+
end
|
125
|
+
|
126
|
+
def its_the_same_other(account1, account2)
|
127
|
+
return false unless its_the_same_account(account1, account2)
|
128
|
+
account1.bic == account2.bic\
|
129
|
+
&& account1.account_number == account2.account_number\
|
130
|
+
&& account1.country.eql?(account2.country)
|
131
|
+
end
|
132
|
+
|
133
|
+
def its_the_same_account(account1, account2)
|
134
|
+
account1.user_id == account2.user_id\
|
135
|
+
&& account1.type.eql?(account2.type)\
|
136
|
+
&& account1.owner_name == account2.owner_name\
|
137
|
+
&& its_the_same_address(account1.owner_address, account2.owner_address)
|
138
138
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative '../../lib/mangopay/api/service/banking_aliases'
|
2
|
+
require_relative '../../lib/mangopay/model/entity/banking_alias'
|
3
|
+
require_relative 'wallet_context'
|
4
|
+
|
5
|
+
shared_context 'banking_alias_context' do
|
6
|
+
include_context 'wallet_context'
|
7
|
+
BANKING_ALIAS ||= build_banking_alis
|
8
|
+
end
|
9
|
+
|
10
|
+
def build_banking_alis
|
11
|
+
banking_alias = MangoModel::BankingAlias.new
|
12
|
+
banking_alias.country = 'LU'
|
13
|
+
banking_alias.tag = "Tag test"
|
14
|
+
banking_alias.owner_name = 'John Doe'
|
15
|
+
banking_alias.credited_user_id = nil
|
16
|
+
banking_alias
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative '../../lib/mangopay/model/birthplace'
|
2
|
+
|
3
|
+
shared_context 'birthplace_context' do
|
4
|
+
let(:birthplace_data) { build_birthplace }
|
5
|
+
end
|
6
|
+
|
7
|
+
def build_birthplace
|
8
|
+
birthplace = MangoModel::Birthplace.new
|
9
|
+
birthplace.city = 'Brasov'
|
10
|
+
birthplace.country = MangoModel::CountryIso::RO
|
11
|
+
birthplace
|
12
|
+
end
|
13
|
+
|
14
|
+
def its_the_same_birthplace(birthplace1, birthplace2)
|
15
|
+
birthplace1.city == birthplace2.city\
|
16
|
+
&& birthplace1.country.eql?(birthplace2.country)
|
17
|
+
end
|
@@ -1,46 +1,46 @@
|
|
1
|
-
require_relative 'user_context'
|
2
|
-
require_relative '../../lib/mangopay/model/entity/card_registration'
|
3
|
-
require_relative '../../lib/mangopay/api/service/cards'
|
4
|
-
|
5
|
-
shared_context 'card_context' do
|
6
|
-
include_context 'user_context'
|
7
|
-
|
8
|
-
CARD_REGISTRATION_DATA ||= build_card_registration
|
9
|
-
CARD_REGISTRATION_PERSISTED ||= persist_card_registration CARD_REGISTRATION_DATA
|
10
|
-
# MangoPay test data
|
11
|
-
CARD_NUMBER ||= '
|
12
|
-
CARD_EXPIRATION ||= '
|
13
|
-
CARD_CVX ||= '123'
|
14
|
-
CARD_REGISTRATION_COMPLETED ||= complete_card_registration CARD_REGISTRATION_PERSISTED
|
15
|
-
CARD ||= retrieve_card CARD_REGISTRATION_COMPLETED.card_id
|
16
|
-
end
|
17
|
-
|
18
|
-
def persist_card_registration(card_registration)
|
19
|
-
MangoApi::Cards.create_registration card_registration
|
20
|
-
end
|
21
|
-
|
22
|
-
def complete_card_registration(card_registration)
|
23
|
-
test_body = "data=#{card_registration.preregistration_data}" +
|
24
|
-
"&accessKeyRef=#{card_registration.access_key}" +
|
25
|
-
"&cardNumber=#{CARD_NUMBER}" +
|
26
|
-
"&cardExpirationDate=#{CARD_EXPIRATION}" +
|
27
|
-
"&cardCvx=#{CARD_CVX}"
|
28
|
-
|
29
|
-
uri = URI(card_registration.card_registration_url)
|
30
|
-
response = MangoApi::HttpClient.post_raw(uri) do |request|
|
31
|
-
request.body = test_body
|
32
|
-
end
|
33
|
-
MangoApi::Cards.complete_registration(CARD_REGISTRATION_PERSISTED.id, response.to_s)
|
34
|
-
end
|
35
|
-
|
36
|
-
def build_card_registration
|
37
|
-
registration = MangoModel::CardRegistration.new
|
38
|
-
registration.user_id = NATURAL_USER_PERSISTED.id
|
39
|
-
registration.card_type = MangoModel::CardType::CB_VISA_MASTERCARD
|
40
|
-
registration.currency = MangoModel::CurrencyIso::EUR
|
41
|
-
registration
|
42
|
-
end
|
43
|
-
|
44
|
-
def retrieve_card(id)
|
45
|
-
MangoApi::Cards.get id
|
1
|
+
require_relative 'user_context'
|
2
|
+
require_relative '../../lib/mangopay/model/entity/card_registration'
|
3
|
+
require_relative '../../lib/mangopay/api/service/cards'
|
4
|
+
|
5
|
+
shared_context 'card_context' do
|
6
|
+
include_context 'user_context'
|
7
|
+
|
8
|
+
CARD_REGISTRATION_DATA ||= build_card_registration
|
9
|
+
CARD_REGISTRATION_PERSISTED ||= persist_card_registration CARD_REGISTRATION_DATA
|
10
|
+
# MangoPay test data
|
11
|
+
CARD_NUMBER ||= '4972485830400056'
|
12
|
+
CARD_EXPIRATION ||= '1224'
|
13
|
+
CARD_CVX ||= '123'
|
14
|
+
CARD_REGISTRATION_COMPLETED ||= complete_card_registration CARD_REGISTRATION_PERSISTED
|
15
|
+
CARD ||= retrieve_card CARD_REGISTRATION_COMPLETED.card_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def persist_card_registration(card_registration)
|
19
|
+
MangoApi::Cards.create_registration card_registration
|
20
|
+
end
|
21
|
+
|
22
|
+
def complete_card_registration(card_registration)
|
23
|
+
test_body = "data=#{card_registration.preregistration_data}" +
|
24
|
+
"&accessKeyRef=#{card_registration.access_key}" +
|
25
|
+
"&cardNumber=#{CARD_NUMBER}" +
|
26
|
+
"&cardExpirationDate=#{CARD_EXPIRATION}" +
|
27
|
+
"&cardCvx=#{CARD_CVX}"
|
28
|
+
|
29
|
+
uri = URI(card_registration.card_registration_url)
|
30
|
+
response = MangoApi::HttpClient.post_raw(uri) do |request|
|
31
|
+
request.body = test_body
|
32
|
+
end
|
33
|
+
MangoApi::Cards.complete_registration(CARD_REGISTRATION_PERSISTED.id, response.to_s)
|
34
|
+
end
|
35
|
+
|
36
|
+
def build_card_registration
|
37
|
+
registration = MangoModel::CardRegistration.new
|
38
|
+
registration.user_id = NATURAL_USER_PERSISTED.id
|
39
|
+
registration.card_type = MangoModel::CardType::CB_VISA_MASTERCARD
|
40
|
+
registration.currency = MangoModel::CurrencyIso::EUR
|
41
|
+
registration
|
42
|
+
end
|
43
|
+
|
44
|
+
def retrieve_card(id)
|
45
|
+
MangoApi::Cards.get id
|
46
46
|
end
|