mangopay-v4 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +30 -0
  3. data/.rspec +4 -0
  4. data/.rubocop.yml +2 -0
  5. data/.travis.yml +13 -0
  6. data/Gemfile +2 -0
  7. data/LICENSE +20 -0
  8. data/README.md +380 -0
  9. data/bin/mangopay +9 -0
  10. data/lib/mangopay.rb +133 -0
  11. data/lib/mangopay/api/api.rb +9 -0
  12. data/lib/mangopay/api/api_methods.rb +137 -0
  13. data/lib/mangopay/api/auth_token_manager.rb +173 -0
  14. data/lib/mangopay/api/http_client.rb +325 -0
  15. data/lib/mangopay/api/service/bank_accounts.rb +146 -0
  16. data/lib/mangopay/api/service/cards.rb +152 -0
  17. data/lib/mangopay/api/service/client_wallets.rb +89 -0
  18. data/lib/mangopay/api/service/clients.rb +68 -0
  19. data/lib/mangopay/api/service/dispute_documents.rb +158 -0
  20. data/lib/mangopay/api/service/disputes.rb +187 -0
  21. data/lib/mangopay/api/service/e_money.rb +42 -0
  22. data/lib/mangopay/api/service/events.rb +47 -0
  23. data/lib/mangopay/api/service/hooks.rb +93 -0
  24. data/lib/mangopay/api/service/kyc_documents.rb +153 -0
  25. data/lib/mangopay/api/service/mandates.rb +142 -0
  26. data/lib/mangopay/api/service/oauth_tokens.rb +25 -0
  27. data/lib/mangopay/api/service/pay_ins.rb +260 -0
  28. data/lib/mangopay/api/service/pay_outs.rb +54 -0
  29. data/lib/mangopay/api/service/pre_authorizations.rb +69 -0
  30. data/lib/mangopay/api/service/refunds.rb +62 -0
  31. data/lib/mangopay/api/service/reports.rb +151 -0
  32. data/lib/mangopay/api/service/repudiations.rb +32 -0
  33. data/lib/mangopay/api/service/responses.rb +102 -0
  34. data/lib/mangopay/api/service/settlement_transfers.rb +55 -0
  35. data/lib/mangopay/api/service/transactions.rb +183 -0
  36. data/lib/mangopay/api/service/transfers.rb +54 -0
  37. data/lib/mangopay/api/service/ubo_declarations.rb +70 -0
  38. data/lib/mangopay/api/service/users.rb +163 -0
  39. data/lib/mangopay/api/service/wallets.rb +99 -0
  40. data/lib/mangopay/api/uri_provider.rb +35 -0
  41. data/lib/mangopay/common/json_tag_converter.rb +68 -0
  42. data/lib/mangopay/common/jsonifier.rb +249 -0
  43. data/lib/mangopay/common/log_provider.rb +34 -0
  44. data/lib/mangopay/common/rate_limit_interval.rb +17 -0
  45. data/lib/mangopay/common/read_only_fields.rb +27 -0
  46. data/lib/mangopay/common/response_error.rb +61 -0
  47. data/lib/mangopay/common/sort_direction.rb +15 -0
  48. data/lib/mangopay/common/sort_field.rb +13 -0
  49. data/lib/mangopay/common/template_url_options.rb +9 -0
  50. data/lib/mangopay/configuration.rb +39 -0
  51. data/lib/mangopay/environment.rb +66 -0
  52. data/lib/mangopay/model/address.rb +27 -0
  53. data/lib/mangopay/model/declared_ubo.rb +21 -0
  54. data/lib/mangopay/model/dispute_reason.rb +15 -0
  55. data/lib/mangopay/model/document_page_consult.rb +15 -0
  56. data/lib/mangopay/model/e_money.rb +18 -0
  57. data/lib/mangopay/model/entity/account/bank_account.rb +26 -0
  58. data/lib/mangopay/model/entity/account/ca_bank_account.rb +27 -0
  59. data/lib/mangopay/model/entity/account/gb_bank_account.rb +21 -0
  60. data/lib/mangopay/model/entity/account/iban_bank_account.rb +21 -0
  61. data/lib/mangopay/model/entity/account/other_bank_account.rb +24 -0
  62. data/lib/mangopay/model/entity/account/us_bank_account.rb +24 -0
  63. data/lib/mangopay/model/entity/card.rb +45 -0
  64. data/lib/mangopay/model/entity/card_registration.rb +43 -0
  65. data/lib/mangopay/model/entity/client.rb +63 -0
  66. data/lib/mangopay/model/entity/client_wallet.rb +23 -0
  67. data/lib/mangopay/model/entity/dispute.rb +50 -0
  68. data/lib/mangopay/model/entity/dispute_document.rb +29 -0
  69. data/lib/mangopay/model/entity/entity_base.rb +18 -0
  70. data/lib/mangopay/model/entity/hook.rb +26 -0
  71. data/lib/mangopay/model/entity/kyc_document.rb +28 -0
  72. data/lib/mangopay/model/entity/mandate.rb +51 -0
  73. data/lib/mangopay/model/entity/pay_in/bank_wire_direct_pay_in.rb +22 -0
  74. data/lib/mangopay/model/entity/pay_in/card_direct_pay_in.rb +33 -0
  75. data/lib/mangopay/model/entity/pay_in/card_pre_authorized_pay_in.rb +13 -0
  76. data/lib/mangopay/model/entity/pay_in/card_web_pay_in.rb +40 -0
  77. data/lib/mangopay/model/entity/pay_in/direct_debit_direct_pay_in.rb +23 -0
  78. data/lib/mangopay/model/entity/pay_in/direct_debit_web_pay_in.rb +38 -0
  79. data/lib/mangopay/model/entity/pay_in/pay_in.rb +16 -0
  80. data/lib/mangopay/model/entity/pay_out.rb +22 -0
  81. data/lib/mangopay/model/entity/pre_authorization.rb +68 -0
  82. data/lib/mangopay/model/entity/refund.rb +18 -0
  83. data/lib/mangopay/model/entity/report.rb +51 -0
  84. data/lib/mangopay/model/entity/repudiation.rb +18 -0
  85. data/lib/mangopay/model/entity/settlement_transfer.rb +17 -0
  86. data/lib/mangopay/model/entity/transaction.rb +52 -0
  87. data/lib/mangopay/model/entity/transfer.rb +13 -0
  88. data/lib/mangopay/model/entity/ubo_declaration.rb +32 -0
  89. data/lib/mangopay/model/entity/user/legal_user.rb +53 -0
  90. data/lib/mangopay/model/entity/user/natural_user.rb +50 -0
  91. data/lib/mangopay/model/entity/user/user.rb +18 -0
  92. data/lib/mangopay/model/entity/wallet.rb +28 -0
  93. data/lib/mangopay/model/enum/account_type.rb +24 -0
  94. data/lib/mangopay/model/enum/card_status.rb +15 -0
  95. data/lib/mangopay/model/enum/card_type.rb +33 -0
  96. data/lib/mangopay/model/enum/card_validity.rb +19 -0
  97. data/lib/mangopay/model/enum/country_iso.rb +759 -0
  98. data/lib/mangopay/model/enum/culture_code.rb +44 -0
  99. data/lib/mangopay/model/enum/currency_iso.rb +552 -0
  100. data/lib/mangopay/model/enum/declared_ubo_refused_reason_type.rb +16 -0
  101. data/lib/mangopay/model/enum/declared_ubo_status.rb +18 -0
  102. data/lib/mangopay/model/enum/deposit_type.rb +15 -0
  103. data/lib/mangopay/model/enum/direct_debit_type.rb +13 -0
  104. data/lib/mangopay/model/enum/dispute_doc_refused_reason_type.rb +25 -0
  105. data/lib/mangopay/model/enum/dispute_document_type.rb +23 -0
  106. data/lib/mangopay/model/enum/dispute_reason_type.rb +33 -0
  107. data/lib/mangopay/model/enum/dispute_status.rb +21 -0
  108. data/lib/mangopay/model/enum/dispute_type.rb +15 -0
  109. data/lib/mangopay/model/enum/document_status.rb +21 -0
  110. data/lib/mangopay/model/enum/download_format.rb +11 -0
  111. data/lib/mangopay/model/enum/event_type.rb +74 -0
  112. data/lib/mangopay/model/enum/funds_type.rb +15 -0
  113. data/lib/mangopay/model/enum/hook_status.rb +13 -0
  114. data/lib/mangopay/model/enum/hook_validity.rb +15 -0
  115. data/lib/mangopay/model/enum/income_range.rb +21 -0
  116. data/lib/mangopay/model/enum/kyc_doc_refused_reason_type.rb +37 -0
  117. data/lib/mangopay/model/enum/kyc_document_type.rb +19 -0
  118. data/lib/mangopay/model/enum/kyc_level.rb +13 -0
  119. data/lib/mangopay/model/enum/legal_person_type.rb +15 -0
  120. data/lib/mangopay/model/enum/mandate_culture_code.rb +23 -0
  121. data/lib/mangopay/model/enum/mandate_execution_type.rb +11 -0
  122. data/lib/mangopay/model/enum/mandate_scheme.rb +13 -0
  123. data/lib/mangopay/model/enum/mandate_status.rb +24 -0
  124. data/lib/mangopay/model/enum/mandate_type.rb +11 -0
  125. data/lib/mangopay/model/enum/natural_user_capacity.rb +15 -0
  126. data/lib/mangopay/model/enum/pay_in_execution_type.rb +18 -0
  127. data/lib/mangopay/model/enum/pay_in_payment_type.rb +21 -0
  128. data/lib/mangopay/model/enum/pay_out_payment_type.rb +11 -0
  129. data/lib/mangopay/model/enum/payment_status.rb +21 -0
  130. data/lib/mangopay/model/enum/person_type.rb +15 -0
  131. data/lib/mangopay/model/enum/platform_type.rb +23 -0
  132. data/lib/mangopay/model/enum/pre_authorization_execution_type.rb +11 -0
  133. data/lib/mangopay/model/enum/pre_authorization_status.rb +18 -0
  134. data/lib/mangopay/model/enum/refund_reason_type.rb +21 -0
  135. data/lib/mangopay/model/enum/report_status.rb +17 -0
  136. data/lib/mangopay/model/enum/report_type.rb +13 -0
  137. data/lib/mangopay/model/enum/secure_mode.rb +16 -0
  138. data/lib/mangopay/model/enum/transaction_nature.rb +17 -0
  139. data/lib/mangopay/model/enum/transaction_status.rb +15 -0
  140. data/lib/mangopay/model/enum/transaction_type.rb +15 -0
  141. data/lib/mangopay/model/enum/ubo_declaration_refused_reason_type.rb +19 -0
  142. data/lib/mangopay/model/enum/ubo_declaration_status.rb +21 -0
  143. data/lib/mangopay/model/event.rb +18 -0
  144. data/lib/mangopay/model/model.rb +194 -0
  145. data/lib/mangopay/model/money.rb +17 -0
  146. data/lib/mangopay/model/pay_in_web_extended_view.rb +31 -0
  147. data/lib/mangopay/model/refund_reason.rb +15 -0
  148. data/lib/mangopay/model/report_filter.rb +83 -0
  149. data/lib/mangopay/model/request/cancel_request.rb +16 -0
  150. data/lib/mangopay/model/request/complete_registration_request.rb +13 -0
  151. data/lib/mangopay/model/request/currency_request.rb +13 -0
  152. data/lib/mangopay/model/request/deactivation_request.rb +10 -0
  153. data/lib/mangopay/model/request/filter_request.rb +38 -0
  154. data/lib/mangopay/model/request/submit_document_request.rb +14 -0
  155. data/lib/mangopay/model/request/submit_ubo_declaration_request.rb +14 -0
  156. data/lib/mangopay/model/request/upload_file_request.rb +9 -0
  157. data/lib/mangopay/model/response_replica.rb +27 -0
  158. data/lib/mangopay/util/custom_formatter.rb +12 -0
  159. data/lib/mangopay/util/custom_logger.rb +34 -0
  160. data/lib/mangopay/util/enum.rb +52 -0
  161. data/lib/mangopay/util/file_encoder.rb +16 -0
  162. data/lib/mangopay/util/non_instantiable.rb +6 -0
  163. data/lib/mangopay/util/storage_strategy.rb +10 -0
  164. data/lib/mangopay/util/void_logger.rb +6 -0
  165. data/mangopay.gemspec +32 -0
  166. data/spec/context/address_context.rb +25 -0
  167. data/spec/context/bank_account_context.rb +138 -0
  168. data/spec/context/card_context.rb +46 -0
  169. data/spec/context/client_context.rb +45 -0
  170. data/spec/context/dispute_context.rb +37 -0
  171. data/spec/context/dispute_document_context.rb +20 -0
  172. data/spec/context/hook_context.rb +16 -0
  173. data/spec/context/kyc_document_context.rb +23 -0
  174. data/spec/context/mandate_context.rb +27 -0
  175. data/spec/context/pay_in_context.rb +225 -0
  176. data/spec/context/pay_out_context.rb +39 -0
  177. data/spec/context/pre_authorization_context.rb +41 -0
  178. data/spec/context/refund_context.rb +33 -0
  179. data/spec/context/report_context.rb +22 -0
  180. data/spec/context/repudiation_context.rb +19 -0
  181. data/spec/context/settlement_transfer_context.rb +28 -0
  182. data/spec/context/transfer_context.rb +51 -0
  183. data/spec/context/ubo_declaration_context.rb +25 -0
  184. data/spec/context/user_context.rb +83 -0
  185. data/spec/context/wallet_context.rb +53 -0
  186. data/spec/mangopay/bank_accounts_spec.rb +229 -0
  187. data/spec/mangopay/cards_spec.rb +135 -0
  188. data/spec/mangopay/client_wallets_spec.rb +148 -0
  189. data/spec/mangopay/clients_spec.rb +55 -0
  190. data/spec/mangopay/configuration_spec.rb +126 -0
  191. data/spec/mangopay/dispute_documents_spec.rb +174 -0
  192. data/spec/mangopay/disputes_spec.rb +265 -0
  193. data/spec/mangopay/e_money_spec.rb +38 -0
  194. data/spec/mangopay/events_spec.rb +50 -0
  195. data/spec/mangopay/hooks_spec.rb +71 -0
  196. data/spec/mangopay/kyc_documents_spec.rb +180 -0
  197. data/spec/mangopay/mandates_spec.rb +219 -0
  198. data/spec/mangopay/oauth_tokens_spec.rb +41 -0
  199. data/spec/mangopay/pay_ins_spec.rb +181 -0
  200. data/spec/mangopay/pay_outs_spec.rb +39 -0
  201. data/spec/mangopay/pre_authorizations_spec.rb +58 -0
  202. data/spec/mangopay/refunds_spec.rb +40 -0
  203. data/spec/mangopay/reports_spec.rb +121 -0
  204. data/spec/mangopay/responses_spec.rb +295 -0
  205. data/spec/mangopay/settlement_transfers_spec.rb +37 -0
  206. data/spec/mangopay/transactions_spec.rb +233 -0
  207. data/spec/mangopay/transfers_spec.rb +38 -0
  208. data/spec/mangopay/ubo_declarations_spec.rb +65 -0
  209. data/spec/mangopay/users_spec.rb +146 -0
  210. data/spec/mangopay/wallets_spec.rb +104 -0
  211. data/spec/resources/logo.png +0 -0
  212. data/spec/resources/test_pdf.pdf +0 -0
  213. data/spec/spec_helper.rb +72 -0
  214. metadata +349 -0
