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,39 +1,40 @@
1
- require_relative 'bank_account_context'
2
- require_relative 'pay_in_context'
3
- require_relative '../../lib/mangopay/model/entity/pay_out'
4
-
5
- shared_context 'pay_out_context' do
6
- include_context 'bank_account_context'
7
- include_context 'pay_in_context'
8
-
9
- PAY_OUT_DATA ||= build_pay_out
10
- PAY_OUT_PERSISTED ||= persist_pay_out PAY_OUT_DATA
11
- end
12
-
13
- def persist_pay_out(pay_out)
14
- MangoApi::PayOuts.create pay_out
15
- end
16
-
17
- def build_pay_out
18
- pay_out = MangoModel::PayOut.new
19
- pay_out.author_id = NATURAL_USER_PERSISTED.id
20
- pay_out.debited_funds = MangoModel::Money.new
21
- pay_out.debited_funds.currency = MangoModel::CurrencyIso::EUR
22
- pay_out.debited_funds.amount = 10
23
- pay_out.fees = MangoModel::Money.new
24
- pay_out.fees.currency = MangoModel::CurrencyIso::EUR
25
- pay_out.fees.amount = 0
26
- pay_out.bank_account_id = IBAN_ACCOUNT_PERSISTED.id
27
- pay_out.debited_wallet_id = WALLET_PERSISTED.id
28
- pay_out.bank_wire_ref = 'Invoice 7282'
29
- pay_out
30
- end
31
-
32
- def its_the_same_pay_out(pay_out1, pay_out2)
33
- pay_out1.author_id == pay_out2.author_id\
34
- && its_the_same_money(pay_out1.debited_funds, pay_out2.debited_funds)\
35
- && its_the_same_money(pay_out1.fees, pay_out2.fees)\
36
- && pay_out1.bank_account_id == pay_out2.bank_account_id\
37
- && pay_out1.debited_wallet_id == pay_out2.debited_wallet_id\
38
- && pay_out1.bank_wire_ref == pay_out2.bank_wire_ref
1
+ require_relative 'bank_account_context'
2
+ require_relative 'pay_in_context'
3
+ require_relative '../../lib/mangopay/api/service/pay_outs'
4
+ require_relative '../../lib/mangopay/model/entity/pay_out'
5
+
6
+ shared_context 'pay_out_context' do
7
+ include_context 'bank_account_context'
8
+ include_context 'pay_in_context'
9
+
10
+ PAY_OUT_DATA ||= build_pay_out
11
+ PAY_OUT_PERSISTED ||= persist_pay_out PAY_OUT_DATA
12
+ end
13
+
14
+ def persist_pay_out(pay_out)
15
+ MangoApi::PayOuts.create pay_out
16
+ end
17
+
18
+ def build_pay_out
19
+ pay_out = MangoModel::PayOut.new
20
+ pay_out.author_id = NATURAL_USER_PERSISTED.id
21
+ pay_out.debited_funds = MangoModel::Money.new
22
+ pay_out.debited_funds.currency = MangoModel::CurrencyIso::EUR
23
+ pay_out.debited_funds.amount = 10
24
+ pay_out.fees = MangoModel::Money.new
25
+ pay_out.fees.currency = MangoModel::CurrencyIso::EUR
26
+ pay_out.fees.amount = 0
27
+ pay_out.bank_account_id = IBAN_ACCOUNT_PERSISTED.id
28
+ pay_out.debited_wallet_id = WALLET_PERSISTED.id
29
+ pay_out.bank_wire_ref = 'Invoice 7282'
30
+ pay_out
31
+ end
32
+
33
+ def its_the_same_pay_out(pay_out1, pay_out2)
34
+ pay_out1.author_id == pay_out2.author_id\
35
+ && its_the_same_money(pay_out1.debited_funds, pay_out2.debited_funds)\
36
+ && its_the_same_money(pay_out1.fees, pay_out2.fees)\
37
+ && pay_out1.bank_account_id == pay_out2.bank_account_id\
38
+ && pay_out1.debited_wallet_id == pay_out2.debited_wallet_id\
39
+ && pay_out1.bank_wire_ref == pay_out2.bank_wire_ref
39
40
  end
