mangopay4-ruby-sdk 3.44.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 (126) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby_cd.yml +34 -0
  3. data/.github/workflows/ruby_ci.yml +30 -0
  4. data/.gitignore +30 -0
  5. data/.rspec +3 -0
  6. data/CHANGELOG.md +640 -0
  7. data/Gemfile +2 -0
  8. data/LICENSE +20 -0
  9. data/README.md +162 -0
  10. data/Rakefile +5 -0
  11. data/bin/mangopay +9 -0
  12. data/lib/generators/mangopay/install_generator.rb +60 -0
  13. data/lib/generators/templates/mangopay.rb.erb +5 -0
  14. data/lib/mangopay/acquiring.rb +56 -0
  15. data/lib/mangopay/authorization_token.rb +89 -0
  16. data/lib/mangopay/bank_account.rb +49 -0
  17. data/lib/mangopay/bankingaliases.rb +29 -0
  18. data/lib/mangopay/bankingaliases_iban.rb +16 -0
  19. data/lib/mangopay/card.rb +54 -0
  20. data/lib/mangopay/card_registration.rb +9 -0
  21. data/lib/mangopay/client.rb +94 -0
  22. data/lib/mangopay/conversion.rb +49 -0
  23. data/lib/mangopay/deposit.rb +36 -0
  24. data/lib/mangopay/dispute.rb +152 -0
  25. data/lib/mangopay/errors.rb +66 -0
  26. data/lib/mangopay/event.rb +18 -0
  27. data/lib/mangopay/filter_parameters.rb +56 -0
  28. data/lib/mangopay/hook.rb +9 -0
  29. data/lib/mangopay/http_calls.rb +88 -0
  30. data/lib/mangopay/identity_verification.rb +16 -0
  31. data/lib/mangopay/json.rb +14 -0
  32. data/lib/mangopay/kyc_document.rb +83 -0
  33. data/lib/mangopay/legal_user.rb +21 -0
  34. data/lib/mangopay/legal_user_sca.rb +25 -0
  35. data/lib/mangopay/mandate.rb +42 -0
  36. data/lib/mangopay/natural_user.rb +20 -0
  37. data/lib/mangopay/natural_user_sca.rb +25 -0
  38. data/lib/mangopay/pay_in.rb +415 -0
  39. data/lib/mangopay/pay_out.rb +41 -0
  40. data/lib/mangopay/payment_method_metadata.rb +13 -0
  41. data/lib/mangopay/pre_authorization.rb +17 -0
  42. data/lib/mangopay/recipient.rb +35 -0
  43. data/lib/mangopay/refund.rb +19 -0
  44. data/lib/mangopay/regulatory.rb +22 -0
  45. data/lib/mangopay/report.rb +24 -0
  46. data/lib/mangopay/report_v2.rb +21 -0
  47. data/lib/mangopay/resource.rb +21 -0
  48. data/lib/mangopay/settlement.rb +21 -0
  49. data/lib/mangopay/transaction.rb +24 -0
  50. data/lib/mangopay/transfer.rb +20 -0
  51. data/lib/mangopay/ubo.rb +26 -0
  52. data/lib/mangopay/ubo_declaration.rb +32 -0
  53. data/lib/mangopay/user.rb +100 -0
  54. data/lib/mangopay/version.rb +3 -0
  55. data/lib/mangopay/virtual_account.rb +44 -0
  56. data/lib/mangopay/wallet.rb +17 -0
  57. data/lib/mangopay.rb +456 -0
  58. data/mangopay.gemspec +30 -0
  59. data/spec/mangopay/acquiring_spec.rb +176 -0
  60. data/spec/mangopay/authorization_token_spec.rb +70 -0
  61. data/spec/mangopay/bank_account_spec.rb +105 -0
  62. data/spec/mangopay/bankingaliases_spec.rb +29 -0
  63. data/spec/mangopay/card_registration_spec.rb +123 -0
  64. data/spec/mangopay/client_spec.png +0 -0
  65. data/spec/mangopay/client_spec.rb +213 -0
  66. data/spec/mangopay/configuration_spec.rb +249 -0
  67. data/spec/mangopay/conversion_spec.rb +96 -0
  68. data/spec/mangopay/deposit_spec.rb +107 -0
  69. data/spec/mangopay/dispute_spec.png +0 -0
  70. data/spec/mangopay/dispute_spec.rb +294 -0
  71. data/spec/mangopay/event_spec.rb +33 -0
  72. data/spec/mangopay/fetch_filters_spec.rb +63 -0
  73. data/spec/mangopay/hook_spec.rb +37 -0
  74. data/spec/mangopay/idempotency_spec.rb +41 -0
  75. data/spec/mangopay/identity_verification_spec.rb +47 -0
  76. data/spec/mangopay/kyc_document_spec.png +0 -0
  77. data/spec/mangopay/kyc_document_spec.rb +118 -0
  78. data/spec/mangopay/log_requests_filter_spec.rb +26 -0
  79. data/spec/mangopay/mandate_spec.rb +99 -0
  80. data/spec/mangopay/payin_applepay_direct_spec.rb +21 -0
  81. data/spec/mangopay/payin_bancontact_web_spec.rb +30 -0
  82. data/spec/mangopay/payin_bankwire_direct_spec.rb +74 -0
  83. data/spec/mangopay/payin_bankwire_external_instruction_spec.rb +104 -0
  84. data/spec/mangopay/payin_bizum_web_spec.rb +54 -0
  85. data/spec/mangopay/payin_blik_web_spec.rb +41 -0
  86. data/spec/mangopay/payin_card_direct_spec.rb +69 -0
  87. data/spec/mangopay/payin_card_web_spec.rb +64 -0
  88. data/spec/mangopay/payin_directdebit_direct_spec.rb +37 -0
  89. data/spec/mangopay/payin_directdebit_web_spec.rb +38 -0
  90. data/spec/mangopay/payin_giropay_web_spec.rb +30 -0
  91. data/spec/mangopay/payin_googlepay_direct_spec.rb +21 -0
  92. data/spec/mangopay/payin_ideal_web_spec.rb +30 -0
  93. data/spec/mangopay/payin_intent_spec.rb +151 -0
  94. data/spec/mangopay/payin_klarna_web_spec.rb +32 -0
  95. data/spec/mangopay/payin_mbway_web_spec.rb +32 -0
  96. data/spec/mangopay/payin_multibanco_web_spec.rb +31 -0
  97. data/spec/mangopay/payin_paybybank_web_spec.rb +56 -0
  98. data/spec/mangopay/payin_payconiq_web_spec.rb +31 -0
  99. data/spec/mangopay/payin_paypal_web_spec.rb +113 -0
  100. data/spec/mangopay/payin_preauthorized_direct_spec.rb +118 -0
  101. data/spec/mangopay/payin_satispay_web_spec.rb +32 -0
  102. data/spec/mangopay/payin_swish_web_spec.rb +30 -0
  103. data/spec/mangopay/payin_twint_web_spec.rb +30 -0
  104. data/spec/mangopay/payment_method_metadata_spec.rb +15 -0
  105. data/spec/mangopay/payout_bankwire_spec.rb +93 -0
  106. data/spec/mangopay/preauthorization_spec.rb +51 -0
  107. data/spec/mangopay/recipient_spec.rb +134 -0
  108. data/spec/mangopay/recurring_payin_spec.rb +222 -0
  109. data/spec/mangopay/refund_spec.rb +34 -0
  110. data/spec/mangopay/regulatory_spec.rb +26 -0
  111. data/spec/mangopay/report_spec.rb +40 -0
  112. data/spec/mangopay/report_v2_spec.rb +117 -0
  113. data/spec/mangopay/report_wallets_spec.rb +40 -0
  114. data/spec/mangopay/settlement_sample.csv +8 -0
  115. data/spec/mangopay/settlement_spec.rb +38 -0
  116. data/spec/mangopay/shared_resources.rb +1380 -0
  117. data/spec/mangopay/transaction_spec.rb +59 -0
  118. data/spec/mangopay/transfer_spec.rb +77 -0
  119. data/spec/mangopay/ubo_declaration_spec.rb +44 -0
  120. data/spec/mangopay/ubo_spec.rb +39 -0
  121. data/spec/mangopay/user_spec.rb +444 -0
  122. data/spec/mangopay/virtual_account_spec.rb +52 -0
  123. data/spec/mangopay/wallet_spec.rb +100 -0
  124. data/spec/spec_helper.rb +31 -0
  125. data/spec/tmp/.keep +0 -0
  126. metadata +280 -0