@@ -0,0 +1,22 @@
1
+ require_relative '../../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Bank Wire Direct Pay-In entity
6
+ # A Bank Wire Pay-In is a request to process a payment by bank wire
7
+ class BankWireDirectPayIn < PayIn
8
+ include MangoPay::Jsonifier
9
+
10
+ # [Money] The declared debited funds
11
+ attr_accessor :declared_debited_funds
12
+
13
+ # [Money] The declared fees
14
+ attr_accessor :declared_fees
15
+
16
+ # [String] Wire reference
17
+ attr_accessor :wire_reference
18
+
19
+ # [BankAccount] The bank account details
20
+ attr_accessor :bank_account
21
+ end
22
+ end
@@ -0,0 +1,33 @@
1
+ require_relative 'pay_in'
2
+ require_relative '../../../common/jsonifier'
3
+
4
+ module MangoModel
5
+
6
+ # Card Direct Pay In entity
7
+ # The Card Direct Pay In object lets you pay with a registered card.
8
+ class CardDirectPayIn < PayIn
9
+ include MangoPay::Jsonifier
10
+
11
+ # [String] URL which users are automatically redirected to
12
+ # after 3D secure validation (if activated)
13
+ attr_accessor :secure_mode_return_url
14
+
15
+ # [CardType] ID of the card
16
+ attr_accessor :card_id
17
+
18
+ # [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
19
+ # Mastercard. This field allows manual activation.
20
+ attr_accessor :secure_mode
21
+
22
+ # [String] Custom description to appear on the user's bank statement.
23
+ # (max 100 alphanumeric/spaces)
24
+ attr_accessor :statement_descriptor
25
+
26
+ # [true/false] Whether the Secure Mode was used
27
+ attr_accessor :secure_mode_needed
28
+
29
+ # [String] The URL where to redirect users to proceed to
30
+ # 3D secure validation
31
+ attr_accessor :secure_mode_redirect_url
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ require_relative '../../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Allows payment through a card for which the action has
6
+ # been pre-authorized
7
+ class CardPreAuthorizedPayIn < PayIn
8
+ include MangoPay::Jsonifier
9
+
10
+ # [String] ID of the corresponding pre-authorization
11
+ attr_accessor :preauthorization_id
12
+ end
13
+ end
@@ -0,0 +1,40 @@
1
+ require_relative 'pay_in'
2
+ require_relative '../../../common/jsonifier'
3
+
4
+ module MangoModel
5
+
6
+ # Card Web Pay-In entity
7
+ # A Pay In by card and via web interface is a request
8
+ # to process a payment to a wallet for a dedicated user.
9
+ class CardWebPayIn < PayIn
10
+ include MangoPay::Jsonifier
11
+
12
+ # [String] URL to redirect to after payment
13
+ attr_accessor :return_url
14
+
15
+ # [CardType] The type of card
16
+ attr_accessor :card_type
17
+
18
+ # [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
19
+ # Mastercard. This field allows manual activation.
20
+ attr_accessor :secure_mode
21
+
22
+ # [CultureCode] The language to use for the payment page
23
+ attr_accessor :culture
24
+
25
+ # [String] The URL to use for the payment page template
26
+ attr_accessor :template_url
27
+
28
+ # [TemplateUrlOptions] An URL to an SSL page to allow customization
29
+ # of the payment page
30
+ attr_accessor :template_url_options
31
+
32
+ # [String] Custom description to appear on the user's bank statement.
33
+ # (max 100 alphanumeric/spaces)
34
+ attr_accessor :statement_descriptor
35
+
36
+ # [String] The URL to redirect the user to for them to proceed
37
+ # with the payment
38
+ attr_accessor :redirect_url
39
+ end
40
+ end
@@ -0,0 +1,23 @@
1
+ require_relative '../../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Direct-Debit Direct Pay-In entity
6
+ # A Pay-In by Direct Debit with a Mandate is a request to process a
7
+ # payment to a wallet for a dedicated user
8
+ class DirectDebitDirectPayIn < PayIn
9
+ include MangoPay::Jsonifier
10
+
11
+ # [String] ID of the mandate
12
+ attr_accessor :mandate_id
13
+
14
+ # [Integer] Date when the user will be charged (UNIX timestamp)
15
+ # Note: For Direct-Debit payments, it will take one more day
16
+ # before the payment becomes successful.
17
+ attr_accessor :charge_date
18
+
19
+ # [String] A custom description to appear on the user's bank statement.
20
+ # (max 100 alphanumeric/spaces, available only for SEPA payments)
21
+ attr_accessor :statement_descriptor
22
+ end
23
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Direct-Debit Web Pay-In entity
6
+ # A Pay-In by Direct Debit and via Web is a request to process
7
+ # a payment to a wallet for a dedicated user
8
+ class DirectDebitWebPayIn < PayIn
9
+ include MangoPay::Jsonifier
10
+
11
+ # [String] URL to redirect to after payment
12
+ attr_accessor :return_url
13
+
14
+ # [DirectDebitType] Type of web direct debit
15
+ attr_accessor :direct_debit_type
16
+
17
+ # [CardType] The type of card
18
+ attr_accessor :card_type
19
+
20
+ # [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
21
+ # Mastercard. This field allows manual activation.
22
+ attr_accessor :secure_mode
23
+
24
+ # [CultureCode] The language to use for the payment page
25
+ attr_accessor :culture
26
+
27
+ # [String] The URL to use for the payment page template
28
+ attr_accessor :template_url
29
+
30
+ # [TemplateUrlOptions] An URL to an SSL page to allow customization
31
+ # of the payment page
32
+ attr_accessor :template_url_options
33
+
34
+ # [String] URL which to redirect user to in order to proceed
35
+ # with the payment
36
+ attr_accessor :redirect_url
37
+ end
38
+ end
@@ -0,0 +1,16 @@
1
+ require_relative '../transaction'
2
+ require_relative '../../../util/non_instantiable'
3
+
4
+ module MangoModel
5
+
6
+ # Pay In entity
7
+ class PayIn < Transaction
8
+ extend NonInstantiable
9
+
10
+ # [PayInPaymentType] Its type
11
+ attr_accessor :payment_type
12
+
13
+ # [PayInExecutionType] Its execution type
14
+ attr_accessor :execution_type
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ require_relative 'transaction'
2
+ require_relative '../../common/jsonifier'
3
+
4
+ module MangoModel
5
+
6
+ # Pay-Out entity
7
+ # A Pay-Out bank-wire is a request to withdraw money from a wallet
8
+ # to a bank account.
9
+ class PayOut < Transaction
10
+ include MangoPay::Jsonifier
11
+
12
+ # [String] ID of the bank account
13
+ attr_accessor :bank_account_id
14
+
15
+ # [String] A custom reference to be present on the user's bank
16
+ # statement along with environment's Client name (max 12 chars)
17
+ attr_accessor :bank_wire_ref
18
+
19
+ # [PayOutPaymentType] Its type
20
+ attr_accessor :payment_type
21
+ end
22
+ end
@@ -0,0 +1,68 @@
1
+ require_relative '../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Pre-Authorization entity
6
+ # The Pre-Authorization object ensures the solvency of a
7
+ # registered card for 7 days.
8
+ #
9
+ # The overall process is as follows:
10
+ # Register a card (CardRegistration)
11
+ # Create a PreAuthorization with the CardId. This allows you to charge an amount on a card
12
+ # Charge the card through the PreAuthorized PayIn object (Payins/preauthorized/direct)
13
+ #
14
+ # How does PreAuthorization work?
15
+ # Once the PreAuthorization object is created the Status is "CREATED" until 3D secure validation.
16
+ # If the authorization is successful the status is "SUCCEEDED" if it failed the status is "FAILED".
17
+ # Once Status = "SUCCEEDED" and PaymentStatus = "WAITING" you can charge the card.
18
+ # The Pay-In amount has to be less than or equal to the amount authorized.
19
+ class PreAuthorization < EntityBase
20
+ include MangoPay::Jsonifier
21
+
22
+ # [String] Its authoring user's ID
23
+ attr_accessor :author_id
24
+
25
+ # [Money] Information about the funds being debited
26
+ attr_accessor :debited_funds
27
+
28
+ # [PreAuthorizationStatus] Its status
29
+ attr_accessor :status
30
+
31
+ # [PaymentStatus] Its pre-authorized payment status
32
+ # Can be set to +CANCELED+ if needed
33
+ attr_accessor :payment_status
34
+
35
+ # [String] Its result code
36
+ attr_accessor :result_code
37
+
38
+ # [String] Explanation of its result
39
+ attr_accessor :result_message
40
+
41
+ # [PreAuthorizationExecutionType] How the pre-authorization was executed
42
+ attr_accessor :execution_type
43
+
44
+ # [SecureMode] The Secure Mode Corresponds to '3D secure' for CB Visa and
45
+ # Mastercard. This field allows manual activation.
46
+ attr_accessor :secure_mode
47
+
48
+ # [String] ID of the pre-authorized card
49
+ attr_accessor :card_id
50
+
51
+ # [true/false] True if the Secure Mode was used
52
+ attr_accessor :secure_mode_needed
53
+
54
+ # [String] URL which to redirect users to in order to proceed
55
+ # to 3D secure validation
56
+ attr_accessor :secure_mode_redirect_url
57
+
58
+ # [String] URL which users are automatically redirected to
59
+ # after 3D secure validation
60
+ attr_accessor :secure_mode_return_url
61
+
62
+ # [Integer] Date by when the payment should be processed (UNIX timestamp)
63
+ attr_accessor :expiration_date
64
+
65
+ # [String] ID of the associated Pay-in
66
+ attr_accessor :pay_in_id
67
+ end
68
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Refund entity
6
+ class Refund < Transaction
7
+ include MangoPay::Jsonifier
8
+
9
+ # [String] The initial transaction's ID
10
+ attr_accessor :initial_transaction_id
11
+
12
+ # [TransactionType] The initial transaction's type
13
+ attr_accessor :initial_transaction_type
14
+
15
+ # [RefundReason] Info about the reason for refund
16
+ attr_accessor :refund_reason
17
+ end
18
+ end
@@ -0,0 +1,51 @@
1
+ require_relative '../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Report entity
6
+ # The Report object enables possibility to download huge lists of
7
+ # transactions or wallets to CSV form for accounting and analysis
8
+ # purposes.
9
+ class Report < EntityBase
10
+ include MangoPay::Jsonifier
11
+
12
+ # [Integer] Time when the report was executed (UNIX timestamp)
13
+ attr_accessor :report_date
14
+
15
+ # [String] URL where the report can be downloaded
16
+ attr_accessor :download_url
17
+
18
+ # [String] URL which MangoPay will ping once the report is ready
19
+ # to be downloaded (works in a similar way to +Hook+s)
20
+ attr_accessor :callback_url
21
+
22
+ # [DownloadFormat] The format of the downloadable report
23
+ attr_accessor :download_format
24
+
25
+ # [ReportType] The type of report
26
+ attr_accessor :report_type
27
+
28
+ # [ReportStatus] Its status
29
+ attr_accessor :status
30
+
31
+ # [String] The column to sort by and the direction, separated
32
+ # by a ':' character (i.e. CreationDate:DESC)
33
+ attr_accessor :sort
34
+
35
+ # [true/false] Whether the report should be limited to the first
36
+ # 10 rows, making its execution faster
37
+ attr_accessor :preview
38
+
39
+ # [ReportFilter] Object which allows filtering of report entries
40
+ attr_accessor :filters
41
+
42
+ # [Array] List of names of the columns to be included in the report
43
+ attr_accessor :columns
44
+
45
+ # [String] The result code
46
+ attr_accessor :result_code
47
+
48
+ # [String] Explanation of the result
49
+ attr_accessor :result_message
50
+ end
51
+ end
@@ -0,0 +1,18 @@
1
+ require_relative '../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Repudiation entity
6
+ # A Repudiation is created when a user has requested a chargeback
7
+ # for a pay-in and the bank has withdrawn the funds from MangoPay
8
+ # automatically. A repudiation is always linked to a dispute.
9
+ class Repudiation < Transaction
10
+ include MangoPay::Jsonifier
11
+
12
+ # [String] ID of the initial transaction
13
+ attr_accessor :initial_transaction_id
14
+
15
+ # [TransactionType] Type of the initial transaction
16
+ attr_accessor :initial_transaction_type
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require_relative 'transfer'
2
+ require_relative '../../common/jsonifier'
3
+
4
+ module MangoModel
5
+
6
+ # Settlement Transfer entity
7
+ # A Settlement Transfer is a transfer that can be used to settle
8
+ # the credit from a repudiation following a lost dispute (to impact
9
+ # the balance of the original wallet and settle the credit in your
10
+ # client credit wallet).
11
+ class SettlementTransfer < Transfer
12
+ include MangoPay::Jsonifier
13
+
14
+ # [String] ID of the associated repudiation transaction
15
+ attr_accessor :repudiation_id
16
+ end
17
+ end
@@ -0,0 +1,52 @@
1
+ require_relative '../../common/jsonifier'
2
+
3
+ module MangoModel
4
+
5
+ # Transaction entity
6
+ # A transaction represents an action to relocate money.
7
+ class Transaction < EntityBase
8
+ include MangoPay::Jsonifier
9
+
10
+ # [Money] Information about the funds that are being debited
11
+ attr_accessor :debited_funds
12
+
13
+ # [Money] Information about the funds that are being credited
14
+ # (+DebitedFunds+ - +Fees+ = +Credited_Funds+)
15
+ attr_accessor :credited_funds
16
+
17
+ # [Money] Information about the fees that were taken by the client
18
+ # for this transaction (and transferred to the client's platform's wallet)
19
+ attr_accessor :fees
20
+
21
+ # [String] ID of the wallet that was debited from
22
+ attr_accessor :debited_wallet_id
23
+
24
+ # [String] ID of the wallet where money will be credited
25
+ attr_accessor :credited_wallet_id
26
+
27
+ # [String] ID of the initiating user
28
+ attr_accessor :author_id
29
+
30
+ # [String] ID of the user who will be credited (defaults
31
+ # to the owner of the wallet)
32
+ attr_accessor :credited_user_id
33
+
34
+ # [TransactionType] Type of the transaction
35
+ attr_accessor :type
36
+
37
+ # [TransactionNature] Nature of the transaction
38
+ attr_accessor :nature
39
+
40
+ # [TransactionStatus] Status of the transaction
41
+ attr_accessor :status
42
+
43
+ # [Integer] Time of execution of the transaction (UNIX timestamp)
44
+ attr_accessor :execution_date
45
+
46
+ # [String] Its result code
47
+ attr_accessor :result_code
48
+
49
+ # [String] Verbal explanation of the result
50
+ attr_accessor :result_message
51
+ end
52
+ end