@@ -1,41 +1,45 @@
1
- require_relative 'user_context'
2
- require_relative 'card_context'
3
- require_relative '../../lib/mangopay/api/service/pre_authorizations'
4
-
5
- shared_context 'pre_authorization_context' do
6
- include_context 'user_context'
7
- include_context 'card_context'
8
-
9
- PRE_AUTHORIZATION_DATA ||= build_pre_authorization
10
- PRE_AUTHORIZATION_PERSISTED ||= persist_pre_authorization PRE_AUTHORIZATION_DATA
11
-
12
- let(:new_pre_authorization_persisted) { persist_pre_authorization PRE_AUTHORIZATION_DATA }
13
- end
14
-
15
- def persist_pre_authorization(pre_auth)
16
- MangoApi::PreAuthorizations.create pre_auth
17
- end
18
-
19
- def build_pre_authorization
20
- pre_auth = MangoModel::PreAuthorization.new
21
- pre_auth.author_id = NATURAL_USER_PERSISTED.id
22
- pre_auth.debited_funds = MangoModel::Money.new
23
- pre_auth.debited_funds.currency = MangoModel::CurrencyIso::EUR
24
- pre_auth.debited_funds.amount = 120
25
- pre_auth.secure_mode = MangoModel::SecureMode::DEFAULT
26
- pre_auth.card_id = CARD.id
27
- pre_auth.secure_mode_return_url = 'http://www.my-site.com/returnURL'
28
- pre_auth
29
- end
30
-
31
- def its_the_same_pre_auth(pre_auth1, pre_auth2)
32
- pre_auth1.author_id == pre_auth2.author_id\
33
- && its_the_same_money(pre_auth1.debited_funds, pre_auth2.debited_funds)\
34
- && pre_auth1.secure_mode.eql?(pre_auth2.secure_mode)\
35
- && pre_auth1.card_id == pre_auth2.card_id
36
- end
37
-
38
- def its_the_same_money(money1, money2)
39
- money1.currency.eql?(money2.currency)\
40
- && money1.amount == money2.amount
1
+ require_relative 'user_context'
2
+ require_relative 'card_context'
3
+ require_relative '../../lib/mangopay/api/service/pre_authorizations'
4
+
5
+ shared_context 'pre_authorization_context' do
6
+ include_context 'user_context'
7
+ include_context 'card_context'
8
+
9
+ PRE_AUTHORIZATION_DATA ||= build_pre_authorization
10
+ PRE_AUTHORIZATION_PERSISTED ||= persist_pre_authorization PRE_AUTHORIZATION_DATA
11
+
12
+ let(:new_pre_authorization_persisted) { persist_pre_authorization PRE_AUTHORIZATION_DATA }
13
+ end
14
+
15
+ def persist_pre_authorization(pre_auth)
16
+ MangoApi::PreAuthorizations.create pre_auth
17
+ end
18
+
19
+ def build_pre_authorization
20
+ pre_auth = MangoModel::PreAuthorization.new
21
+ pre_auth.author_id = NATURAL_USER_PERSISTED.id
22
+ pre_auth.debited_funds = MangoModel::Money.new
23
+ pre_auth.debited_funds.currency = MangoModel::CurrencyIso::EUR
24
+ pre_auth.debited_funds.amount = 120
25
+ pre_auth.secure_mode = MangoModel::SecureMode::DEFAULT
26
+ pre_auth.card_id = CARD.id
27
+ pre_auth.secure_mode_return_url = 'http://www.my-site.com/returnURL'
28
+ billing = MangoModel::Billing.new
29
+ billing.address = build_address
30
+ billing.address.postal_code = '68400'
31
+ pre_auth.billing = billing
32
+ pre_auth
33
+ end
34
+
35
+ def its_the_same_pre_auth(pre_auth1, pre_auth2)
36
+ pre_auth1.author_id == pre_auth2.author_id\
37
+ && its_the_same_money(pre_auth1.debited_funds, pre_auth2.debited_funds)\
38
+ && pre_auth1.secure_mode.eql?(pre_auth2.secure_mode)\
39
+ && pre_auth1.card_id == pre_auth2.card_id
40
+ end
41
+
42
+ def its_the_same_money(money1, money2)
43
+ money1.currency.eql?(money2.currency)\
44
+ && money1.amount == money2.amount
41
45
  end
