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.
Files changed (234) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +29 -29
  3. data/.rspec +3 -3
  4. data/.rubocop.yml +1 -1
  5. data/.travis.yml +21 -13
  6. data/Gemfile +2 -2
  7. data/LICENSE +20 -20
  8. data/README.md +379 -379
  9. data/bin/mangopay +9 -9
  10. data/lib/mangopay.rb +132 -132
  11. data/lib/mangopay/api/api.rb +8 -8
  12. data/lib/mangopay/api/api_methods.rb +160 -136
  13. data/lib/mangopay/api/auth_token_manager.rb +173 -173
  14. data/lib/mangopay/api/http_client.rb +324 -324
  15. data/lib/mangopay/api/service/bank_accounts.rb +145 -145
  16. data/lib/mangopay/api/service/banking_aliases.rb +83 -0
  17. data/lib/mangopay/api/service/cards.rb +151 -151
  18. data/lib/mangopay/api/service/client_wallets.rb +88 -88
  19. data/lib/mangopay/api/service/clients.rb +67 -67
  20. data/lib/mangopay/api/service/dispute_documents.rb +157 -157
  21. data/lib/mangopay/api/service/disputes.rb +186 -186
  22. data/lib/mangopay/api/service/e_money.rb +63 -41
  23. data/lib/mangopay/api/service/events.rb +46 -46
  24. data/lib/mangopay/api/service/hooks.rb +92 -92
  25. data/lib/mangopay/api/service/kyc_documents.rb +152 -152
  26. data/lib/mangopay/api/service/mandates.rb +141 -141
  27. data/lib/mangopay/api/service/oauth_tokens.rb +24 -24
  28. data/lib/mangopay/api/service/pay_ins.rb +369 -259
  29. data/lib/mangopay/api/service/pay_outs.rb +53 -53
  30. data/lib/mangopay/api/service/pre_authorizations.rb +126 -68
  31. data/lib/mangopay/api/service/refunds.rb +159 -61
  32. data/lib/mangopay/api/service/reports.rb +150 -150
  33. data/lib/mangopay/api/service/repudiations.rb +31 -31
  34. data/lib/mangopay/api/service/responses.rb +101 -101
  35. data/lib/mangopay/api/service/settlement_transfers.rb +54 -54
  36. data/lib/mangopay/api/service/transactions.rb +246 -182
  37. data/lib/mangopay/api/service/transfers.rb +53 -53
  38. data/lib/mangopay/api/service/ubo_declarations.rb +94 -69
  39. data/lib/mangopay/api/service/users.rb +162 -162
  40. data/lib/mangopay/api/service/wallets.rb +98 -98
  41. data/lib/mangopay/api/uri_provider.rb +32 -34
  42. data/lib/mangopay/common/json_tag_converter.rb +70 -67
  43. data/lib/mangopay/common/jsonifier.rb +266 -248
  44. data/lib/mangopay/common/log_provider.rb +33 -33
  45. data/lib/mangopay/common/rate_limit_interval.rb +16 -16
  46. data/lib/mangopay/common/read_only_fields.rb +26 -26
  47. data/lib/mangopay/common/response_error.rb +61 -61
  48. data/lib/mangopay/common/sort_direction.rb +14 -14
  49. data/lib/mangopay/common/sort_field.rb +12 -12
  50. data/lib/mangopay/common/template_url_options.rb +8 -8
  51. data/lib/mangopay/configuration.rb +38 -38
  52. data/lib/mangopay/environment.rb +65 -65
  53. data/lib/mangopay/model/address.rb +26 -26
  54. data/lib/mangopay/model/billing.rb +13 -0
  55. data/lib/mangopay/model/birthplace.rb +15 -0
  56. data/lib/mangopay/model/declared_ubo.rb +20 -20
  57. data/lib/mangopay/model/dispute_reason.rb +14 -14
  58. data/lib/mangopay/model/document_page_consult.rb +14 -14
  59. data/lib/mangopay/model/e_money.rb +17 -17
  60. data/lib/mangopay/model/entity/account/bank_account.rb +25 -25
  61. data/lib/mangopay/model/entity/account/ca_bank_account.rb +26 -26
  62. data/lib/mangopay/model/entity/account/debited_bank_account.rb +31 -0
  63. data/lib/mangopay/model/entity/account/gb_bank_account.rb +20 -20
  64. data/lib/mangopay/model/entity/account/iban_bank_account.rb +20 -20
  65. data/lib/mangopay/model/entity/account/other_bank_account.rb +23 -23
  66. data/lib/mangopay/model/entity/account/us_bank_account.rb +23 -23
  67. data/lib/mangopay/model/entity/banking_alias.rb +27 -0
  68. data/lib/mangopay/model/entity/card.rb +44 -44
  69. data/lib/mangopay/model/entity/card_registration.rb +42 -42
  70. data/lib/mangopay/model/entity/client.rb +65 -62
  71. data/lib/mangopay/model/entity/client_wallet.rb +22 -22
  72. data/lib/mangopay/model/entity/dispute.rb +49 -49
  73. data/lib/mangopay/model/entity/dispute_document.rb +28 -28
  74. data/lib/mangopay/model/entity/entity_base.rb +17 -17
  75. data/lib/mangopay/model/entity/hook.rb +25 -25
  76. data/lib/mangopay/model/entity/kyc_document.rb +27 -27
  77. data/lib/mangopay/model/entity/mandate.rb +50 -50
  78. data/lib/mangopay/model/entity/pay_in/apple_pay_direct_pay_in.rb +26 -0
  79. data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +24 -21
  80. data/lib/mangopay/model/entity/pay_in/bank_wire_external_instruction_pay_in.rb +19 -0
  81. data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +41 -32
  82. data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +15 -12
  83. data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +36 -39
  84. data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +25 -22
  85. data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +37 -37
  86. data/lib/mangopay/model/entity/pay_in/google_pay_direct_pay_in.rb +28 -0
  87. data/lib/mangopay/model/entity/pay_in/pay_in.rb +18 -15
  88. data/lib/mangopay/model/entity/pay_in/paypal_web_pay_in.rb +15 -0
  89. data/lib/mangopay/model/entity/pay_out.rb +21 -21
  90. data/lib/mangopay/model/entity/pre_authorization.rb +74 -67
  91. data/lib/mangopay/model/entity/refund.rb +17 -17
  92. data/lib/mangopay/model/entity/report.rb +50 -50
  93. data/lib/mangopay/model/entity/repudiation.rb +17 -17
  94. data/lib/mangopay/model/entity/settlement_transfer.rb +16 -16
  95. data/lib/mangopay/model/entity/transaction.rb +51 -51
  96. data/lib/mangopay/model/entity/transfer.rb +12 -12
  97. data/lib/mangopay/model/entity/ubo.rb +30 -0
  98. data/lib/mangopay/model/entity/ubo_declaration.rb +29 -31
  99. data/lib/mangopay/model/entity/user/legal_user.rb +55 -52
  100. data/lib/mangopay/model/entity/user/natural_user.rb +49 -49
  101. data/lib/mangopay/model/entity/user/user.rb +17 -17
  102. data/lib/mangopay/model/entity/wallet.rb +27 -27
  103. data/lib/mangopay/model/enum/account_type.rb +23 -23
  104. data/lib/mangopay/model/enum/avs_result.rb +19 -0
  105. data/lib/mangopay/model/enum/banking_alias_type.rb +12 -0
  106. data/lib/mangopay/model/enum/business_type.rb +17 -0
  107. data/lib/mangopay/model/enum/card_status.rb +14 -14
  108. data/lib/mangopay/model/enum/card_type.rb +32 -32
  109. data/lib/mangopay/model/enum/card_validity.rb +18 -18
  110. data/lib/mangopay/model/enum/country_iso.rb +758 -758
  111. data/lib/mangopay/model/enum/culture_code.rb +43 -43
  112. data/lib/mangopay/model/enum/currency_iso.rb +551 -551
  113. data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +15 -15
  114. data/lib/mangopay/model/enum/declared_ubo_status.rb +17 -17
  115. data/lib/mangopay/model/enum/deposit_type.rb +14 -14
  116. data/lib/mangopay/model/enum/direct_debit_type.rb +12 -12
  117. data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +24 -24
  118. data/lib/mangopay/model/enum/dispute_document_type.rb +22 -22
  119. data/lib/mangopay/model/enum/dispute_reason_type.rb +32 -32
  120. data/lib/mangopay/model/enum/dispute_status.rb +20 -20
  121. data/lib/mangopay/model/enum/dispute_type.rb +14 -14
  122. data/lib/mangopay/model/enum/document_status.rb +20 -20
  123. data/lib/mangopay/model/enum/download_format.rb +10 -10
  124. data/lib/mangopay/model/enum/event_type.rb +76 -73
  125. data/lib/mangopay/model/enum/funds_type.rb +14 -14
  126. data/lib/mangopay/model/enum/hook_status.rb +12 -12
  127. data/lib/mangopay/model/enum/hook_validity.rb +14 -14
  128. data/lib/mangopay/model/enum/income_range.rb +20 -20
  129. data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +36 -36
  130. data/lib/mangopay/model/enum/kyc_document_type.rb +18 -18
  131. data/lib/mangopay/model/enum/kyc_level.rb +12 -12
  132. data/lib/mangopay/model/enum/legal_person_type.rb +14 -14
  133. data/lib/mangopay/model/enum/mandate_culture_code.rb +22 -22
  134. data/lib/mangopay/model/enum/mandate_execution_type.rb +10 -10
  135. data/lib/mangopay/model/enum/mandate_scheme.rb +12 -12
  136. data/lib/mangopay/model/enum/mandate_status.rb +23 -23
  137. data/lib/mangopay/model/enum/mandate_type.rb +10 -10
  138. data/lib/mangopay/model/enum/natural_user_capacity.rb +14 -14
  139. data/lib/mangopay/model/enum/pay_in_execution_type.rb +17 -17
  140. data/lib/mangopay/model/enum/pay_in_payment_type.rb +29 -20
  141. data/lib/mangopay/model/enum/pay_out_payment_type.rb +10 -10
  142. data/lib/mangopay/model/enum/payment_status.rb +20 -20
  143. data/lib/mangopay/model/enum/person_type.rb +14 -14
  144. data/lib/mangopay/model/enum/platform_type.rb +22 -22
  145. data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +10 -10
  146. data/lib/mangopay/model/enum/pre_authorization_status.rb +17 -17
  147. data/lib/mangopay/model/enum/refund_reason_type.rb +20 -20
  148. data/lib/mangopay/model/enum/report_status.rb +16 -16
  149. data/lib/mangopay/model/enum/report_type.rb +12 -12
  150. data/lib/mangopay/model/enum/sector.rb +29 -0
  151. data/lib/mangopay/model/enum/secure_mode.rb +15 -15
  152. data/lib/mangopay/model/enum/transaction_nature.rb +16 -16
  153. data/lib/mangopay/model/enum/transaction_status.rb +14 -14
  154. data/lib/mangopay/model/enum/transaction_type.rb +14 -14
  155. data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +18 -18
  156. data/lib/mangopay/model/enum/ubo_declaration_status.rb +20 -20
  157. data/lib/mangopay/model/event.rb +17 -17
  158. data/lib/mangopay/model/model.rb +214 -193
  159. data/lib/mangopay/model/money.rb +16 -16
  160. data/lib/mangopay/model/pay_in_web_extended_view.rb +30 -30
  161. data/lib/mangopay/model/platform_categorization.rb +15 -0
  162. data/lib/mangopay/model/refund_reason.rb +14 -14
  163. data/lib/mangopay/model/report_filter.rb +82 -82
  164. data/lib/mangopay/model/request/cancel_request.rb +15 -15
  165. data/lib/mangopay/model/request/complete_registration_request.rb +12 -12
  166. data/lib/mangopay/model/request/currency_request.rb +12 -12
  167. data/lib/mangopay/model/request/deactivation_request.rb +9 -9
  168. data/lib/mangopay/model/request/filter_request.rb +37 -37
  169. data/lib/mangopay/model/request/submit_document_request.rb +13 -13
  170. data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +16 -13
  171. data/lib/mangopay/model/request/upload_file_request.rb +8 -8
  172. data/lib/mangopay/model/response_replica.rb +26 -26
  173. data/lib/mangopay/model/security_info.rb +13 -0
  174. data/lib/mangopay/util/custom_formatter.rb +11 -11
  175. data/lib/mangopay/util/custom_logger.rb +33 -33
  176. data/lib/mangopay/util/enum.rb +51 -51
  177. data/lib/mangopay/util/file_encoder.rb +15 -15
  178. data/lib/mangopay/util/non_instantiable.rb +5 -5
  179. data/lib/mangopay/util/storage_strategy.rb +9 -9
  180. data/lib/mangopay/util/void_logger.rb +5 -5
  181. data/mangopay-v4.gemspec +32 -0
  182. data/mangopay.gemspec +32 -32
  183. data/spec/context/address_context.rb +24 -24
  184. data/spec/context/bank_account_context.rb +137 -137
  185. data/spec/context/banking_alias_context.rb +17 -0
  186. data/spec/context/birthplace_context.rb +17 -0
  187. data/spec/context/card_context.rb +45 -45
  188. data/spec/context/client_context.rb +43 -44
  189. data/spec/context/dispute_context.rb +36 -36
  190. data/spec/context/dispute_document_context.rb +19 -19
  191. data/spec/context/hook_context.rb +15 -15
  192. data/spec/context/kyc_document_context.rb +22 -22
  193. data/spec/context/mandate_context.rb +26 -26
  194. data/spec/context/pay_in_context.rb +319 -224
  195. data/spec/context/pay_out_context.rb +39 -38
  196. data/spec/context/pre_authorization_context.rb +44 -40
  197. data/spec/context/refund_context.rb +32 -32
  198. data/spec/context/report_context.rb +21 -21
  199. data/spec/context/repudiation_context.rb +18 -18
  200. data/spec/context/settlement_transfer_context.rb +27 -27
  201. data/spec/context/transfer_context.rb +50 -50
  202. data/spec/context/ubo_declaration_context.rb +29 -24
  203. data/spec/context/user_context.rb +83 -82
  204. data/spec/context/wallet_context.rb +52 -52
  205. data/spec/mangopay/bank_accounts_spec.rb +228 -228
  206. data/spec/mangopay/banking_alias_spec.rb +85 -0
  207. data/spec/mangopay/cards_spec.rb +133 -134
  208. data/spec/mangopay/client_wallets_spec.rb +147 -147
  209. data/spec/mangopay/clients_spec.rb +56 -54
  210. data/spec/mangopay/configuration_spec.rb +125 -125
  211. data/spec/mangopay/dispute_documents_spec.rb +173 -173
  212. data/spec/mangopay/disputes_spec.rb +264 -264
  213. data/spec/mangopay/e_money_spec.rb +57 -37
  214. data/spec/mangopay/events_spec.rb +49 -49
  215. data/spec/mangopay/hooks_spec.rb +70 -70
  216. data/spec/mangopay/kyc_documents_spec.rb +179 -179
  217. data/spec/mangopay/mandates_spec.rb +218 -218
  218. data/spec/mangopay/oauth_tokens_spec.rb +40 -40
  219. data/spec/mangopay/pay_ins_spec.rb +279 -180
  220. data/spec/mangopay/pay_outs_spec.rb +38 -38
  221. data/spec/mangopay/pre_authorizations_spec.rb +134 -57
  222. data/spec/mangopay/refunds_spec.rb +187 -39
  223. data/spec/mangopay/reports_spec.rb +118 -120
  224. data/spec/mangopay/responses_spec.rb +324 -294
  225. data/spec/mangopay/settlement_transfers_spec.rb +36 -36
  226. data/spec/mangopay/transactions_spec.rb +347 -232
  227. data/spec/mangopay/transfers_spec.rb +37 -37
  228. data/spec/mangopay/ubo_declarations_spec.rb +127 -64
  229. data/spec/mangopay/users_spec.rb +145 -145
  230. data/spec/mangopay/wallets_spec.rb +103 -103
  231. data/spec/spec_helper.rb +72 -72
  232. data/spec/tmp/MangoPay.AuthorizationToken.FileStore.tmp +6 -0
  233. data/spec/tmp/mangopay.log.tmp +1201 -0
  234. metadata +31 -5
@@ -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 ||= '4970100000000154'
12
- CARD_EXPIRATION ||= '1218'
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