data/CHANGELOG.md ADDED
@@ -0,0 +1,640 @@
1
+ ## [3.44.0] - 2025-11-28
2
+ ### Changed
3
+ - Migrated to V4 naming convention
4
+
5
+ ## [3.43.0] - 2025-11-19
6
+ ### Added
7
+ First batch of endpoints for direct acquiring solution (in private beta).
8
+
9
+ ## [3.42.1] - 2025-11-06
10
+ ### Improved
11
+ - Support for case variations in error handler #313
12
+
13
+ ## [3.42.0] - 2025-10-27
14
+ ### Added
15
+ - New [POST Manage proxy consent for a User](https://docs.mangopay.com/api-reference/users/manage-proxy-consent) endpoint to obtain and manage user consent via the hosted SCA experience (if proxy is activated). A proxy and user consent are now required to use the `USER_NOT_PRESENT` value for `ScaContext` ([API release note](https://docs.mangopay.com/release-notes/api/2025-10-23), #310)
16
+
17
+ ### Changed
18
+ - `x-tenant-id` deprecated as no longer necessary for UK platforms; the parameter is ignored by Mangopay (#309 )
19
+
20
+ ## [3.41.1] - 2025-10-10
21
+ ### Added
22
+ - Configuration for `after_request_proc` to be able to check rate limits post-request (#301 - thank you @matteeyah and @robertfall for the contribution 🙏)
23
+
24
+ ## [3.41.0] - 2025-10-01
25
+ ### Added
26
+ - Support for the [POST Cancel an Intent](https://docs.mangopay.com/api-reference/intents/cancel-intent) endpoint for [Echo](https://docs.mangopay.com/guides/echo), Mangopay's solution for platforms working with another third-party PSP for funds acquisition (#435)
27
+ - Support for [POST Submit data for a PayPal PayIn](https://docs.mangopay.com/api-reference/paypal/submit-data-paypal-payin) endpoint (#305)
28
+
29
+ ## [3.40.2] - 2025-09-02
30
+ ### Changed
31
+ - OAuth token refresh buffer before expiry updated to 30s #303
32
+
33
+ ### Fixed
34
+ - Tests #302
35
+
36
+ ## [3.40.1] - 2025-08-14
37
+ ### Added
38
+ - Support for [POST Create a Quoted Conversion between Client Wallets](https://docs.mangopay.com/api-reference/conversions/create-quoted-conversion-client-wallets) and [POST Create an Instant Conversion between Client Wallets](https://docs.mangopay.com/api-reference/conversions/create-instant-conversion-client-wallets) #297
39
+ - Support for [POST Create a Bank Wire to the Repudiation Wallet](https://docs.mangopay.com/api-reference/dispute-settlement/create-bank-wire-payin-to-repudiation-wallet) #299
40
+
41
+ ## [3.40.0] - 2025-08-07
42
+ ### Added
43
+ Support for new Splits endpoints for Echo (#294 , [API release note](https://docs.mangopay.com/release-notes/api/2025-07-16)):
44
+ - [PUT Update a Split of an Intent](https://docs.mangopay.com/api-reference/intents/update-intent-split)
45
+ - [POST Execute a Split of an Intent](https://docs.mangopay.com/api-reference/intents/execute-intent-split)
46
+ - [POST Reverse the Split of an Intent](https://docs.mangopay.com/api-reference/intents/reverse-intent-split)
47
+ - [GET View a Split of an Intent](https://docs.mangopay.com/api-reference/intents/view-intent-split)
48
+
49
+ New `ReportTypes` for Echo (#295, [API release note](https://docs.mangopay.com/release-notes/api/2025-08-06))):
50
+ - `ECHO_INTENT`
51
+ - `ECHO_INTENT_ACTION`
52
+ - `ECHO_SETTLEMENT`
53
+ - `ECHO_SPLIT`
54
+
55
+ ## [3.39.1] - 2025-07-28
56
+ ### Added
57
+ - support for new endpoint [View supported banks for Pay by Bank](https://docs.mangopay.com/api-reference/pay-by-bank/view-supported-banks-pay-by-bank), to enable presentation of banks to user before Pay by Bank payment request
58
+
59
+ ## [3.39.0] - 2025-07-18
60
+ ### Added
61
+ Endpoints for [Mangopay Echo](https://docs.mangopay.com/guides/echo), a solution for platforms working with another third-party PSP for funds acquisition (including via the Mirakl Connector) #291 :
62
+ - [POST Create an Intent](https://docs.mangopay.com/api-reference/intents/create-intent)
63
+ - [GET View an Intent](https://docs.mangopay.com/api-reference/intents/view-intent)
64
+ - [POST Create a Capture for an Intent](https://docs.mangopay.com/api-reference/intents/create-intent-capture)
65
+ - [POST Create a Settlement](https://docs.mangopay.com/api-reference/settlements/create-settlement)
66
+ - [PUT Update a Settlement](https://docs.mangopay.com/api-reference/settlements/update-settlement)
67
+ - [GET View a Settlement](https://docs.mangopay.com/api-reference/settlements/view-settlement)
68
+ - [POST Create a Split of an Intent](https://docs.mangopay.com/api-reference/intents/create-intent-split)
69
+
70
+ ## [3.38.0] - 2025-07-02
71
+ ### Added
72
+ - New endpoint [POST Create a Bizum PayIn](https://docs.mangopay.com/api-reference/bizum/create-bizum-payin)
73
+ - New webhook event types for SCA enrollment ([API release note](https://docs.mangopay.com/release-notes/api/2025-06-23)), note that these are triggered on enrollment not authentication:
74
+ - `SCA_ENROLLMENT_SUCCEEDED`
75
+ - `SCA_ENROLLMENT_FAILED`
76
+ - `SCA_ENROLLMENT_EXPIRED`
77
+ - New webhook event types for `UserCategory` change ([API release note](https://docs.mangopay.com/release-notes/api/2025-06-23) ):
78
+ - `USER_CATEGORY_UPDATED_TO_OWNER`
79
+ - `USER_CATEGORY_UPDATED_TO_PAYER`
80
+ - `USER_CATEGORY_UPDATED_TO_PLATFORM`
81
+ - Support for `PLATFORM` value to `UserCategory` enum
82
+
83
+ ## [3.37.0] - 2025-06-24
84
+ ### Changed
85
+ - `multi_json` library version updated to 1.15.0 (latest, release 2020) to enable compatibility with later versions of Ruby
86
+
87
+ > ⚠️ **Caution - Breaking change**
88
+ >
89
+ > If you use version 1.7.7 (2013) of the `multi_json` [gem](https://rubygems.org/gems/multi_json/versions/1.15.0) in your project, you need to update to 1.15.0 to use this version v3.37.0 of the Mangopay Ruby SDK
90
+
91
+ ## [3.36.0] - 2025-06-24
92
+ ### Added
93
+
94
+ [New Reporting Service](https://docs.mangopay.com/release-notes/api/2025-06-05) endpoints (#287 ):
95
+ - [POST Create a Report](https://docs.mangopay.com/api-reference/reporting/create-report)
96
+ - [GET View a Report](https://docs.mangopay.com/api-reference/reporting/view-report)
97
+ - [GET List all Reports](https://docs.mangopay.com/api-reference/reporting/list-reports)
98
+
99
+ Support for:
100
+ - [GET List Disputes for a PayIn](https://docs.mangopay.com/api-reference/disputes/list-disputes-payin) (#287)
101
+ - [GET List Transactions for a Card Fingerprint](https://docs.mangopay.com/api-reference/transactions/list-transactions-card-fingerprint) (#289)
102
+
103
+ ## [3.35.1] - 2025-06-05
104
+ ### Added
105
+ - Support for `RecipientScope` query parameter on [GET List Recipients for a User](https://docs.mangopay.com/api-reference/recipients/list-recipients-user)
106
+ - [POST Validate the format of User data](https://docs.mangopay.com/api-reference/user-data-format/validate-user-data-format)
107
+
108
+ ### Fixed
109
+ - Support for legacy Payconiq integration via `MangoPay::PayIn::Payconiq::Web.create_legacy` (removed in error).
110
+
111
+ ## [3.35.0] - 2025-05-23
112
+ ### Added
113
+
114
+ Support for [30-day deposit preauthorization](https://docs.mangopay.com/guides/payment-methods/card/deposit-preauthorization) features:
115
+ - [POST Create a Deposit Preauthorized PayIn prior to complement](https://docs.mangopay.com/api-reference/deposit-preauthorizations/create-deposit-preauthorized-payin-prior-to-complement)
116
+ - [POST Create a Deposit Preauthorized PayIn complement](https://docs.mangopay.com/api-reference/deposit-preauthorizations/create-deposit-preauthorized-payin-complement)
117
+ - `NO_SHOW_REQUESTED` on `updateDeposit` method for [PUT Cancel a Deposit Preauthorization or request a no-show](https://docs.mangopay.com/api-reference/deposit-preauthorizations/cancel-deposit-preauthorization-request-no-show)
118
+ - [GET View a PayIn (Deposit Preauthorized Card](https://docs.mangopay.com/api-reference/deposit-preauthorizations/view-payin-deposit-preauthorized)
119
+ - [GET List Transactions for a Deposit Preauthorization](https://docs.mangopay.com/api-reference/transactions/list-transactions-deposit-preauthorization)
120
+
121
+ ## [3.34.0] - 2025-05-14
122
+ ### Added and refined
123
+
124
+ #### Hosted KYC/KYB endpoints
125
+
126
+ The following endpoints have been refined following the beta phase, and are now generally available:
127
+ - [POST Create an IDV Session](https://docs.mangopay.com/api-reference/idv-sessions/create-idv-session) (no changes)
128
+ - [GET View an IDV Session](https://docs.mangopay.com/api-reference/idv-sessions/view-idv-session) (includes `Checks` in response)
129
+ - [GET List IDV Sessions for a User](https://docs.mangopay.com/api-reference/idv-sessions/list-idv-sessions-user) (new endpoint)
130
+
131
+ The previously available endpoint GET View Checks for an IDV Session has been removed (as Checks were integrated into the GET by ID).
132
+
133
+ See the [guide](https://docs.mangopay.com/guides/users/verification/hosted) for more details.
134
+
135
+ #### Recipients
136
+
137
+ The `Country` property has been added to [Recipients](https://docs.mangopay.com/guides/sca/recipients), as a required query parameter on [GET View the schema for a Recipient](https://docs.mangopay.com/api-reference/recipients/view-recipient-schema) and as a required body parameter on [POST Validate data for a Recipient](https://docs.mangopay.com/api-reference/recipients/validate-recipient-data) and [POST Create a Recipient](https://docs.mangopay.com/api-reference/recipients/create-recipient).
138
+
139
+ ### Added
140
+
141
+ - [GET List Deposit Preauthorizations for a Card](https://docs.mangopay.com/api-reference/deposit-preauthorizations/list-deposit-preauthorizations-card)
142
+ - [GET List Deposit Preauthorizations for a User](https://docs.mangopay.com/api-reference/deposit-preauthorizations/list-deposit-preauthorizations-user)
143
+
144
+ ## [3.33.0] - 2025-04-29
145
+ ### Added
146
+
147
+ #### SCA on wallet access endpoints
148
+
149
+ `ScaContext` query parameter added on wallet access endpoints for the [introduction of SCA](https://docs.mangopay.com/guides/sca/wallets):
150
+
151
+ - [GET View a Wallet](https://docs.mangopay.com/api-reference/wallets/view-wallet)
152
+ - [GET List Wallets for a User](https://docs.mangopay.com/api-reference/wallets/list-wallets-user)
153
+ - [GET List Transactions for a User](https://docs.mangopay.com/api-reference/transactions/list-transactions-user)
154
+ - [GET List Transactions for a Wallet](https://docs.mangopay.com/api-reference/transactions/list-transactions-wallet)
155
+
156
+ If SCA is required, Mangopay responds with a 401 response code. The `PendingUserAction` `RedirectUrl` is in the dedicated `WWW-Authenticate` response header.
157
+
158
+ See the tests for examples on handling this error.
159
+
160
+ #### BLIK with code
161
+ Support for [BLIK with code endpoint](https://docs.mangopay.com/api-reference/blik/create-blik-payin-with-code)
162
+
163
+ ## [3.32.0] - 2025-04-16
164
+ ### Added
165
+
166
+ #### Recipients
167
+ - [GET View payout methods](/api-reference/recipients/view-payout-methods)
168
+ - [GET View the schema for a Recipient](/api-reference/recipients/view-recipient-schema)
169
+ - [POST Validate data for a Recipient](/api-reference/recipients/validate-recipient-data)
170
+ - [POST Create a Recipient](/api-reference/recipients/create-recipient)
171
+ - [GET View a Recipient](/api-reference/recipients/view-recipient)
172
+ - [GET List Recipients for a user](/api-reference/recipients/list-recipients-user)
173
+ - [PUT Deactivate a Recipient](/api-reference/recipients/deactivate-recipient)
174
+
175
+ #### Endpoints to close a user account
176
+ - [DELETE Close a Natural User](/api-reference/users/close-natural-user)
177
+ - [DELETE Close a Legal User](/api-reference/users/close-legal-user)
178
+
179
+ ## [3.31.0] - 2025-04-16
180
+ ### Added
181
+ - [POST Create a Pay by Bank PayIn](https://docs.mangopay.com/api-reference/pay-by-bank/create-pay-by-bank-payin)
182
+ - PayPal recurring payments, thanks to the `PaymentType` value `PAYPAL` on [Recurring PayIn Registrations](https://docs.mangopay.com/api-reference/recurring-payin-registrations/create-recurring-payin-registration-paypal) and new endpoints ([POST Create a Recurring PayPal PayIn (CIT)](https://docs.mangopay.com/api-reference/paypal/create-recurring-paypal-payin-cit) and [POST Create a Recurring PayPal PayIn (MIT)](https://docs.mangopay.com/api-reference/paypal/create-recurring-paypal-payin-mit)
183
+
184
+ ## [3.30.2] - 2025-04-02
185
+ ### Fixed
186
+ - Fixed the way User-Agent Header is built
187
+
188
+ ## [3.30.1] - 2025-04-02
189
+ ### Changed
190
+ - User-Agent Header value standardized on format: User-Agent: Mangopay-SDK/`SDKVersion` (`Language`/`LanguageVersion`)
191
+
192
+ ## [3.30.0] - 2025-03-24
193
+ ### Added
194
+
195
+ New endpoints for [strong customer authentication (SCA)](https://docs.mangopay.com/guides/users/sca) on Owner users:
196
+ - [POST Create a Natural User (SCA)](https://docs.mangopay.com/api-reference/users/create-natural-user-sca)
197
+ - [PUT Update a Natural User (SCA)](https://docs.mangopay.com/api-reference/users/update-natural-user-sca)
198
+ - [POST Create a Legal User (SCA)](https://docs.mangopay.com/api-reference/users/create-legal-user-sca)
199
+ - [PUT Update a Legal User (SCA)](https://docs.mangopay.com/api-reference/users/update-legal-user-sca)
200
+ - [PUT Categorize a Natural User (SCA)](https://docs.mangopay.com/api-reference/users/categorize-natural-user)
201
+ - [PUT Categorize a Legal User (SCA)](https://docs.mangopay.com/api-reference/users/categorize-legal-user)
202
+ - [POST Enroll a User in SCA](https://docs.mangopay.com/api-reference/users/enroll-user)
203
+
204
+ ## [3.29.0] - 2025-02-26
205
+ ### Added
206
+
207
+ Endpoints and webhooks for [hosted KYC/B solution](https://docs.mangopay.com/guides/users/verification/hosted) (in beta)
208
+
209
+ - Endpoints
210
+ - [Create an IDV Session](https://docs.mangopay.com/api-reference/idv-sessions/create-idv-session)
211
+ - [View an IDV Session](https://docs.mangopay.com/api-reference/idv-sessions/view-idv-session)
212
+ - [View Checks for an IDV Session](https://mangopay-idv.mintlify.app/api-reference/idv-sessions/view-idv-session-checks)
213
+
214
+ - Event types
215
+ - `IDENTITY_VERIFICATION_VALIDATED`
216
+ - `IDENTITY_VERIFICATION_FAILED`
217
+ - `IDENTITY_VERIFICATION_INCONCLUSIVE`
218
+ - `IDENTITY_VERIFICATION_OUTDATED`
219
+
220
+ ## [3.28.2] - 2025-02-13
221
+ ### Updated
222
+
223
+ #259 Added idempotency key to create conversion methods. Thank you for your contribution [@kaderate](https://github.com/kaderate)!
224
+
225
+ ## [3.28.1] - 2025-02-04
226
+ ### Updated
227
+
228
+ Revised tests to improve reliability and address any outdated tests.
229
+
230
+ ## [3.28.0] - 2024-11-15
231
+ ### Added
232
+
233
+ New endpoint for [The TWINT PayIn object](https://docs.mangopay.com/api-reference/twint/twint-payin-object#the-twint-payin-object):
234
+ - [Create a TWINT PayIn](https://docs.mangopay.com/api-reference/twint/create-twint-payin)
235
+ - [View a PayIn (TWINT)](https://docs.mangopay.com/api-reference/twint/view-payin-twint)
236
+
237
+ New endpoint for [The Swish PayIn object](https://docs.mangopay.com/api-reference/swish/swish-payin-object):
238
+ - [Create a Swish PayIn](https://docs.mangopay.com/api-reference/swish/create-swish-payin)
239
+ - [View a PayIn (Swish)](https://docs.mangopay.com/api-reference/swish/view-payin-swish)
240
+
241
+ ## [3.27.0] - 2024-10-29
242
+ ### Added
243
+
244
+ New endpoints for The Virtual Account object:
245
+ - [Create a Virtual Account]()
246
+ - [Deactivate a Virtual Account]()
247
+ - [View a Virtual Account]()
248
+ - [List Virtual Accounts for a Wallet]()
249
+ - [View Client Availabilities]()
250
+
251
+ ## [3.26.1] - 2024-10-03
252
+ ### Fixed
253
+
254
+ - Updated `RedirectURL` for the [Payconiq PayIn](https://docs.mangopay.com/api-reference/payconiq/payconiq-payin-object#the-payconiq-payin-object)
255
+
256
+ ## [3.26.0] - 2024-08-07
257
+ ### Added
258
+
259
+ - New endpoint: [Create a Bancontact PayIn](https://mangopay.com/docs/endpoints/bancontact#create-bancontact-payin)
260
+
261
+ ## [3.25.1] - 2024-04-30
262
+ ### Fixed
263
+
264
+ - Updated tests for [Look up metadata for a payment method](https://mangopay.com/docs/endpoints/payment-method-metadata#lookup-payment-method-metadata).
265
+
266
+ ## [3.25.0] - 2024-04-16
267
+ ### Added
268
+
269
+ - Add trace header logging : Introduced the `log_trace_headers` boolean configuration key. Set it to true to enable logging of `x_mangopay_trace-id` and `IdempotencyKey` in the log of the http requests.
270
+
271
+ ## [3.24.1] - 2024-04-10
272
+ ### Fixed
273
+
274
+ - #249 Improve error handling when logging is enabled
275
+ - #226 MultiJson::ParseError is thrown on HTTP error 5XX
276
+
277
+ ## [3.24.0] - 2024-04-02
278
+ ### Added
279
+
280
+ - New endpoint [Add tracking to Paypal payin](https://mangopay.com/docs/endpoints/paypal#add-tracking-paypal-payin)
281
+
282
+ ## [3.23.0] - 2024-03-08
283
+ ### Fixed
284
+
285
+ - Conversions endpoint spelling
286
+
287
+ ### Added
288
+
289
+ - The optional Fees parameter is now available on instant conversions, allowing platforms to charge users for FX services. More information [here](https://mangopay.com/docs/release-notes/millefeuille).
290
+ - Platforms can now use a quote to secure the rate for a conversion between two currencies for a set amount of time. More information [here](https://mangopay.com/docs/release-notes/millefeuille).
291
+ - Introduced the `uk_header_flag` boolean configuration key. Platforms partnered with Mangopay's UK entity should set this key to true for proper configuration.
292
+
293
+ ## [3.22.0] - 2024-02-08
294
+ ### Added
295
+
296
+ - New endpoint to look up metadata from BIN or Google Pay token. More information [here](https://mangopay.com/docs/release-notes/kisale)
297
+
298
+ ## [3.21.0] - 2024-01-23
299
+ ### Added
300
+
301
+ - The endpoint [View a card Validation](https://mangopay.com/docs/endpoints/card-validations#view-card-validation) is now available
302
+
303
+ ## [3.20.0] - 2023-11-15
304
+ ### Added
305
+
306
+ Now, our SDK enables seamless integration with multiple clientIDs, offering enhanced flexibility and customization.
307
+
308
+ You can effortlessly create multiple configuration objects tailored to your specific needs:
309
+
310
+ ```
311
+ config = MangoPay::Configuration.new
312
+ config.client_id = 'your-client-id'
313
+ config.client_apiKey = 'your-api-key'
314
+ config.preproduction = true
315
+ ```
316
+ add them using :
317
+
318
+ `MangoPay.add_config('config1', config)`
319
+
320
+ and perform a call with them using :
321
+
322
+ `MangoPay.get_config('config1').apply_configuration`
323
+
324
+ The previous method configure() is still working.
325
+
326
+ ## [3.19.0] - 2023-11-02
327
+ ### Updated
328
+
329
+ - Giropay and Ideal integrations with Mangopay have been improved.
330
+ - Klarna param "MerchantOrderId" has been renamed to "Reference"
331
+
332
+ ## [3.18.0] - 2023-09-29
333
+ ### Added
334
+ - Instantly convert funds between 2 wallets of different currencies owned by the same user with the new SPOT FX endpoints
335
+
336
+ ## [3.17.0] - 2023-09-20
337
+ ### Added
338
+
339
+ - A new parameter for Paypal : ShippingPreference
340
+ - Klarna is now available as a payment method with Mangopay. This payment method is in private beta. Please contact support if you have any questions.
341
+ - #225 It's now possible to configure ssl_options. It's now possible to set to false in preproduction environment. Thanks to @mantaskujalis
342
+
343
+ ## [3.16.0] - 2023-09-04
344
+ ### Added
345
+
346
+ - Card validation endpoint management (Private beta)
347
+ - New MOPs added : Multibanco, Blik, Satispay (Private beta)
348
+
349
+ ### Fixed
350
+
351
+ - Execution Type of MB Way and PayPal has been changed from Direct to Web
352
+
353
+ ## [3.15.0] - 2023-07-07
354
+ ### Added
355
+
356
+ - Google Pay is now available as a payment method with Mangopay. This payment method is in private beta. Please contact support if you have any questions.
357
+ - Paypal integration with Mangopay has been improved. This payment method is in private beta. Please contact support if you have any questions.
358
+
359
+ ### Fixed
360
+
361
+ - `Phone` parameter instead of `PhoneNumber` for MBWay
362
+ - Timeout should be in secondes instead of milliseconds in the configuration
363
+ ## [3.14.0] - 2023-06-21
364
+ ### Added
365
+
366
+ - MB WAY is now available as a payment method with Mangopay. This payment method is in private beta. Please contact support if you have any questions.
367
+
368
+ ## [3.13.2] - 2023-05-18
369
+ ### Fixes
370
+
371
+ - fixed GitHub Actions CD pipeline
372
+
373
+ ## [3.13.1] - 2023-05-18
374
+ ### Fixes
375
+
376
+ - typo fixed in test context name (@batistadasilva)
377
+
378
+ ## [3.13.0] - 2023-05-17
379
+ ### Added
380
+
381
+ - Possibility to configure HTTP `max_retries (http_max_retries)` (default value = 1) and `open_timeout (http_open_timeout)` (default value = 60 seconds)
382
+ - Increased default `read_timeout` to 30 seconds
383
+
384
+
385
+ ## [3.12.0] - 2022-11-16
386
+ ### New 30-day preauthorization feature
387
+
388
+ Preauthorizations can now hold funds for up to 30 days, therefore ensuring the solvency of a registered card for the same amount of time.
389
+
390
+ - The **Deposit** service has been added with methods for creating, fetching and canceling a deposit
391
+ - The **create_pre_authorized_deposit_pay_in** method has been added to the PayIn service
392
+
393
+ Thanks to 30-day preauthorizations, MANGOPAY can provide a simpler and more flexible payment experience for a wide range of use cases, especially for rentals.
394
+
395
+ ## [3.11.1] - 2022-10-18
396
+ ### Fixed
397
+
398
+ Tests has been fixed due to API evolution.
399
+
400
+ ## [3.11.0] - 2022-09-08
401
+ ##Added
402
+ **New country authorizations endpoints**
403
+
404
+ Country authorizations can now be viewed by using one of the following endpoints:
405
+
406
+ <a href="https://docs.mangopay.com/endpoints/v2.01/regulatory#e1061_the-country-authorizations-object">View a country's authorizations</a> <br>
407
+ <a href="https://docs.mangopay.com/endpoints/v2.01/regulatory#e1061_the-country-authorizations-object">View all countries' authorizations</a>
408
+
409
+ With these calls, it is possible to check which countries have:
410
+
411
+ - Blocked user creation
412
+ - Blocked bank account creation
413
+ - Blocked payout creation
414
+
415
+ Please refer to the <a href="https://docs.mangopay.com/guide/restrictions-by-country">Restrictions by country</a>
416
+ article for more information.
417
+
418
+ ## [3.10.0] - 2022-06-29
419
+ ##Added
420
+ **Recurring: €0 deadlines for CIT**
421
+
422
+ Setting free recurring payment deadlines is now possible for CIT (customer-initiated transactions) with the **FreeCycles** parameter.
423
+
424
+ The **FreeCycles** parameter allows platforms to define the number of consecutive deadlines that will be free. The following endpoints have been updated to take into account this new parameter:
425
+
426
+ <a href="https://docs.mangopay.com/endpoints/v2.01/payins#e1051_create-a-recurring-payin-registration">Create a Recurring PayIn Registration</a><br>
427
+ <a href="https://docs.mangopay.com/endpoints/v2.01/payins#e1056_view-a-recurring-payin-registration">View a Recurring PayIn Registration</a><br>
428
+
429
+ This feature provides new automation capabilities for platforms with offers such as “Get the first month free” or “free trial” subscriptions.
430
+
431
+ Please refer to the <a href="https://docs.mangopay.com/guide/recurring-payments-introduction">Recurring payments overview</a> documentation for more information.
432
+
433
+ ## [3.9.0] - 2022.03.31
434
+ ### Added
435
+
436
+ #### Instant payment eligibility check
437
+
438
+ With the function
439
+ `PayOut::InstantPayoutEligibility::Reachability.create(params)`
440
+ the destination bank reachability can now be verified prior to making an instant payout. This results in a better user experience, as this preliminary check will allow the platform to propose the instant payout option only to end users whose bank is eligible.
441
+
442
+ ## [3.8.0] - 2021.10.20
443
+ ## Added
444
+
445
+ You can now change the status to "ENDED" for a recurring payment.
446
+
447
+ ## Fixed
448
+
449
+ - "Status" is now available in the response when you request a recurring payment registration.
450
+
451
+
452
+ ## [3.7.0] - 2021.10.11
453
+ ## Added
454
+
455
+ ### Payconiq
456
+
457
+ As requested by numerous clients, we are now providing [Payconiq](https://www.payconiq.be) as a new mean-of-payment. To request access, please contact MANGOPAY.
458
+
459
+ ### Flags for KYC documents
460
+
461
+ **We provide more information regarding refused KYC documents.** Therefore it will be easier for you to adapt your app behavior and help your end user.
462
+
463
+ You are now able to see the exact explanation thanks to a new parameter called “Flags”.
464
+
465
+ It has been added to
466
+
467
+ `$this->_api->KycDocuments->Get($kycDocument->Id);`
468
+
469
+ It will display one or several error codes that provide the reason(s) why your document validation has failed. These error codes description are available [here](https://docs.mangopay.com/guide/kyc-document).
470
+
471
+ ## Fixed
472
+
473
+ Idempotency key is not required anymore for UBO declarations
474
+
475
+ ## [3.6.0] - 2021.08.10
476
+ ## Added
477
+
478
+ - You can now update and view a Recurring PayIn Registration object. To know more about this feature, please consult the documentation [here](https://docs.mangopay.com/guide/recurring-payments-introduction).
479
+ - To improve recurring payments, we have added new parameters for CIT : DebitedFunds & Fees. To know more about this feature, please consult the documentation [here](https://docs.mangopay.com/endpoints/v2.01/payins#e1053_create-a-recurring-payin-cit)
480
+
481
+ ## [3.5.0] - 2021.06.10
482
+ ## Added
483
+
484
+ We have added a new feature **[recurring payments](https://docs.mangopay.com/guide/recurring-payments)** dedicated to clients needing to charge a card repeatedly, such as subscriptions or payments installments.
485
+
486
+ You can start testing in sandbox, to help you define your workflow. This release provides the first elements of the full feature.
487
+
488
+ - [Create a Recurring PayIn Registration object](https://docs.mangopay.com/endpoints/v2.01/payins#e1051_create-a-recurring-payin-registration), containing all the information to define the recurring payment
489
+ - [Initiate your recurring payment flow](https://docs.mangopay.com/endpoints/v2.01/payins#e1053_create-a-recurring-payin-cit) with an authenticated transaction (CIT) using the Card Recurring PayIn endpoint
490
+ - [Continue your recurring payment flow](https://docs.mangopay.com/endpoints/v2.01/payins#e1054_create-a-recurring-payin-mit) with an non-authenticated transaction (MIT) using the Card Recurring PayIn endpoint
491
+
492
+ This feature is not yet available in production and you need to contact the Support team to request access.
493
+
494
+ ## Accepted PRs
495
+
496
+ - Add support for refund creation
497
+ - Allow to fetch UBO Declaration without User ID
498
+
499
+
500
+
501
+ ## [3.4.0] - 2021.05.27
502
+ ## Added
503
+
504
+ ### Instant payment
505
+
506
+ Mangopay introduces the instant payment mode. It allows payouts (transfer from wallet to user bank account) to be processed within 25 seconds, rather than the 48 hours for a standard payout.
507
+
508
+ You can now use this new type of payout with the Ruby SDK.
509
+
510
+ Example :
511
+
512
+ ```ruby
513
+ bankwire = MangoPay::PayOut::BankWire.get_bankwire(payout['Id'])
514
+ # where payout['Id'] is the id of an existing payout
515
+ ```
516
+
517
+ Please note that this feature must be authorized and activated by MANGOPAY. More information [here](https://docs.mangopay.com/guide/instant-payment-payout).
518
+
519
+ ### Accepted PRs
520
+
521
+ - Add support to create refunds for PayIn, Transfer and PayOut transactions.
522
+ - ResponseError object improvement
523
+
524
+ ## [3.3.0]
525
+ ## Fixed
526
+
527
+ ### IBAN for testing purposes
528
+
529
+ ⚠️ **IBAN provided for testing purpose should never be used outside of a testing environement!**
530
+
531
+ More information about how to test payments, click [here](https://docs.mangopay.com/guide/testing-payments).
532
+
533
+ ### Others
534
+
535
+ - Adding missing json require in log requests filter spec. Thank you @Vin0uz
536
+ - Extend fetch_wallet and create_payout API. Thank you @peterb
537
+
538
+ ## Added
539
+
540
+ Some of you use a lot the [PreAuthorization](https://docs.mangopay.com/endpoints/v2.01/preauthorizations#e183_the-preauthorization-object) feature of our API. To make your life easier, we have added three new events :
541
+
542
+ - PREAUTHORIZATION_CREATED
543
+ - PREAUTHORIZATION_SUCCEEDED
544
+ - PREAUTHORIZATION_FAILED
545
+
546
+ The goal is to help you monitor a PreAuthorization with a [webhook](https://docs.mangopay.com/endpoints/v2.01/hooks#e246_the-hook-object).
547
+
548
+ *Example: If a PreAuthorization is desynchronized, when the status is updated, you will be able to know it.*
549
+
550
+
551
+
552
+ ## [3.2.0]
553
+ ## Added
554
+
555
+ ### On demand feature for 3DSv2
556
+
557
+ > **This on-demand feature is for testing purposes only and will not be available in production**
558
+
559
+ #### Request
560
+
561
+ We've added a new parameter `Requested3DSVersion` (not mandatory) that allows you to choose between versions of 3DS protocols (managed by the parameter `SecureMode`). Two values are available:
562
+ * `V1`
563
+ * `V2_1`
564
+
565
+ If nothing is sent, the flow will be 3DS V1.
566
+
567
+ The `Requested3DSVersion` may be included on all calls to the following endpoints:
568
+ * `/preauthorizations/card/direct`
569
+ * `/payins/card/direct`
570
+
571
+ #### Response
572
+
573
+ In the API response, the `Requested3DSVersion` will show the value you requested:
574
+ * `V1`
575
+ * `V2_1`
576
+ * `null` – indicates that nothing was requested
577
+
578
+ The parameter `Applied3DSVersion` shows you the version of the 3DS protocol used. Two values are possible:
579
+ * `V1`
580
+ * `V2_1`
581
+
582
+
583
+
584
+
585
+ ## [3.1.0]
586
+ - 3DS2 integration with Shipping and Billing objects, including FirstName and LastName fields
587
+ The objects Billing and Shipping may be included on all calls to the following endpoints:
588
+ - /preauthorizations/card/direct
589
+ - /payins/card/direct
590
+ - /payins/card/web
591
+ - Enable Instant Payment for payouts by adding a new parameter PayoutModeRequested on the following endpoint /payouts/bankwire
592
+ - The new parameter PayoutModeRequested can take two differents values : "INSTANT_PAYMENT" or "STANDARD" (STANDARD = the way we procede normaly a payout request)
593
+ - This new parameter is not mandatory and if empty or not present, the payout will be "STANDARD" by default
594
+ - Instant Payment is in beta all over Europe - SEPA region
595
+ - Add test on new payout mode PayoutModeRequested
596
+ ## [3.0.37] - 2020-10-30
597
+ - Card Validation endpoint fully activated
598
+ - added pre authorizations transactions method
599
+ - added new methods for client bank accounts and payouts
600
+ - Send headers for different api calls
601
+
602
+ ## [3.0.36] - 2020-08-28
603
+ - Forces TLS version to 1.2
604
+
605
+ ## [3.0.35] - 2020-08-24
606
+ - Improvement to Net::ReadTimeout handling
607
+ - "User-agent" format in the headers changed, aligned to other assets 👤
608
+
609
+ ## [3.0.34] - 2020-06-25
610
+ ### Added
611
+ - This SDK is now GooglePay-ready ! Feel free to ask our lovely support for more infos about its activation.
612
+ - `UBODeclaration` is now directly available through its ID.
613
+ - If a bankwire is done from a UK bankaccount on one of your `BankingAlias`, you could find its `AccountNumber` on `GET /payins/` response
614
+ - You can now send a `Culture` parameter for Paypal PayIns. Thanks to it, payment page can be displayed in various languages.
615
+
616
+ ### Changed
617
+ - `PAYLINEV2`value for Payin Web has been added on `TemplateURLOptions` object. You now should use it instead of `PAYLINE` for page customization.
618
+
619
+ ### Fixed
620
+ - Missing filters parameters have been added
621
+ - You can now send headers in update requests
622
+ - Loggers have been enhanced
623
+
624
+ ## [3.0.33] - 2019-09-23
625
+ ### Added
626
+ - ApplePay `Payin` functions are now available. More info about activation to come in the following weeks...
627
+ ### Changed
628
+ - GET EMoney method now supports year and month parameters. More info on our [docs](https://docs.mangopay.com/endpoints/v2.01/user-emoney#e895_view-a-users-emoney)
629
+
630
+ ## [v3.0.32] - 2019-06-19
631
+ ### Added
632
+ - New UBO Declaration system (more info [here](https://docs.mangopay.com/endpoints/v2.01/ubo-declarations#e1024_the-ubo-declaration-object))
633
+ ### Changed
634
+ - Paypal buyer account email that has been used is now available for Payin Paypal
635
+ - Your `HeadquartersPhoneNumber` can now be updated for your client account directly from our API
636
+ ### BREAKING
637
+ - `APIKey` is now replacing `passphrase` property for credentials. You must update it by updating to 3.0.32 SDK version and upper ones.
638
+
639
+
640
+
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "https://rubygems.org"
2
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2013 Mangopay
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.