@@ -1,33 +1,33 @@
1
- require_relative 'pay_in_context'
2
- require_relative '../../lib/mangopay/model/entity/refund'
3
-
4
- shared_context 'refund_context' do
5
- include_context 'pay_in_context'
6
-
7
- PAY_IN_REFUND_DATA ||= build_pay_in_refund
8
- PAY_IN_REFUND_PERSISTED ||= persist_refund PAY_IN_REFUND_DATA
9
- TRANSFER_REFUND_DATA ||= build_transfer_refund
10
- TRANSFER_REFUND_PERSISTED ||= persist_refund TRANSFER_REFUND_DATA
11
- end
12
-
13
- def persist_refund(refund)
14
- MangoApi::Refunds.create_for_pay_in(CARD_DIRECT_PAY_IN_PERSISTED.id, refund)
15
- end
16
-
17
- def build_pay_in_refund
18
- refund = MangoModel::Refund.new
19
- refund.author_id = NATURAL_USER_PERSISTED.id
20
- refund.debited_funds = MangoModel::Money.new
21
- refund.debited_funds.currency = MangoModel::CurrencyIso::EUR
22
- refund.debited_funds.amount = 20 + rand(30)
23
- refund.fees = MangoModel::Money.new
24
- refund.fees.currency = MangoModel::CurrencyIso::EUR
25
- refund.fees.amount = 5
26
- refund
27
- end
28
-
29
- def build_transfer_refund
30
- refund = MangoModel::Refund.new
31
- refund.author_id = NATURAL_USER_PERSISTED.id
32
- refund
1
+ require_relative 'pay_in_context'
2
+ require_relative '../../lib/mangopay/model/entity/refund'
3
+
4
+ shared_context 'refund_context' do
5
+ include_context 'pay_in_context'
6
+
7
+ PAY_IN_REFUND_DATA ||= build_pay_in_refund
8
+ PAY_IN_REFUND_PERSISTED ||= persist_refund PAY_IN_REFUND_DATA
9
+ TRANSFER_REFUND_DATA ||= build_transfer_refund
10
+ TRANSFER_REFUND_PERSISTED ||= persist_refund TRANSFER_REFUND_DATA
11
+ end
12
+
13
+ def persist_refund(refund)
14
+ MangoApi::Refunds.create_for_pay_in(CARD_DIRECT_PAY_IN_PERSISTED.id, refund)
15
+ end
16
+
17
+ def build_pay_in_refund
18
+ refund = MangoModel::Refund.new
19
+ refund.author_id = NATURAL_USER_PERSISTED.id
20
+ refund.debited_funds = MangoModel::Money.new
21
+ refund.debited_funds.currency = MangoModel::CurrencyIso::EUR
22
+ refund.debited_funds.amount = 20 + rand(30)
23
+ refund.fees = MangoModel::Money.new
24
+ refund.fees.currency = MangoModel::CurrencyIso::EUR
25
+ refund.fees.amount = 5
26
+ refund
27
+ end
28
+
29
+ def build_transfer_refund
30
+ refund = MangoModel::Refund.new
31
+ refund.author_id = NATURAL_USER_PERSISTED.id
32
+ refund
33
33
  end
@@ -1,22 +1,22 @@
1
- require_relative '../../lib/mangopay/model/entity/report'
2
- require_relative '../../lib/mangopay/api/service/reports'
3
-
4
- shared_context 'report_context' do
5
-
6
- REPORT_DATA ||= build_report
7
- REPORT_PERSISTED ||= persist_report REPORT_DATA
8
- end
9
-
10
- def persist_report(report)
11
- MangoApi::Reports.create_for_transactions report
12
- end
13
-
14
- def build_report
15
- report = MangoModel::Report.new
16
- report.callback_url = 'http://www.my-site.com/callbackURL/'
17
- report.download_format = MangoModel::DownloadFormat::CSV
18
- report.sort = 'CreationDate:DESC'
19
- report.preview = false
20
- report.columns = %w[Id CreationDate]
21
- report
1
+ require_relative '../../lib/mangopay/model/entity/report'
2
+ require_relative '../../lib/mangopay/api/service/reports'
3
+
4
+ shared_context 'report_context' do
5
+
6
+ REPORT_DATA ||= build_report
7
+ REPORT_PERSISTED ||= persist_report REPORT_DATA
8
+ end
9
+
10
+ def persist_report(report)
11
+ MangoApi::Reports.create_for_transactions report
12
+ end
13
+
14
+ def build_report
15
+ report = MangoModel::Report.new
16
+ report.callback_url = 'http://www.my-site.com/callbackURL/'
17
+ report.download_format = MangoModel::DownloadFormat::CSV
18
+ report.sort = 'CreationDate:DESC'
19
+ report.preview = false
20
+ report.columns = %w[Id CreationDate]
21
+ report
22
22
  end
@@ -1,19 +1,19 @@
1
- require_relative '../../lib/mangopay/api/service/disputes'
2
- require_relative '../../lib/mangopay/api/service/repudiations'
3
-
4
- shared_context 'repudiation_context' do
5
-
6
- REPUDIATION_PERSISTED ||= persisted_repudiation
7
- end
8
-
9
- def persisted_repudiation
10
- disputes = MangoApi::Disputes.all do |filter|
11
- filter.per_page = 100
12
- end
13
- id = nil
14
- disputes.each do |dispute|
15
- id = dispute.repudiation_id if dispute.repudiation_id
16
- end
17
- raise 'no repudiation found' unless id
18
- MangoApi::Repudiations.get id
1
+ require_relative '../../lib/mangopay/api/service/disputes'
2
+ require_relative '../../lib/mangopay/api/service/repudiations'
3
+
4
+ shared_context 'repudiation_context' do
5
+
6
+ REPUDIATION_PERSISTED ||= persisted_repudiation
7
+ end
8
+
9
+ def persisted_repudiation
10
+ disputes = MangoApi::Disputes.all do |filter|
11
+ filter.per_page = 100
12
+ end
13
+ id = nil
14
+ disputes.each do |dispute|
15
+ id = dispute.repudiation_id if dispute.repudiation_id
16
+ end
17
+ raise 'no repudiation found' unless id
18
+ MangoApi::Repudiations.get id
19
19
  end
@@ -1,28 +1,28 @@
1
- require_relative 'repudiation_context'
2
- require_relative 'user_context'
3
- require_relative '../../lib/mangopay/api/service/settlement_transfers'
4
- require_relative '../../lib/mangopay/model/entity/settlement_transfer'
5
-
6
- shared_context 'settlement_transfer_context' do
7
- include_context 'repudiation_context'
8
- include_context 'user_context'
9
-
10
- SETTLEMENT_TRANSFER_DATA ||= build_settlement_transfer
11
- SETTLEMENT_TRANSFER_PERSISTED ||= persist_transfer SETTLEMENT_TRANSFER_DATA
12
- end
13
-
14
- def persist_transfer(transfer)
15
- MangoApi::SettlementTransfers.create(REPUDIATION_PERSISTED.id, transfer)
16
- end
17
-
18
- def build_settlement_transfer
19
- transfer = MangoModel::SettlementTransfer.new
20
- transfer.author_id = REPUDIATION_PERSISTED.author_id
21
- transfer.debited_funds = MangoModel::Money.new
22
- transfer.debited_funds.currency = MangoModel::CurrencyIso::EUR
23
- transfer.debited_funds.amount = 120
24
- transfer.fees = MangoModel::Money.new
25
- transfer.fees.currency = MangoModel::CurrencyIso::EUR
26
- transfer.fees.amount = 0
27
- transfer
1
+ require_relative 'repudiation_context'
2
+ require_relative 'user_context'
3
+ require_relative '../../lib/mangopay/api/service/settlement_transfers'
4
+ require_relative '../../lib/mangopay/model/entity/settlement_transfer'
5
+
6
+ shared_context 'settlement_transfer_context' do
7
+ include_context 'repudiation_context'
8
+ include_context 'user_context'
9
+
10
+ SETTLEMENT_TRANSFER_DATA ||= build_settlement_transfer
11
+ SETTLEMENT_TRANSFER_PERSISTED ||= persist_transfer SETTLEMENT_TRANSFER_DATA
12
+ end
13
+
14
+ def persist_transfer(transfer)
15
+ MangoApi::SettlementTransfers.create(REPUDIATION_PERSISTED.id, transfer)
16
+ end
17
+
18
+ def build_settlement_transfer
19
+ transfer = MangoModel::SettlementTransfer.new
20
+ transfer.author_id = REPUDIATION_PERSISTED.author_id
21
+ transfer.debited_funds = MangoModel::Money.new
22
+ transfer.debited_funds.currency = MangoModel::CurrencyIso::EUR
23
+ transfer.debited_funds.amount = 120
24
+ transfer.fees = MangoModel::Money.new
25
+ transfer.fees.currency = MangoModel::CurrencyIso::EUR
26
+ transfer.fees.amount = 0
27
+ transfer
28
28
  end
@@ -1,51 +1,51 @@
1
- require_relative 'user_context'
2
- require_relative 'wallet_context'
3
- require_relative '../../lib/mangopay/model/entity/transfer'
4
- require_relative '../../lib/mangopay/model/entity/transaction'
5
- require_relative '../../lib/mangopay/model/money'
6
- require_relative '../../lib/mangopay/api/service/transfers'
7
-
8
- shared_context 'transfer_context' do
9
- include_context 'user_context'
10
- include_context 'wallet_context'
11
-
12
- TRANSFER_DATA ||= build_transfer
13
- TRANSFER_PERSISTED ||= persist_transfer TRANSFER_DATA
14
-
15
- let(:new_transfer_persisted) { persist_transfer TRANSFER_DATA }
16
- end
17
-
18
- def persist_transfer(transfer)
19
- MangoApi::Transfers.create transfer
20
- end
21
-
22
- # noinspection RubyResolve
23
- def build_transfer
24
- transfer = MangoModel::Transfer.new
25
- transfer.author_id = NATURAL_USER_PERSISTED.id
26
- debited_funds = MangoModel::Money.new
27
- debited_funds.currency = MangoModel::CurrencyIso::EUR
28
- debited_funds.amount = 120
29
- transfer.debited_funds = debited_funds
30
- fees = MangoModel::Money.new
31
- fees.currency = MangoModel::CurrencyIso::EUR
32
- fees.amount = 20
33
- transfer.fees = fees
34
- transfer.debited_wallet_id = persist_wallet(WALLET_DATA).id
35
- transfer.credited_wallet_id = WALLET_PERSISTED.id
36
- transfer
37
- end
38
-
39
- def its_the_same_transfer(transfer1, transfer2)
40
- transfer1.author_id == transfer2.author_id\
41
- && transfer1.author_id == transfer2.author_id\
42
- && its_the_same_money(transfer1.debited_funds, transfer2.debited_funds)\
43
- && its_the_same_money(transfer1.fees, transfer2.fees)\
44
- && transfer1.debited_wallet_id == transfer2.debited_wallet_id\
45
- && transfer1.credited_wallet_id == transfer2.credited_wallet_id
46
- end
47
-
48
- def its_the_same_money(money1, money2)
49
- money1.currency.eql?(money2.currency)\
50
- && money1.amount == money2.amount
1
+ require_relative 'user_context'
2
+ require_relative 'wallet_context'
3
+ require_relative '../../lib/mangopay/model/entity/transfer'
4
+ require_relative '../../lib/mangopay/model/entity/transaction'
5
+ require_relative '../../lib/mangopay/model/money'
6
+ require_relative '../../lib/mangopay/api/service/transfers'
7
+
8
+ shared_context 'transfer_context' do
9
+ include_context 'user_context'
10
+ include_context 'wallet_context'
11
+
12
+ TRANSFER_DATA ||= build_transfer
13
+ TRANSFER_PERSISTED ||= persist_transfer TRANSFER_DATA
14
+
15
+ let(:new_transfer_persisted) { persist_transfer TRANSFER_DATA }
16
+ end
17
+
18
+ def persist_transfer(transfer)
19
+ MangoApi::Transfers.create transfer
20
+ end
21
+
22
+ # noinspection RubyResolve
23
+ def build_transfer
24
+ transfer = MangoModel::Transfer.new
25
+ transfer.author_id = NATURAL_USER_PERSISTED.id
26
+ debited_funds = MangoModel::Money.new
27
+ debited_funds.currency = MangoModel::CurrencyIso::EUR
28
+ debited_funds.amount = 120
29
+ transfer.debited_funds = debited_funds
30
+ fees = MangoModel::Money.new
31
+ fees.currency = MangoModel::CurrencyIso::EUR
32
+ fees.amount = 20
33
+ transfer.fees = fees
34
+ transfer.debited_wallet_id = persist_wallet(WALLET_DATA).id
35
+ transfer.credited_wallet_id = WALLET_PERSISTED.id
36
+ transfer
37
+ end
38
+
39
+ def its_the_same_transfer(transfer1, transfer2)
40
+ transfer1.author_id == transfer2.author_id\
41
+ && transfer1.author_id == transfer2.author_id\
42
+ && its_the_same_money(transfer1.debited_funds, transfer2.debited_funds)\
43
+ && its_the_same_money(transfer1.fees, transfer2.fees)\
44
+ && transfer1.debited_wallet_id == transfer2.debited_wallet_id\
45
+ && transfer1.credited_wallet_id == transfer2.credited_wallet_id
46
+ end
47
+
48
+ def its_the_same_money(money1, money2)
49
+ money1.currency.eql?(money2.currency)\
50
+ && money1.amount == money2.amount
51
51
  end