Mollie Payments for WooCommerce - Version 2.7.0

Version Description

  • 07/09/2017 =

  • New - Support for gift cards! See: https://www.mollie.com/en/blog/post/mollie-launches-gift-cards/

  • New - Also show issuers (banks) for KBC payment method

  • Fix - Add better support for WooCommerce Deposits (by Webtomizer)

  • Fix - Subscriptions would be set to 'On Hold' during SEPA Direct Debit payments, those subscriptions are now set to 'Active'

  • Fix - Multiple issues that occurred when users had multiple (unpaid) payments per order

  • Fix - Remove SEPA Direct Debit (only used for Mollie recurring) as visible gateway in checkout and settings

  • Fix - Tested with WordPress 4.9 Alpha and WooCommerce 3.1

  • Fix - Remove existing language files from plugin so they can be managed via https://translate.wordpress.org/projects/wp-plugins/mollie-payments-for-woocommerce

  • Fix - Use better customer name when name is sent to Mollie (use full name and last name if available)

  • Fix - Don't update orders to cancelled status for expired payments if there are still pending payments for same order

  • Fix - Show correct return page to customer when they have placed multiple payments for single order

  • Fix - For subscription renewal orders, update payment method (from iDEAL, Belfius etc) to SEPA Direct Debit when needed

  • Fix - Add message that SEPA Direct Debit is required when using WooCommerce Subscriptions with iDEAL

  • Dev - Stop checking change of payment methods with isValidPaymentMethod

  • Dev - Add support for new WooCommerce version check

  • Dev - In setActiveMolliePayment use update_post_meta so payment is always updated to latest

  • Dev - In unsetActiveMolliePayment, a payment calling that function should only be able to unset itself

  • Dev - Improve log messages (WooCommerce > System status > Logs > mollie-payments-for-woocommerce)

  • Dev - Security improvement: sanitize getting ID's via POST and use $POST instead of $REQUEST

  • Dev - Only show "Check Subscription Status" tool if WooCommerce Subscriptions is installed

  • Dev - Fix PHP warnings about unserialize() by using serialize() before storing object as transient

  • Dev - Move load_plugin_textdomain to own function and load on plugins_loaded action

Download this release

Release Info

Developer davdebcom
Plugin Icon wp plugin Mollie Payments for WooCommerce
Version 2.7.0
Comparing to
See all releases

Code changes from version 2.6.0 to 2.7.0

Files changed (51) hide show
  1. assets/images/fashioncheque.png +0 -0
  2. assets/images/fashioncheque@2x.png +0 -0
  3. assets/images/giftcard.png +0 -0
  4. assets/images/giftcard@2x.png +0 -0
  5. assets/images/nationaleentertainmentcard.png +0 -0
  6. assets/images/nationaleentertainmentcard@2x.png +0 -0
  7. assets/images/vvvgiftcard.png +0 -0
  8. assets/images/vvvgiftcard@2x.png +0 -0
  9. assets/images/webshopgiftcard.png +0 -0
  10. assets/images/webshopgiftcard@2x.png +0 -0
  11. assets/images/yourgift.png +0 -0
  12. assets/images/yourgift@2x.png +0 -0
  13. i18n/languages/mollie-payments-for-woocommerce-de_DE.mo +0 -0
  14. i18n/languages/mollie-payments-for-woocommerce-de_DE.po +0 -662
  15. i18n/languages/mollie-payments-for-woocommerce-fr_FR.mo +0 -0
  16. i18n/languages/mollie-payments-for-woocommerce-fr_FR.po +0 -668
  17. i18n/languages/mollie-payments-for-woocommerce-nl_NL.mo +0 -0
  18. i18n/languages/mollie-payments-for-woocommerce-nl_NL.po +0 -678
  19. i18n/languages/mollie-payments-for-woocommerce.pot +0 -580
  20. includes/mollie-api-php/build.xml +0 -96
  21. includes/mollie-api-php/build/.gitignore +0 -3
  22. includes/mollie-api-php/composer.json +3 -2
  23. includes/mollie-api-php/examples/22-create-mandate-subscription.php +6 -7
  24. includes/mollie-api-php/phpunit.xml +11 -15
  25. includes/mollie-api-php/src/Mollie/API/Object/Method.php +22 -1
  26. includes/mollie-api-php/src/Mollie/API/Object/Payment.php +10 -0
  27. includes/mollie-api-php/src/Mollie/API/Object/Payment/Refund.php +16 -1
  28. includes/mollie-api-php/tests/Mollie/API/Object/PaymentTest.php +20 -1
  29. includes/mollie-api-php/tests/bootstrap.php +0 -5
  30. includes/mollie/wc/gateway/abstract.php +133 -68
  31. includes/mollie/wc/gateway/abstractseparecurring.php +0 -19
  32. includes/mollie/wc/gateway/abstractsubscription.php +105 -8
  33. includes/mollie/wc/gateway/banktransfer.php +7 -0
  34. includes/mollie/wc/gateway/belfius.php +7 -0
  35. includes/mollie/wc/gateway/bitcoin.php +7 -0
  36. includes/mollie/wc/gateway/creditcard.php +8 -1
  37. includes/mollie/wc/gateway/directdebit.php +39 -25
  38. includes/mollie/wc/gateway/giftcard.php +110 -0
  39. includes/mollie/wc/gateway/ideal.php +9 -2
  40. includes/mollie/wc/gateway/kbc.php +60 -2
  41. includes/mollie/wc/gateway/mistercash.php +8 -1
  42. includes/mollie/wc/gateway/paypal.php +8 -1
  43. includes/mollie/wc/gateway/paysafecard.php +8 -1
  44. includes/mollie/wc/gateway/sofort.php +8 -1
  45. includes/mollie/wc/helper/api.php +1 -0
  46. includes/mollie/wc/helper/data.php +137 -35
  47. includes/mollie/wc/helper/settings.php +40 -8
  48. includes/mollie/wc/plugin.php +54 -35
  49. includes/subscriptions_status_check_functions.php +4 -0
  50. mollie-payments-for-woocommerce.php +14 -3
  51. readme.txt +96 -23
assets/images/fashioncheque.png ADDED
Binary file
assets/images/fashioncheque@2x.png ADDED
Binary file
assets/images/giftcard.png ADDED
Binary file
assets/images/giftcard@2x.png ADDED
Binary file
assets/images/nationaleentertainmentcard.png ADDED
Binary file
assets/images/nationaleentertainmentcard@2x.png ADDED
Binary file
assets/images/vvvgiftcard.png ADDED
Binary file
assets/images/vvvgiftcard@2x.png ADDED
Binary file
assets/images/webshopgiftcard.png ADDED
Binary file
assets/images/webshopgiftcard@2x.png ADDED
Binary file
assets/images/yourgift.png ADDED
Binary file
assets/images/yourgift@2x.png ADDED
Binary file
i18n/languages/mollie-payments-for-woocommerce-de_DE.mo DELETED
Binary file
i18n/languages/mollie-payments-for-woocommerce-de_DE.po DELETED
@@ -1,662 +0,0 @@
1
- # Copyright (C) 2015 Mollie Payments for WooCommerce
2
- # This file is distributed under the same license as the Mollie Payments for WooCommerce package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Mollie Payments for WooCommerce 2.0\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mollie-payments-"
7
- "for-woocommerce\n"
8
- "POT-Creation-Date: 2016-10-06 14:33+0200\n"
9
- "PO-Revision-Date: 2016-10-06 15:11+0200\n"
10
- "Last-Translator: Lennard van Gunst <lennard@mollie.com>\n"
11
- "Language-Team: Mollie <info@mollie.com>\n"
12
- "Language: de\n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 1.8.9\n"
17
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
-
19
- #: includes/mollie/wc/gateway/abstract.php:83
20
- msgid "Enable/Disable"
21
- msgstr "Einschalten/Ausschalten"
22
-
23
- #: includes/mollie/wc/gateway/abstract.php:85
24
- msgid "Enable %s"
25
- msgstr "Einschalten %s"
26
-
27
- #: includes/mollie/wc/gateway/abstract.php:89
28
- msgid "Title"
29
- msgstr "Titel"
30
-
31
- #: includes/mollie/wc/gateway/abstract.php:91
32
- msgid ""
33
- "This controls the title which the user sees during checkout. Default <code>"
34
- "%s</code>"
35
- msgstr ""
36
- "Hiermit stellst du den Titel ein, der deinen Kunden beim Check-out angezeigt "
37
- "wird. Standard <code>%s</code>"
38
-
39
- #: includes/mollie/wc/gateway/abstract.php:96
40
- msgid "Display logo"
41
- msgstr "Logo anzeigen"
42
-
43
- #: includes/mollie/wc/gateway/abstract.php:98
44
- msgid "Display logo on checkout page. Default <code>enabled</code>"
45
- msgstr "Logo anzeigen auf der Check-out Seite. Standard <code>aktiviert</code>"
46
-
47
- #: includes/mollie/wc/gateway/abstract.php:102
48
- #: includes/mollie/wc/helper/settings.php:340
49
- msgid "Description"
50
- msgstr "Beschreibung"
51
-
52
- #: includes/mollie/wc/gateway/abstract.php:104
53
- msgid ""
54
- "Payment method description that the customer will see on your checkout. "
55
- "Default <code>%s</code>"
56
- msgstr ""
57
- "Beschreibung der Zahlungsmethode, die deinen Kunden beim Check-out angezeigt "
58
- "wird. Standard <code>%s</code>"
59
-
60
- #: includes/mollie/wc/gateway/abstract.php:113
61
- msgid "Initial order status"
62
- msgstr "Bestellstatus Eingang"
63
-
64
- #: includes/mollie/wc/gateway/abstract.php:116
65
- #: includes/mollie/wc/helper/settings.php:354
66
- msgid "default"
67
- msgstr "Standard"
68
-
69
- #. translators: Placeholder 1: Default order status, placeholder 2: Link to
70
- #. 'Hold Stock' setting
71
- #: includes/mollie/wc/gateway/abstract.php:122
72
- msgid ""
73
- "Some payment methods take longer than a few hours to complete. The initial "
74
- "order state is then set to '%s'. This ensures the order is not cancelled "
75
- "when the setting %s is used."
76
- msgstr ""
77
- "Manche Zahlungsmethoden brauchen länger als ein paar Stunden, um "
78
- "abgeschlossen zu werden. Eingehende Bestellungen bekommen den Status ‘%s’. "
79
- "Hiermit kannst du sicherstellen, dass die Bestellung nicht annulliert wird, "
80
- "wenn %s eingestellt ist."
81
-
82
- #: includes/mollie/wc/gateway/abstract.php:124
83
- msgid "Hold Stock (minutes)"
84
- msgstr "Vorrat bewahren (Minuten)"
85
-
86
- #: includes/mollie/wc/gateway/abstract.php:153
87
- #: includes/mollie/wc/gateway/abstract.php:197
88
- #: includes/mollie/wc/helper/settings.php:197
89
- msgid "Test mode enabled."
90
- msgstr "Testmodus eingeschaltet"
91
-
92
- #: includes/mollie/wc/gateway/abstract.php:174
93
- msgid "Gateway Disabled"
94
- msgstr "Zugang ausgeschaltet"
95
-
96
- #. translators: The surrounding %s's Will be replaced by a link to the global
97
- #. setting page
98
- #: includes/mollie/wc/gateway/abstract.php:199
99
- msgid "No API key provided. Please %sset you Mollie API key%s first."
100
- msgstr ""
101
- "Kein API-Code eingetragen. Bitte %s erst den Mollie API-Code%s eingeben."
102
-
103
- #. translators: Placeholder 1: payment method title. The surrounding %s's Will
104
- #. be replaced by a link to the Mollie profile
105
- #: includes/mollie/wc/gateway/abstract.php:211
106
- msgid ""
107
- "%s not enabled in your Mollie profile. You can enabled it by editing your "
108
- "%sMollie profile%s."
109
- msgstr ""
110
- "%s nicht aktiv in deinem Mollie Profil. Du kannst es einschalten, indem du "
111
- "dein %sMollie Profil%s bearbeitest."
112
-
113
- #. translators: Placeholder 1: WooCommerce currency, placeholder 2: Supported
114
- #. Mollie currencies
115
- #: includes/mollie/wc/gateway/abstract.php:224
116
- msgid "Shop currency %s not supported by Mollie. Mollie only supports: %s."
117
- msgstr ""
118
- "Währung %s des Onlineshops nicht von Mollie unterstützt. Mollie unterstützt "
119
- "nur: %s."
120
-
121
- #: includes/mollie/wc/gateway/abstract.php:291
122
- msgid "Could not load order %s"
123
- msgstr "Bestellung %s konnte nicht geladen werden"
124
-
125
- #: includes/mollie/wc/gateway/abstract.php:386
126
- msgid "Awaiting payment confirmation."
127
- msgstr "Warten auf Zahlungsbestätigung."
128
-
129
- #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID
130
- #: includes/mollie/wc/gateway/abstract.php:391
131
- msgid "%s payment started (%s)."
132
- msgstr "%s Zahlungsvorgang begonnen (%s)."
133
-
134
- #: includes/mollie/wc/gateway/abstract.php:393
135
- #: includes/mollie/wc/gateway/abstract.php:574
136
- #: includes/mollie/wc/gateway/abstract.php:605
137
- #: includes/mollie/wc/gateway/abstract.php:639
138
- #: includes/mollie/wc/gateway/abstract.php:667
139
- msgid "test mode"
140
- msgstr "Testmodus"
141
-
142
- #. translators: Placeholder 1: Payment method title
143
- #: includes/mollie/wc/gateway/abstract.php:411
144
- msgid "Could not create %s payment."
145
- msgstr "Zahlung %s fehlgeschlagen."
146
-
147
- #. translators: Placeholder 1: payment method title, placeholder 2: payment
148
- #. status, placeholder 3: payment ID
149
- #: includes/mollie/wc/gateway/abstract.php:571
150
- msgid "%s payment %s (%s)."
151
- msgstr "%s Zahlung %s (%s)."
152
-
153
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
154
- #: includes/mollie/wc/gateway/abstract.php:603
155
- msgid "Order completed using %s payment (%s)."
156
- msgstr "Bestellung abgeschlossen mit %s Zahlung (%s)."
157
-
158
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
159
- #: includes/mollie/wc/gateway/abstract.php:637
160
- msgid "%s payment cancelled (%s)."
161
- msgstr "%s Zahlung annulliert (%s)."
162
-
163
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
164
- #: includes/mollie/wc/gateway/abstract.php:665
165
- msgid "%s payment expired (%s)."
166
- msgstr "%s Zahlung abgelaufen (%s)."
167
-
168
- #: includes/mollie/wc/gateway/abstract.php:681
169
- msgid ""
170
- "You have cancelled your payment. Please complete your order with a different "
171
- "payment method."
172
- msgstr ""
173
- "Deine Zahlung wurde annulliert. Bitte runde deine Bestellung ab mit einer "
174
- "anderen Zahlungsmethode."
175
-
176
- #. translators: Placeholder 1: currency, placeholder 2: refunded amount,
177
- #. placeholder 3: optional refund reason, placeholder 4: payment ID,
178
- #. placeholder 5: refund ID
179
- #: includes/mollie/wc/gateway/abstract.php:758
180
- msgid "Refunded %s%s (reason: %s) - Payment ID: %s, Refund: %s"
181
- msgstr "Erstattet %s%s (Grund: %s) - Zahlung ID: %s, Erstattung: %s"
182
-
183
- #: includes/mollie/wc/gateway/abstract.php:827
184
- msgid "Payment"
185
- msgstr "Zahlung"
186
-
187
- #: includes/mollie/wc/gateway/abstract.php:848
188
- msgid "We have not received a definite payment status."
189
- msgstr "Wir haben keinen definitiven Zahlungsstatus empfangen."
190
-
191
- #: includes/mollie/wc/gateway/abstract.php:853
192
- msgid ""
193
- "We have not received a definite payment status. You will receive an email as "
194
- "soon as we receive a confirmation of the bank/merchant."
195
- msgstr ""
196
- "Wir haben keinen definitiven Zahlungsstatus empfangen. Sie empfangen eine E-"
197
- "mail, sobald wir die Bestätigung der Bank/des Verkäufers empfangen haben."
198
-
199
- #. translators: Placeholder 1: payment method
200
- #: includes/mollie/wc/gateway/abstract.php:860
201
- msgid "Payment completed with <strong>%s</strong>"
202
- msgstr "Zahlung abgeschlossen mit <strong>%s</strong>"
203
-
204
- #: includes/mollie/wc/gateway/banktransfer.php:32
205
- msgid "Expiry date"
206
- msgstr "Ablaufdatum"
207
-
208
- #: includes/mollie/wc/gateway/banktransfer.php:34
209
- msgid ""
210
- "Number of days after the payment will expire. Default <code>%d</code> days"
211
- msgstr ""
212
- "Anzahl Tage, bis die Zahlung abgelaufen ist. Standard <code>%d</code> Tage"
213
-
214
- #: includes/mollie/wc/gateway/banktransfer.php:43
215
- msgid "Skip Mollie payment screen"
216
- msgstr "Mollie Zahlungsschirm überspringen"
217
-
218
- #: includes/mollie/wc/gateway/banktransfer.php:44
219
- msgid "Skip Mollie payment screen when Bank Transfer is selected"
220
- msgstr ""
221
- "Mollie Zahlungsschirm überspringen, wenn “Banküberweisung” ausgewählt worden "
222
- "ist."
223
-
224
- #: includes/mollie/wc/gateway/banktransfer.php:45
225
- msgid ""
226
- "Enable this option if you want to skip redirecting your user to the Mollie "
227
- "payment screen, instead this will redirect your user directly to the "
228
- "WooCommerce order received page displaying instructions how to complete the "
229
- "Bank Transfer payment."
230
- msgstr ""
231
- "Aktiviere diese Option, wenn du möchtest, dass deine Kunden nicht zum Mollie "
232
- "Zahlungsschirm umgeleitet werden, sondern direkt zu WooCo… "
233
-
234
- #: includes/mollie/wc/gateway/banktransfer.php:50
235
- msgid "Mail payment instructions"
236
- msgstr "Gebrauchsanleitung E-mail Zahlung "
237
-
238
- #. translators: Placeholder 1: enabled or disabled
239
- #: includes/mollie/wc/gateway/banktransfer.php:52
240
- msgid ""
241
- "Should Mollie automatically mail the payment instructions to the customer? "
242
- "Default <code>%s</code>"
243
- msgstr ""
244
- "Soll Mollie den Kunden automatisch eine E-mail mit Zahlungsanweisungen "
245
- "zusenden? Standard <code>%s</code>"
246
-
247
- #: includes/mollie/wc/gateway/banktransfer.php:52
248
- #: includes/mollie/wc/helper/settings.php:191
249
- msgid "Disabled"
250
- msgstr "Ausgeschaltet"
251
-
252
- #: includes/mollie/wc/gateway/banktransfer.php:55
253
- msgid ""
254
- "If you disable this option the customer still has an option to send the "
255
- "payment instructions to an email address on the Mollie payment screen."
256
- msgstr ""
257
- "Wenn diese Option ausgeschaltet ist, haben Kunden immernoch die Option, auf "
258
- "dem Mollie Zahlungsschirm Zahlungsanweisungen über E-mail zu versenden."
259
-
260
- #: includes/mollie/wc/gateway/banktransfer.php:128
261
- msgid "Bank Transfer"
262
- msgstr "Banküberweisung"
263
-
264
- #. translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN,
265
- #. placeholder 3: consumer BIC
266
- #: includes/mollie/wc/gateway/banktransfer.php:171
267
- #: includes/mollie/wc/gateway/directdebit.php:51
268
- #: includes/mollie/wc/gateway/ideal.php:86
269
- #: includes/mollie/wc/gateway/sofort.php:56
270
- msgid "Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)"
271
- msgstr "Zahlung abgeschlossen von <strong>%s</strong> (IBAN: %s, BIC: %s)"
272
-
273
- #: includes/mollie/wc/gateway/banktransfer.php:181
274
- msgid ""
275
- "Please complete your payment by transferring the total amount to the "
276
- "following bank account:"
277
- msgstr ""
278
- "Bitte Zahlung abschließen, um den Gesamtbetrag auf das folgende Konto zu "
279
- "überweisen:"
280
-
281
- #. translators: Placeholder 1: 'Stichting Mollie Payments'
282
- #: includes/mollie/wc/gateway/banktransfer.php:185
283
- msgid "Beneficiary: %s"
284
- msgstr "Begünstigter: %s"
285
-
286
- #: includes/mollie/wc/gateway/banktransfer.php:186
287
- msgid "IBAN: <strong>%s</strong>"
288
- msgstr "IBAN: <strong>%s</strong>"
289
-
290
- #: includes/mollie/wc/gateway/banktransfer.php:187
291
- msgid "BIC: %s"
292
- msgstr "BIC: %s"
293
-
294
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
295
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
296
- #: includes/mollie/wc/gateway/banktransfer.php:192
297
- msgid "Payment reference: %s"
298
- msgstr "Verwendungszweck: %s"
299
-
300
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
301
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
302
- #: includes/mollie/wc/gateway/banktransfer.php:197
303
- msgid "Please provide the payment reference <strong>%s</strong>"
304
- msgstr "Bitte Verwendungszweck angeben <strong>%s</strong>"
305
-
306
- #: includes/mollie/wc/gateway/banktransfer.php:210
307
- msgid "The payment will expire on <strong>%s</strong>."
308
- msgstr "Die Zahlung läuft am <strong>%s</strong> ab."
309
-
310
- #: includes/mollie/wc/gateway/banktransfer.php:217
311
- msgid ""
312
- "The payment will expire on <strong>%s</strong>. Please make sure you "
313
- "transfer the total amount before this date."
314
- msgstr ""
315
- "Die Zahlung läuft ab <strong>%s</strong> ab. Bitte den Gesamtbetrag vor "
316
- "diesem Datum überweisen."
317
-
318
- #: includes/mollie/wc/gateway/belfius.php:30
319
- msgid "Belfius Direct Net"
320
- msgstr "Belfius Direct Net"
321
-
322
- #: includes/mollie/wc/gateway/bitcoin.php:17
323
- msgid "Bitcoin"
324
- msgstr "Bitcoin"
325
-
326
- #: includes/mollie/wc/gateway/creditcard.php:30
327
- msgid "Credit card"
328
- msgstr "Kreditkarte"
329
-
330
- #. translators: Placeholder 1: card holder
331
- #: includes/mollie/wc/gateway/creditcard.php:56
332
- msgid "Payment completed by <strong>%s</strong>"
333
- msgstr "Zahlung abgeschlossen mit <strong>%s</strong>"
334
-
335
- #: includes/mollie/wc/gateway/directdebit.php:17
336
- msgid "SEPA Direct Debit"
337
- msgstr "SEPA-Überweisung"
338
-
339
- #: includes/mollie/wc/gateway/ideal.php:33
340
- msgid "iDEAL"
341
- msgstr "iDEAL"
342
-
343
- #. translators: Default iDEAL description, displayed above issuer drop down
344
- #: includes/mollie/wc/gateway/ideal.php:42
345
- msgid "Select your bank"
346
- msgstr "Bank auswählen"
347
-
348
- #: includes/mollie/wc/gateway/kbc.php:30
349
- msgid "KBC/CBC Payment Button"
350
- msgstr "KBC-Zahlknopf"
351
-
352
- #: includes/mollie/wc/gateway/mistercash.php:30
353
- msgid "Bancontact / Mister Cash"
354
- msgstr "Bancontact / Mister Cash"
355
-
356
- #: includes/mollie/wc/gateway/paypal.php:30
357
- msgid "PayPal"
358
- msgstr "PayPal"
359
-
360
- #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal
361
- #. email, placeholder 3: PayPal transaction ID
362
- #: includes/mollie/wc/gateway/paypal.php:56
363
- msgid ""
364
- "Payment completed by <strong>%s</strong> - %s (PayPal transaction ID: %s)"
365
- msgstr ""
366
- "Zahlung von <strong>%s</strong> - %s (PayPal Transaktions-ID: %s) "
367
- "abgeschlossen"
368
-
369
- #: includes/mollie/wc/gateway/paysafecard.php:17
370
- msgid "paysafecard"
371
- msgstr "Paysafecard"
372
-
373
- #: includes/mollie/wc/gateway/sofort.php:30
374
- msgid "SOFORT Banking"
375
- msgstr "SOFORT Banking"
376
-
377
- #: includes/mollie/wc/helper/api.php:35
378
- msgid "No API key provided."
379
- msgstr "Kein API-Code vorhanden!"
380
-
381
- #: includes/mollie/wc/helper/api.php:39
382
- msgid ""
383
- "Invalid API key. The API key must start with 'live_' or 'test_' and can't "
384
- "further contain any special characters."
385
- msgstr ""
386
- "API-Code ungültig. Der API-Code muss mit ‘live_’ oder ‘test_’ beginnen und "
387
- "darf keine Sonderzeichen enthalten."
388
-
389
- #: includes/mollie/wc/helper/data.php:563
390
- msgid "Item #%s stock incremented from %s to %s."
391
- msgstr "Item #%s Vorrat erhöht von %s auf %s."
392
-
393
- #: includes/mollie/wc/helper/settings.php:119
394
- msgid "Error"
395
- msgstr "Fehler"
396
-
397
- #: includes/mollie/wc/helper/settings.php:129
398
- msgid "Mollie status:"
399
- msgstr "Mollie Status:"
400
-
401
- #: includes/mollie/wc/helper/settings.php:130
402
- msgid "Connected"
403
- msgstr "Verbunden"
404
-
405
- #: includes/mollie/wc/helper/settings.php:190
406
- msgid "Gateway enabled"
407
- msgstr "Zugang aktiv"
408
-
409
- #: includes/mollie/wc/helper/settings.php:190
410
- msgid "Enabled"
411
- msgstr "Eingeschaltet"
412
-
413
- #: includes/mollie/wc/helper/settings.php:191
414
- msgid "Gateway disabled"
415
- msgstr "Zugang ausgeschaltet"
416
-
417
- #. translators: The surrounding %s's Will be replaced by a link to the Mollie
418
- #. profile
419
- #: includes/mollie/wc/helper/settings.php:202
420
- msgid "The following payment methods are activated in your %sMollie profile%s:"
421
- msgstr "Folgende Zahlungsmethoden sind für Ihr %sMollie Profil%s aktiviert."
422
-
423
- #: includes/mollie/wc/helper/settings.php:212
424
- msgid "Refresh"
425
- msgstr "Aktualisieren"
426
-
427
- #: includes/mollie/wc/helper/settings.php:236
428
- msgid "Edit"
429
- msgstr "Bearbeiten"
430
-
431
- #. translators: Default payment description. {order_number} and {order_date}
432
- #. are available tags.
433
- #: includes/mollie/wc/helper/settings.php:267
434
- msgid "Order {order_number}"
435
- msgstr "Bestellung {order_number}"
436
-
437
- #: includes/mollie/wc/helper/settings.php:270
438
- msgid "Log plugin events."
439
- msgstr "Plug-in Fehlermeldungen aufzeichnen."
440
-
441
- #: includes/mollie/wc/helper/settings.php:275
442
- msgid "View logs"
443
- msgstr "Protokoll anzeigen"
444
-
445
- #. translators: Placeholder 1: Location of the log files
446
- #: includes/mollie/wc/helper/settings.php:281
447
- msgid "Log files are saved to <code>%s</code>"
448
- msgstr "Protokolldateien werden gespeichert in <code>%s</code>"
449
-
450
- #: includes/mollie/wc/helper/settings.php:288 includes/mollie/wc/plugin.php:281
451
- msgid "Mollie settings"
452
- msgstr "Mollie Einstellungen"
453
-
454
- #: includes/mollie/wc/helper/settings.php:291
455
- msgid ""
456
- "The following options are required to use the plugin and are used by all "
457
- "Mollie payment methods"
458
- msgstr ""
459
- "Die folgenden Optionen sind nötig, um das Plug-in zu verwenden und werden "
460
- "von allen Mollie Zahlungsmethoden genutzt"
461
-
462
- #: includes/mollie/wc/helper/settings.php:295
463
- msgid "Live API key"
464
- msgstr "Live API-Code"
465
-
466
- #. translators: Placeholder 1: API key mode (live or test). The surrounding
467
- #. %s's Will be replaced by a link to the Mollie profile
468
- #: includes/mollie/wc/helper/settings.php:300
469
- #: includes/mollie/wc/helper/settings.php:326
470
- msgid ""
471
- "The API key is used to connect to Mollie. You can find your <strong>%s</"
472
- "strong> API key in your %sMollie profile%s"
473
- msgstr ""
474
- "Der API-Code ist nötig, um dich mit Mollie zu verbinden. Du findest deinen "
475
- "Code unter <strong>%s</strong> API-Code in deinem %sMollie Profil%s"
476
-
477
- #: includes/mollie/wc/helper/settings.php:306
478
- msgid "Live API key should start with live_"
479
- msgstr "Der Live API-Code muss mit live_ beginnen"
480
-
481
- #: includes/mollie/wc/helper/settings.php:314
482
- msgid "Enable test mode"
483
- msgstr "Testmodus einschalten"
484
-
485
- #: includes/mollie/wc/helper/settings.php:317
486
- msgid ""
487
- "Enable test mode if you want to test the plugin without using real payments."
488
- msgstr ""
489
- "Schalte den Testmodus ein, wenn du das Plug-in gerne ohne echten "
490
- "Zahlungsverkehr testen möchtest."
491
-
492
- #: includes/mollie/wc/helper/settings.php:321
493
- msgid "Test API key"
494
- msgstr "Test API-Code"
495
-
496
- #: includes/mollie/wc/helper/settings.php:332
497
- msgid "Test API key should start with test_"
498
- msgstr "Der Test API-Code muss mit test_ beginnen"
499
-
500
- #. translators: Placeholder 1: Default payment description, placeholder 2: list
501
- #. of available tags
502
- #: includes/mollie/wc/helper/settings.php:343
503
- msgid ""
504
- "Payment description send to Mollie. Default <code>%s</code><br/>You can use "
505
- "the following tags: %s"
506
- msgstr ""
507
- "Zahlungsbeschreibung wurde an Mollie versonden. Standard <code>%s</code><br/"
508
- ">Du kannst folgende Tags verwenden: %s"
509
-
510
- #: includes/mollie/wc/helper/settings.php:349
511
- msgid "Payment screen language"
512
- msgstr "Zahlungsschirm Sprache"
513
-
514
- #: includes/mollie/wc/helper/settings.php:352
515
- msgid "Detect using browser language"
516
- msgstr "Automatisch Sprache des Internetbrowsers detektieren"
517
-
518
- #. translators: Placeholder 1: Current WordPress locale
519
- #: includes/mollie/wc/helper/settings.php:354
520
- msgid "Send WordPress language (%s)"
521
- msgstr "WordPress Sprache (%s) versenden"
522
-
523
- #: includes/mollie/wc/helper/settings.php:355
524
- msgid "Dutch"
525
- msgstr "Niederländisch"
526
-
527
- #: includes/mollie/wc/helper/settings.php:356
528
- msgid "Flemish (Belgium)"
529
- msgstr "Flämisch (Belgien)"
530
-
531
- #: includes/mollie/wc/helper/settings.php:357
532
- msgid "English"
533
- msgstr "Englisch"
534
-
535
- #: includes/mollie/wc/helper/settings.php:358
536
- msgid "German"
537
- msgstr "Deutsch"
538
-
539
- #: includes/mollie/wc/helper/settings.php:359
540
- msgid "Spanish"
541
- msgstr "Spanisch"
542
-
543
- #: includes/mollie/wc/helper/settings.php:360
544
- msgid "French"
545
- msgstr "Französisch"
546
-
547
- #: includes/mollie/wc/helper/settings.php:361
548
- msgid "French (Belgium)"
549
- msgstr "Französisch (Belgien)"
550
-
551
- #: includes/mollie/wc/helper/settings.php:367
552
- msgid "Debug Log"
553
- msgstr "Fehlerprotokoll"
554
-
555
- #. translators: Placeholder 1: Plugin name, placeholder 2: required WooCommerce
556
- #. version, placeholder 3: used WooCommerce version
557
- #: includes/mollie/wc/helper/status.php:53
558
- msgid ""
559
- "The %s plugin requires at least WooCommerce version %s, you are using "
560
- "version %s. Please update your WooCommerce plugin."
561
- msgstr ""
562
- "Für die Nutzung des %s Plug-ins brauchst du die WooCommerce Version %s oder "
563
- "höher, momentan ist Version %s installiert. Bitte lade die neueste Version "
564
- "von WooCommerce Plug-in herunter."
565
-
566
- #: includes/mollie/wc/helper/status.php:64
567
- msgid ""
568
- "Mollie API client not installed. Please make sure the plugin is installed "
569
- "correctly."
570
- msgstr ""
571
- "Mollie API Client ist nicht installiert. Bitte kontrolliere, ob das Plug-in "
572
- "richtig installiert ist."
573
-
574
- #. translators: Placeholder 1: Required PHP version, placeholder 2: current PHP
575
- #. version
576
- #: includes/mollie/wc/helper/status.php:82
577
- msgid "The client requires PHP version >= %s, you have %s."
578
- msgstr "Der Client erfordert PHP Version >= %s, die aktuelle Version ist %s."
579
-
580
- #: includes/mollie/wc/helper/status.php:89
581
- msgid ""
582
- "The Mollie API client requires the PHP extension JSON to be enabled. Please "
583
- "enable the 'json' extension in your PHP configuration."
584
- msgstr ""
585
- "Für den Mollie API Client muss die PHP Erweiterung JSON aktiv sein. Bitte "
586
- "aktiviere die Erweiterung ’json’ in deiner PHP Konfiguration."
587
-
588
- #: includes/mollie/wc/helper/status.php:93
589
- msgid ""
590
- "The Mollie API client requires the PHP extension cURL to be enabled. Please "
591
- "enable the 'curl' extension in your PHP configuration."
592
- msgstr ""
593
- "Für den Mollie API Client muss die PHP Erweiterung cURL aktiv sein. Bitte "
594
- "aktiviere die Erweiterung ’curl’ in deiner PHP Konfiguration."
595
-
596
- #. translators: Placeholder 1: The required cURL function names
597
- #: includes/mollie/wc/helper/status.php:99
598
- msgid ""
599
- "The Mollie API client requires the following PHP cURL functions to be "
600
- "available: %s. Please make sure all of these functions are available."
601
- msgstr ""
602
- "Für den Mollie API Client müssen die folgenden PHP cURL Funktionen verfügbar "
603
- "sein: %s. Bitte vergewissere dich, dass alle Funktionen verfügbar sind."
604
-
605
- #: includes/mollie/wc/plugin.php:288
606
- msgid "Logs"
607
- msgstr "Protokolle"
608
-
609
- #: mollie-payments-for-woocommerce.php:49
610
- msgid "Could not activate plugin %s"
611
- msgstr "Plug-in %s konnte nicht aktiviert werden"
612
-
613
- #: mollie-payments-for-woocommerce.php:93
614
- msgid "%s deactivated because it depends on WooCommerce."
615
- msgstr "%s deaktiviert, weil es von WooCommerce abhängig ist."
616
-
617
- #. Plugin Name of the plugin/theme
618
- msgid "Mollie Payments for WooCommerce"
619
- msgstr "Mollie Zahlungen für WooCommerce"
620
-
621
- #. Plugin URI of the plugin/theme
622
- msgid "https://github.com/mollie/WooCommerce"
623
- msgstr "https://github.com/mollie/WooCommerce"
624
-
625
- #. Description of the plugin/theme
626
- msgid "Accept payments in WooCommerce with the official Mollie plugin"
627
- msgstr "Akzeptieren von Zahlungen in WooCommerce mit dem offiziellen Plug-in"
628
-
629
- #. Author of the plugin/theme
630
- msgid "Mollie"
631
- msgstr "Mollie"
632
-
633
- #. Author URI of the plugin/theme
634
- msgid "https://www.mollie.com"
635
- msgstr "https://www.mollie.com"
636
-
637
- #~ msgid ""
638
- #~ "This payment method is not supported by this plugin. Please check if "
639
- #~ "there is an update available."
640
- #~ msgstr ""
641
- #~ "Diese Zahlungsmethode wird nicht unterstützt durch diese Plug-in. Bitte "
642
- #~ "kontrolliere Sie ob eine Auffüllung verfügbar ist."
643
-
644
- #~ msgid "Not supported"
645
- #~ msgstr "Nicht unterstützt"
646
-
647
- #~ msgid ""
648
- #~ "No active Mollie payment methods found. Please check your Mollie profile "
649
- #~ "which payment methods are activated."
650
- #~ msgstr ""
651
- #~ "Keine aktiven Mollie Zahlungsmethode gefunden. Bitte kontrolliere Sie "
652
- #~ "Ihres Mollie Profil welche Zahlungsmethode aktiviert sind."
653
-
654
- #~ msgid "Order %"
655
- #~ msgstr "Bestellung %"
656
-
657
- #~ msgid "Log plugin events. <a href=\"%s\">View logs</a>"
658
- #~ msgstr ""
659
- #~ "Wiedergeben der Fehler in den Plug-in. <a href=\"%s\">Sehen Logbuch</a>"
660
-
661
- #~ msgid "https://www.mollie.com/"
662
- #~ msgstr "https://www.mollie.com/"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
i18n/languages/mollie-payments-for-woocommerce-fr_FR.mo DELETED
Binary file
i18n/languages/mollie-payments-for-woocommerce-fr_FR.po DELETED
@@ -1,668 +0,0 @@
1
- # Copyright (C) 2015 Mollie Payments for WooCommerce
2
- # This file is distributed under the same license as the Mollie Payments for WooCommerce package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Mollie Payments for WooCommerce 2.0\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mollie-payments-"
7
- "for-woocommerce\n"
8
- "POT-Creation-Date: 2016-10-06 14:31+0200\n"
9
- "PO-Revision-Date: 2016-10-06 15:12+0200\n"
10
- "Last-Translator: Lennard van Gunst <lennard@mollie.com>\n"
11
- "Language-Team: Mollie <info@mollie.com>\n"
12
- "Language: fr\n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 1.8.9\n"
17
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
18
-
19
- #: includes/mollie/wc/gateway/abstract.php:83
20
- msgid "Enable/Disable"
21
- msgstr "Activer/Désactiver"
22
-
23
- #: includes/mollie/wc/gateway/abstract.php:85
24
- msgid "Enable %s"
25
- msgstr "Activer %s"
26
-
27
- #: includes/mollie/wc/gateway/abstract.php:89
28
- msgid "Title"
29
- msgstr "Titre"
30
-
31
- #: includes/mollie/wc/gateway/abstract.php:91
32
- msgid ""
33
- "This controls the title which the user sees during checkout. Default <code>"
34
- "%s</code>"
35
- msgstr ""
36
- "Ceci contrôle le titre que l’utilisateur voit lors du la commande. Default "
37
- "<code>%s</code>"
38
-
39
- #: includes/mollie/wc/gateway/abstract.php:96
40
- msgid "Display logo"
41
- msgstr "Afficher le logo"
42
-
43
- #: includes/mollie/wc/gateway/abstract.php:98
44
- msgid "Display logo on checkout page. Default <code>enabled</code>"
45
- msgstr "Affichage logo sur la page de commande. Default <code>activé</code>"
46
-
47
- #: includes/mollie/wc/gateway/abstract.php:102
48
- #: includes/mollie/wc/helper/settings.php:340
49
- msgid "Description"
50
- msgstr "Description"
51
-
52
- #: includes/mollie/wc/gateway/abstract.php:104
53
- msgid ""
54
- "Payment method description that the customer will see on your checkout. "
55
- "Default <code>%s</code>"
56
- msgstr ""
57
- "Méthode de paiement description que le client vera lors du passage de la "
58
- "commande. Default <code>%s</code>"
59
-
60
- #: includes/mollie/wc/gateway/abstract.php:113
61
- msgid "Initial order status"
62
- msgstr "Etat de la commande initiale"
63
-
64
- #: includes/mollie/wc/gateway/abstract.php:116
65
- #: includes/mollie/wc/helper/settings.php:354
66
- msgid "default"
67
- msgstr "défaut"
68
-
69
- #. translators: Placeholder 1: Default order status, placeholder 2: Link to
70
- #. 'Hold Stock' setting
71
- #: includes/mollie/wc/gateway/abstract.php:122
72
- msgid ""
73
- "Some payment methods take longer than a few hours to complete. The initial "
74
- "order state is then set to '%s'. This ensures the order is not cancelled "
75
- "when the setting %s is used."
76
- msgstr ""
77
-
78
- #: includes/mollie/wc/gateway/abstract.php:124
79
- msgid "Hold Stock (minutes)"
80
- msgstr ""
81
-
82
- #: includes/mollie/wc/gateway/abstract.php:153
83
- #: includes/mollie/wc/gateway/abstract.php:197
84
- #: includes/mollie/wc/helper/settings.php:197
85
- msgid "Test mode enabled."
86
- msgstr "Mode de test activé."
87
-
88
- #: includes/mollie/wc/gateway/abstract.php:174
89
- msgid "Gateway Disabled"
90
- msgstr "Passerelle désactivée"
91
-
92
- #. translators: The surrounding %s's Will be replaced by a link to the global
93
- #. setting page
94
- #: includes/mollie/wc/gateway/abstract.php:199
95
- msgid "No API key provided. Please %sset you Mollie API key%s first."
96
- msgstr ""
97
- "Pas de API key fournie. S'il vous plaît %sset vous Mollie API key%s en "
98
- "premier."
99
-
100
- #. translators: Placeholder 1: payment method title. The surrounding %s's Will
101
- #. be replaced by a link to the Mollie profile
102
- #: includes/mollie/wc/gateway/abstract.php:211
103
- msgid ""
104
- "%s not enabled in your Mollie profile. You can enabled it by editing your "
105
- "%sMollie profile%s."
106
- msgstr ""
107
- "%s pas activé dans votre Mollie profil . Vous pouvez lui a permis en éditant "
108
- "votre %sMollie profile%s."
109
-
110
- #. translators: Placeholder 1: WooCommerce currency, placeholder 2: Supported
111
- #. Mollie currencies
112
- #: includes/mollie/wc/gateway/abstract.php:224
113
- msgid "Shop currency %s not supported by Mollie. Mollie only supports: %s."
114
- msgstr ""
115
- "monnaie de la boutique %s n’est pas supporté par Mollie . Mollie seuls "
116
- "supports: %s"
117
-
118
- #: includes/mollie/wc/gateway/abstract.php:291
119
- msgid "Could not load order %s"
120
- msgstr "pourrait pas charger ordre %s"
121
-
122
- #: includes/mollie/wc/gateway/abstract.php:386
123
- msgid "Awaiting payment confirmation."
124
- msgstr "En attente de la confirmation de paiement."
125
-
126
- #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID
127
- #: includes/mollie/wc/gateway/abstract.php:391
128
- msgid "%s payment started (%s)."
129
- msgstr "%s paiement a commencé (%s)."
130
-
131
- #: includes/mollie/wc/gateway/abstract.php:393
132
- #: includes/mollie/wc/gateway/abstract.php:574
133
- #: includes/mollie/wc/gateway/abstract.php:605
134
- #: includes/mollie/wc/gateway/abstract.php:639
135
- #: includes/mollie/wc/gateway/abstract.php:667
136
- msgid "test mode"
137
- msgstr "mode test"
138
-
139
- #. translators: Placeholder 1: Payment method title
140
- #: includes/mollie/wc/gateway/abstract.php:411
141
- msgid "Could not create %s payment."
142
- msgstr "Impossible de créer %s paiement."
143
-
144
- #. translators: Placeholder 1: payment method title, placeholder 2: payment
145
- #. status, placeholder 3: payment ID
146
- #: includes/mollie/wc/gateway/abstract.php:571
147
- msgid "%s payment %s (%s)."
148
- msgstr "%s paiement %s (%s)."
149
-
150
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
151
- #: includes/mollie/wc/gateway/abstract.php:603
152
- msgid "Order completed using %s payment (%s)."
153
- msgstr "ordre terminé en utilisant %s paiement (%s)"
154
-
155
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
156
- #: includes/mollie/wc/gateway/abstract.php:637
157
- msgid "%s payment cancelled (%s)."
158
- msgstr "%s paiement annulé (%s)."
159
-
160
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
161
- #: includes/mollie/wc/gateway/abstract.php:665
162
- msgid "%s payment expired (%s)."
163
- msgstr "%s paiement expiré (%s)."
164
-
165
- #: includes/mollie/wc/gateway/abstract.php:681
166
- msgid ""
167
- "You have cancelled your payment. Please complete your order with a different "
168
- "payment method."
169
- msgstr ""
170
- "Vous avez annulé votre paiement . S'il vous plaît compléter votre commande "
171
- "avec un autre méthode de paiement."
172
-
173
- #. translators: Placeholder 1: currency, placeholder 2: refunded amount,
174
- #. placeholder 3: optional refund reason, placeholder 4: payment ID,
175
- #. placeholder 5: refund ID
176
- #: includes/mollie/wc/gateway/abstract.php:758
177
- msgid "Refunded %s%s (reason: %s) - Payment ID: %s, Refund: %s"
178
- msgstr "remboursé %s%s (raison: %s) - Paiement ID: %s, Rembourse: %s"
179
-
180
- #: includes/mollie/wc/gateway/abstract.php:827
181
- msgid "Payment"
182
- msgstr "paiement"
183
-
184
- #: includes/mollie/wc/gateway/abstract.php:848
185
- msgid "We have not received a definite payment status."
186
- msgstr "Nous avons pas reçu un statut de paiement définitif."
187
-
188
- #: includes/mollie/wc/gateway/abstract.php:853
189
- msgid ""
190
- "We have not received a definite payment status. You will receive an email as "
191
- "soon as we receive a confirmation of the bank/merchant."
192
- msgstr ""
193
- "Nous avons pas reçu un statut de paiement définitif. Vous recevrez un email "
194
- "dès que nous recevrons une confirmation de la banque /merchant"
195
-
196
- #. translators: Placeholder 1: payment method
197
- #: includes/mollie/wc/gateway/abstract.php:860
198
- msgid "Payment completed with <strong>%s</strong>"
199
- msgstr "Paiement complété par <strong>%s</strong>"
200
-
201
- #: includes/mollie/wc/gateway/banktransfer.php:32
202
- msgid "Expiry date"
203
- msgstr "date d'expiration"
204
-
205
- #: includes/mollie/wc/gateway/banktransfer.php:34
206
- msgid ""
207
- "Number of days after the payment will expire. Default <code>%d</code> days"
208
- msgstr ""
209
- "Nombre de jours après le paiement expirera. Default <code>%d</code> jours"
210
-
211
- #: includes/mollie/wc/gateway/banktransfer.php:43
212
- msgid "Skip Mollie payment screen"
213
- msgstr ""
214
-
215
- #: includes/mollie/wc/gateway/banktransfer.php:44
216
- msgid "Skip Mollie payment screen when Bank Transfer is selected"
217
- msgstr ""
218
-
219
- #: includes/mollie/wc/gateway/banktransfer.php:45
220
- msgid ""
221
- "Enable this option if you want to skip redirecting your user to the Mollie "
222
- "payment screen, instead this will redirect your user directly to the "
223
- "WooCommerce order received page displaying instructions how to complete the "
224
- "Bank Transfer payment."
225
- msgstr ""
226
-
227
- #: includes/mollie/wc/gateway/banktransfer.php:50
228
- msgid "Mail payment instructions"
229
- msgstr "Les instructions de paiement par mail "
230
-
231
- #. translators: Placeholder 1: enabled or disabled
232
- #: includes/mollie/wc/gateway/banktransfer.php:52
233
- msgid ""
234
- "Should Mollie automatically mail the payment instructions to the customer? "
235
- "Default <code>%s</code>"
236
- msgstr ""
237
- "Devrait Mollie automatiquement envoye les instructions de paiement pour le "
238
- "client par mail? Default <code>%s</code>"
239
-
240
- #: includes/mollie/wc/gateway/banktransfer.php:52
241
- #: includes/mollie/wc/helper/settings.php:191
242
- msgid "Disabled"
243
- msgstr "Désactivé"
244
-
245
- #: includes/mollie/wc/gateway/banktransfer.php:55
246
- msgid ""
247
- "If you disable this option the customer still has an option to send the "
248
- "payment instructions to an email address on the Mollie payment screen."
249
- msgstr ""
250
- "Si vous désactivez cette option, le client a toujours une option pour "
251
- "envoyer les instructions de paiement à une adresse e-mail sur l'écran de "
252
- "paiement de Mollie."
253
-
254
- #: includes/mollie/wc/gateway/banktransfer.php:128
255
- msgid "Bank Transfer"
256
- msgstr "Transfert Bancaire"
257
-
258
- #. translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN,
259
- #. placeholder 3: consumer BIC
260
- #: includes/mollie/wc/gateway/banktransfer.php:171
261
- #: includes/mollie/wc/gateway/directdebit.php:51
262
- #: includes/mollie/wc/gateway/ideal.php:86
263
- #: includes/mollie/wc/gateway/sofort.php:56
264
- msgid "Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)"
265
- msgstr "ordre terminé par <strong>%s</strong> (IBAN: %s, BIC: %s)"
266
-
267
- #: includes/mollie/wc/gateway/banktransfer.php:181
268
- msgid ""
269
- "Please complete your payment by transferring the total amount to the "
270
- "following bank account:"
271
- msgstr ""
272
- "S'il vous plaît terminé votre paiement par transférer le montant total sur "
273
- "le compte bancaire suivant:"
274
-
275
- #. translators: Placeholder 1: 'Stichting Mollie Payments'
276
- #: includes/mollie/wc/gateway/banktransfer.php:185
277
- msgid "Beneficiary: %s"
278
- msgstr "bénéficiaire: %s"
279
-
280
- #: includes/mollie/wc/gateway/banktransfer.php:186
281
- msgid "IBAN: <strong>%s</strong>"
282
- msgstr "IBAN: <strong>%s</strong>"
283
-
284
- #: includes/mollie/wc/gateway/banktransfer.php:187
285
- msgid "BIC: %s"
286
- msgstr "BIC: %s"
287
-
288
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
289
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
290
- #: includes/mollie/wc/gateway/banktransfer.php:192
291
- msgid "Payment reference: %s"
292
- msgstr "Référence de paiement: %s"
293
-
294
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
295
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
296
- #: includes/mollie/wc/gateway/banktransfer.php:197
297
- msgid "Please provide the payment reference <strong>%s</strong>"
298
- msgstr "S'il vous plaît fournir la référence de paiement <strong>%s</strong>"
299
-
300
- #: includes/mollie/wc/gateway/banktransfer.php:210
301
- msgid "The payment will expire on <strong>%s</strong>."
302
- msgstr "le paiement expirera le <strong>%s</strong>."
303
-
304
- #: includes/mollie/wc/gateway/banktransfer.php:217
305
- msgid ""
306
- "The payment will expire on <strong>%s</strong>. Please make sure you "
307
- "transfer the total amount before this date."
308
- msgstr ""
309
- "le paiement expirera le <strong>%s</strong>. S'il vous plaît faire sûr que "
310
- "vous transférez le montant total avant cette date."
311
-
312
- #: includes/mollie/wc/gateway/belfius.php:30
313
- msgid "Belfius Direct Net"
314
- msgstr "Belfius Direct Net"
315
-
316
- #: includes/mollie/wc/gateway/bitcoin.php:17
317
- msgid "Bitcoin"
318
- msgstr "Bitcoin"
319
-
320
- #: includes/mollie/wc/gateway/creditcard.php:30
321
- msgid "Credit card"
322
- msgstr "Carte de crédit"
323
-
324
- #. translators: Placeholder 1: card holder
325
- #: includes/mollie/wc/gateway/creditcard.php:56
326
- msgid "Payment completed by <strong>%s</strong>"
327
- msgstr "paiement terminé par <strong>%s<strong>"
328
-
329
- #: includes/mollie/wc/gateway/directdebit.php:17
330
- msgid "SEPA Direct Debit"
331
- msgstr "SEPA prélevement automatique"
332
-
333
- #: includes/mollie/wc/gateway/ideal.php:33
334
- msgid "iDEAL"
335
- msgstr "iDEAL"
336
-
337
- #. translators: Default iDEAL description, displayed above issuer drop down
338
- #: includes/mollie/wc/gateway/ideal.php:42
339
- msgid "Select your bank"
340
- msgstr "Sélectionnez votre banque"
341
-
342
- #: includes/mollie/wc/gateway/kbc.php:30
343
- msgid "KBC/CBC Payment Button"
344
- msgstr "Bouton de paiement KBC/CBC"
345
-
346
- #: includes/mollie/wc/gateway/mistercash.php:30
347
- msgid "Bancontact / Mister Cash"
348
- msgstr "Bancontact / Mister Cash"
349
-
350
- #: includes/mollie/wc/gateway/paypal.php:30
351
- msgid "PayPal"
352
- msgstr "Sélectionnez votre banque"
353
-
354
- #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal
355
- #. email, placeholder 3: PayPal transaction ID
356
- #: includes/mollie/wc/gateway/paypal.php:56
357
- msgid ""
358
- "Payment completed by <strong>%s</strong> - %s (PayPal transaction ID: %s)"
359
- msgstr ""
360
- "paiement terminé par <strong>%s<strong> - %s (PayPal transaction ID: %s)"
361
-
362
- #: includes/mollie/wc/gateway/paysafecard.php:17
363
- msgid "paysafecard"
364
- msgstr "paysafecard"
365
-
366
- #: includes/mollie/wc/gateway/sofort.php:30
367
- msgid "SOFORT Banking"
368
- msgstr "SOFORT Banking"
369
-
370
- #: includes/mollie/wc/helper/api.php:35
371
- msgid "No API key provided."
372
- msgstr "Pas de API key fournie "
373
-
374
- #: includes/mollie/wc/helper/api.php:39
375
- msgid ""
376
- "Invalid API key. The API key must start with 'live_' or 'test_' and can't "
377
- "further contain any special characters."
378
- msgstr ""
379
- "API key invalide. Le API key doit commencer par 'Live_' ou 'test_' et ne "
380
- "peut pas contenir plus de caractères spéciaux."
381
-
382
- #: includes/mollie/wc/helper/data.php:563
383
- msgid "Item #%s stock incremented from %s to %s."
384
- msgstr "Article #s% stocks a augumenté à %s par %s."
385
-
386
- #: includes/mollie/wc/helper/settings.php:119
387
- msgid "Error"
388
- msgstr "Erreur"
389
-
390
- #: includes/mollie/wc/helper/settings.php:129
391
- msgid "Mollie status:"
392
- msgstr "Mollie état:"
393
-
394
- #: includes/mollie/wc/helper/settings.php:130
395
- msgid "Connected"
396
- msgstr "Connecté"
397
-
398
- #: includes/mollie/wc/helper/settings.php:190
399
- msgid "Gateway enabled"
400
- msgstr "Passerelle activé"
401
-
402
- #: includes/mollie/wc/helper/settings.php:190
403
- msgid "Enabled"
404
- msgstr "Activé"
405
-
406
- #: includes/mollie/wc/helper/settings.php:191
407
- msgid "Gateway disabled"
408
- msgstr "Passerelle désactivé"
409
-
410
- #. translators: The surrounding %s's Will be replaced by a link to the Mollie
411
- #. profile
412
- #: includes/mollie/wc/helper/settings.php:202
413
- msgid "The following payment methods are activated in your %sMollie profile%s:"
414
- msgstr ""
415
- "Les moyens de paiement suivants sont activés en votre %sMollie profile%s:"
416
-
417
- #: includes/mollie/wc/helper/settings.php:212
418
- msgid "Refresh"
419
- msgstr "Rafraîchir"
420
-
421
- #: includes/mollie/wc/helper/settings.php:236
422
- msgid "Edit"
423
- msgstr "éditer"
424
-
425
- #. translators: Default payment description. {order_number} and {order_date}
426
- #. are available tags.
427
- #: includes/mollie/wc/helper/settings.php:267
428
- msgid "Order {order_number}"
429
- msgstr "Ordre {order_number}"
430
-
431
- #: includes/mollie/wc/helper/settings.php:270
432
- msgid "Log plugin events."
433
- msgstr "Log plugin événements."
434
-
435
- #: includes/mollie/wc/helper/settings.php:275
436
- msgid "View logs"
437
- msgstr "Regarde le logs"
438
-
439
- #. translators: Placeholder 1: Location of the log files
440
- #: includes/mollie/wc/helper/settings.php:281
441
- msgid "Log files are saved to <code>%s</code>"
442
- msgstr "Les fichiers journaux sont enregistrés <code>%s</code>"
443
-
444
- #: includes/mollie/wc/helper/settings.php:288 includes/mollie/wc/plugin.php:281
445
- msgid "Mollie settings"
446
- msgstr "Paramètres Mollie"
447
-
448
- #: includes/mollie/wc/helper/settings.php:291
449
- msgid ""
450
- "The following options are required to use the plugin and are used by all "
451
- "Mollie payment methods"
452
- msgstr ""
453
- "Les options suivantes sont requises pour utiliser les paiements de Mollie et "
454
- "sont utilisés par toutes les méthodes paiement de Mollie."
455
-
456
- #: includes/mollie/wc/helper/settings.php:295
457
- msgid "Live API key"
458
- msgstr "Live API key"
459
-
460
- #. translators: Placeholder 1: API key mode (live or test). The surrounding
461
- #. %s's Will be replaced by a link to the Mollie profile
462
- #: includes/mollie/wc/helper/settings.php:300
463
- #: includes/mollie/wc/helper/settings.php:326
464
- msgid ""
465
- "The API key is used to connect to Mollie. You can find your <strong>%s</"
466
- "strong> API key in your %sMollie profile%s"
467
- msgstr ""
468
- "Ce API key est utilisé pour se connecter à Mollie. Vous pouvez trouver votre "
469
- "<strong>%s</strong> API key dans votre %sMollie profil%s"
470
-
471
- #: includes/mollie/wc/helper/settings.php:306
472
- msgid "Live API key should start with live_"
473
- msgstr "Live API key devrait commencer par live_"
474
-
475
- #: includes/mollie/wc/helper/settings.php:314
476
- msgid "Enable test mode"
477
- msgstr "Activé mode de test"
478
-
479
- #: includes/mollie/wc/helper/settings.php:317
480
- msgid ""
481
- "Enable test mode if you want to test the plugin without using real payments."
482
- msgstr ""
483
- "Activé mode de test si vous souhaitez tester le plugin sans utiliser les "
484
- "paiements réels"
485
-
486
- #: includes/mollie/wc/helper/settings.php:321
487
- msgid "Test API key"
488
- msgstr "Test API key"
489
-
490
- #: includes/mollie/wc/helper/settings.php:332
491
- msgid "Test API key should start with test_"
492
- msgstr "Test API key devrait commencer avec test_"
493
-
494
- #. translators: Placeholder 1: Default payment description, placeholder 2: list
495
- #. of available tags
496
- #: includes/mollie/wc/helper/settings.php:343
497
- msgid ""
498
- "Payment description send to Mollie. Default <code>%s</code><br/>You can use "
499
- "the following tags: %s"
500
- msgstr ""
501
- "Paiement Description envoyer à Mollie. Default <code>%s</code><br/>Vous "
502
- "pouvez utiliser les balises suivantes: %s"
503
-
504
- #: includes/mollie/wc/helper/settings.php:349
505
- msgid "Payment screen language"
506
- msgstr "Paiement langue de l'écran"
507
-
508
- #: includes/mollie/wc/helper/settings.php:352
509
- msgid "Detect using browser language"
510
- msgstr "Détecter utilisant la langue du navigateur"
511
-
512
- #. translators: Placeholder 1: Current WordPress locale
513
- #: includes/mollie/wc/helper/settings.php:354
514
- msgid "Send WordPress language (%s)"
515
- msgstr "Envoyer langue WordPress (%s) "
516
-
517
- #: includes/mollie/wc/helper/settings.php:355
518
- msgid "Dutch"
519
- msgstr "Néerlandais"
520
-
521
- #: includes/mollie/wc/helper/settings.php:356
522
- msgid "Flemish (Belgium)"
523
- msgstr "Flamande (Belgique)"
524
-
525
- #: includes/mollie/wc/helper/settings.php:357
526
- msgid "English"
527
- msgstr "Anglais"
528
-
529
- #: includes/mollie/wc/helper/settings.php:358
530
- msgid "German"
531
- msgstr "Allemand"
532
-
533
- #: includes/mollie/wc/helper/settings.php:359
534
- msgid "Spanish"
535
- msgstr "Espagnol "
536
-
537
- #: includes/mollie/wc/helper/settings.php:360
538
- msgid "French"
539
- msgstr "Français"
540
-
541
- #: includes/mollie/wc/helper/settings.php:361
542
- msgid "French (Belgium)"
543
- msgstr "Français (Belgique) "
544
-
545
- #: includes/mollie/wc/helper/settings.php:367
546
- msgid "Debug Log"
547
- msgstr "Debug log"
548
-
549
- #. translators: Placeholder 1: Plugin name, placeholder 2: required WooCommerce
550
- #. version, placeholder 3: used WooCommerce version
551
- #: includes/mollie/wc/helper/status.php:53
552
- msgid ""
553
- "The %s plugin requires at least WooCommerce version %s, you are using "
554
- "version %s. Please update your WooCommerce plugin."
555
- msgstr ""
556
- "Le plugin %s nécessite au moins la version WooCommerce %s, vous utilisez la "
557
- "version %s S'il vous plaît mettre à jour votre plugin WooCommerce."
558
-
559
- #: includes/mollie/wc/helper/status.php:64
560
- msgid ""
561
- "Mollie API client not installed. Please make sure the plugin is installed "
562
- "correctly."
563
- msgstr ""
564
- "Mollie client API pas installé. S'il vous plaît assurez-vous que le plugin "
565
- "est installé correctement."
566
-
567
- #. translators: Placeholder 1: Required PHP version, placeholder 2: current PHP
568
- #. version
569
- #: includes/mollie/wc/helper/status.php:82
570
- msgid "The client requires PHP version >= %s, you have %s."
571
- msgstr "Le client nécessite la version de PHP >= %s, vous avez %s."
572
-
573
- #: includes/mollie/wc/helper/status.php:89
574
- msgid ""
575
- "The Mollie API client requires the PHP extension JSON to be enabled. Please "
576
- "enable the 'json' extension in your PHP configuration."
577
- msgstr ""
578
- "Le client Mollie API nécessite l'extension PHP JSON doit être activé. S'il "
579
- "vous plaît permettre le 'json’ extension dans votre PHP configuration."
580
-
581
- #: includes/mollie/wc/helper/status.php:93
582
- msgid ""
583
- "The Mollie API client requires the PHP extension cURL to be enabled. Please "
584
- "enable the 'curl' extension in your PHP configuration."
585
- msgstr ""
586
- "Le client Mollie API nécessite l'extension PHP cURL doit être activé. S'il "
587
- "vous plaît permettre le ‘curl’ extension dans votre PHP configuration."
588
-
589
- #. translators: Placeholder 1: The required cURL function names
590
- #: includes/mollie/wc/helper/status.php:99
591
- msgid ""
592
- "The Mollie API client requires the following PHP cURL functions to be "
593
- "available: %s. Please make sure all of these functions are available."
594
- msgstr ""
595
- "Le client Mollie API nécessite les fonctions cURL de PHP suivants pour être "
596
- "disponibles: %s. S’il vous plaît assurez-vous que toutes ces fonctions sont "
597
- "disponibles."
598
-
599
- #: includes/mollie/wc/plugin.php:288
600
- msgid "Logs"
601
- msgstr "Logs"
602
-
603
- #: mollie-payments-for-woocommerce.php:49
604
- msgid "Could not activate plugin %s"
605
- msgstr "pourrait pas active plugin %s"
606
-
607
- #: mollie-payments-for-woocommerce.php:93
608
- msgid "%s deactivated because it depends on WooCommerce."
609
- msgstr "%s désactivée car elle dépend de WooCommerce."
610
-
611
- #. Plugin Name of the plugin/theme
612
- msgid "Mollie Payments for WooCommerce"
613
- msgstr "Mollie Payments for WooCommerce"
614
-
615
- #. Plugin URI of the plugin/theme
616
- msgid "https://github.com/mollie/WooCommerce"
617
- msgstr "https://github.com/mollie/WooCommerce"
618
-
619
- #. Description of the plugin/theme
620
- msgid "Accept payments in WooCommerce with the official Mollie plugin"
621
- msgstr "Accepter les paiements en WooCommerce avec le Mollie plugin officiel"
622
-
623
- #. Author of the plugin/theme
624
- msgid "Mollie"
625
- msgstr "Mollie"
626
-
627
- #. Author URI of the plugin/theme
628
- msgid "https://www.mollie.com"
629
- msgstr "https://www.mollie.com"
630
-
631
- #, fuzzy
632
- #~ msgid ""
633
- #~ "Accept payments in WooCommerce with the official Mollie plugin for iDEAL, "
634
- #~ "Credit Card, Bancontact/Mister Cash, Bank Transfer, PayPal, Bitcoin, "
635
- #~ "paysafecard and SOFORT Banking"
636
- #~ msgstr ""
637
- #~ "Accepter les paiements dans WooCommerce avec Mollie iDEAL, Credit Card, "
638
- #~ "Bancontact/Mister Cash, Bank Transfer, PayPal, Bitcoin, paysafecard and "
639
- #~ "SOFORT Banking"
640
-
641
- #~ msgid ""
642
- #~ "This payment method is not supported by this plugin. Please check if "
643
- #~ "there is an update available."
644
- #~ msgstr ""
645
- #~ "Ce mode de paiement est pas pris en charge par ce plugin . S'il vous "
646
- #~ "plaît vérifier si il ya une mise à jour disponible ."
647
-
648
- #~ msgid "Not supported"
649
- #~ msgstr "Non supporté"
650
-
651
- #~ msgid ""
652
- #~ "No active Mollie payment methods found. Please check your Mollie profile "
653
- #~ "which payment methods are activated."
654
- #~ msgstr ""
655
- #~ "Aucune méthode de paiement Mollie actifs trouvés . S'il vous plaît "
656
- #~ "vérifier votre profil Mollie quelles méthodes de paiement sont activées ."
657
-
658
- #~ msgid "Mollie payments for WooCommerce"
659
- #~ msgstr "Mollie paiements pour WooCommerce"
660
-
661
- #~ msgid "Order %"
662
- #~ msgstr "Ordre %"
663
-
664
- #~ msgid "Log plugin events. <a href=\"%s\">View logs</a>"
665
- #~ msgstr "log plugin événements. <a href=\"%s\">regarde le logs</a>"
666
-
667
- #~ msgid "https://www.mollie.com/"
668
- #~ msgstr "https://www.mollie.com/"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
i18n/languages/mollie-payments-for-woocommerce-nl_NL.mo DELETED
Binary file
i18n/languages/mollie-payments-for-woocommerce-nl_NL.po DELETED
@@ -1,678 +0,0 @@
1
- # Copyright (C) 2015 Mollie Payments for WooCommerce
2
- # This file is distributed under the same license as the Mollie Payments for WooCommerce package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Mollie Payments for WooCommerce 2.0\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mollie-payments-"
7
- "for-woocommerce\n"
8
- "POT-Creation-Date: 2016-10-06 15:22+0200\n"
9
- "PO-Revision-Date: 2016-10-06 15:22+0200\n"
10
- "Last-Translator: Lennard van Gunst <lennard@mollie.com>\n"
11
- "Language-Team: Mollie <info@mollie.nl>\n"
12
- "Language: nl\n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
- "X-Generator: Poedit 1.8.9\n"
17
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
- "X-Poedit-Basepath: ../..\n"
19
- "X-Poedit-SearchPath-0: .\n"
20
-
21
- #: includes/mollie/wc/gateway/abstract.php:83
22
- msgid "Enable/Disable"
23
- msgstr "In-/uitschakelen"
24
-
25
- #: includes/mollie/wc/gateway/abstract.php:85
26
- msgid "Enable %s"
27
- msgstr "%s inschakelen"
28
-
29
- #: includes/mollie/wc/gateway/abstract.php:89
30
- msgid "Title"
31
- msgstr "Titel"
32
-
33
- #: includes/mollie/wc/gateway/abstract.php:91
34
- msgid ""
35
- "This controls the title which the user sees during checkout. Default <code>"
36
- "%s</code>"
37
- msgstr ""
38
- "De titel welke de gebruiker ziet in de winkelwagen. Standaard <code>%s</code>"
39
-
40
- #: includes/mollie/wc/gateway/abstract.php:96
41
- msgid "Display logo"
42
- msgstr "Logo weergeven"
43
-
44
- #: includes/mollie/wc/gateway/abstract.php:98
45
- msgid "Display logo on checkout page. Default <code>enabled</code>"
46
- msgstr "Logo weergeven in de winkelwagen. Standaard <code>ingeschakeld</code>"
47
-
48
- #: includes/mollie/wc/gateway/abstract.php:102
49
- #: includes/mollie/wc/helper/settings.php:340
50
- msgid "Description"
51
- msgstr "Omschrijving"
52
-
53
- #: includes/mollie/wc/gateway/abstract.php:104
54
- msgid ""
55
- "Payment method description that the customer will see on your checkout. "
56
- "Default <code>%s</code>"
57
- msgstr ""
58
- "Betaalmethode omschrijving is zichtbaar in de winkelwagen. Standaard <code>"
59
- "%s</code>"
60
-
61
- #: includes/mollie/wc/gateway/abstract.php:113
62
- msgid "Initial order status"
63
- msgstr "Standaard bestelstatus"
64
-
65
- #: includes/mollie/wc/gateway/abstract.php:116
66
- #: includes/mollie/wc/helper/settings.php:354
67
- msgid "default"
68
- msgstr "standaard"
69
-
70
- #. translators: Placeholder 1: Default order status, placeholder 2: Link to
71
- #. 'Hold Stock' setting
72
- #: includes/mollie/wc/gateway/abstract.php:122
73
- msgid ""
74
- "Some payment methods take longer than a few hours to complete. The initial "
75
- "order state is then set to '%s'. This ensures the order is not cancelled "
76
- "when the setting %s is used."
77
- msgstr ""
78
- "Bij sommige betaalmethodes is de betaalstatus pas na een paar dagen bekend. "
79
- "In dat geval wordt de bestelstatus ingesteld op '%s'. Dit voorkomt dat de "
80
- "bestelling per ongeluk geannuleerd wordt door de instelling %s."
81
-
82
- #: includes/mollie/wc/gateway/abstract.php:124
83
- msgid "Hold Stock (minutes)"
84
- msgstr ""
85
-
86
- #: includes/mollie/wc/gateway/abstract.php:153
87
- #: includes/mollie/wc/gateway/abstract.php:197
88
- #: includes/mollie/wc/helper/settings.php:197
89
- msgid "Test mode enabled."
90
- msgstr "Test modus ingeschakeld."
91
-
92
- #: includes/mollie/wc/gateway/abstract.php:174
93
- msgid "Gateway Disabled"
94
- msgstr "Gateway uitgeschakeld"
95
-
96
- #. translators: The surrounding %s's Will be replaced by a link to the global
97
- #. setting page
98
- #: includes/mollie/wc/gateway/abstract.php:199
99
- msgid "No API key provided. Please %sset you Mollie API key%s first."
100
- msgstr "Geen API key ingesteld. %sStel een API key in%s."
101
-
102
- #. translators: Placeholder 1: payment method title. The surrounding %s's Will
103
- #. be replaced by a link to the Mollie profile
104
- #: includes/mollie/wc/gateway/abstract.php:211
105
- msgid ""
106
- "%s not enabled in your Mollie profile. You can enabled it by editing your "
107
- "%sMollie profile%s."
108
- msgstr ""
109
- "%s is niet ingeschakeld in je Mollie profiel. Je kunt de betaalmethode "
110
- "inschakelen in je %sMollie profiel%s."
111
-
112
- #. translators: Placeholder 1: WooCommerce currency, placeholder 2: Supported
113
- #. Mollie currencies
114
- #: includes/mollie/wc/gateway/abstract.php:224
115
- msgid "Shop currency %s not supported by Mollie. Mollie only supports: %s."
116
- msgstr ""
117
- "Winkel valuta %s wordt niet door Mollie ondersteund. Mollie ondersteunt "
118
- "alleen: %s."
119
-
120
- #: includes/mollie/wc/gateway/abstract.php:291
121
- msgid "Could not load order %s"
122
- msgstr "Kan bestelling %s niet laden"
123
-
124
- #: includes/mollie/wc/gateway/abstract.php:386
125
- msgid "Awaiting payment confirmation."
126
- msgstr "In afwachting van betaling bevestiging."
127
-
128
- #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID
129
- #: includes/mollie/wc/gateway/abstract.php:391
130
- msgid "%s payment started (%s)."
131
- msgstr "%s betaling gestart (%s)."
132
-
133
- #: includes/mollie/wc/gateway/abstract.php:393
134
- #: includes/mollie/wc/gateway/abstract.php:574
135
- #: includes/mollie/wc/gateway/abstract.php:605
136
- #: includes/mollie/wc/gateway/abstract.php:639
137
- #: includes/mollie/wc/gateway/abstract.php:667
138
- msgid "test mode"
139
- msgstr "test modus"
140
-
141
- #. translators: Placeholder 1: Payment method title
142
- #: includes/mollie/wc/gateway/abstract.php:411
143
- msgid "Could not create %s payment."
144
- msgstr "Kon geen %s betaling aanmaken."
145
-
146
- #. translators: Placeholder 1: payment method title, placeholder 2: payment
147
- #. status, placeholder 3: payment ID
148
- #: includes/mollie/wc/gateway/abstract.php:571
149
- msgid "%s payment %s (%s)."
150
- msgstr "%s betaling %s (%s)."
151
-
152
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
153
- #: includes/mollie/wc/gateway/abstract.php:603
154
- msgid "Order completed using %s payment (%s)."
155
- msgstr "Bestelling afgerond met %s betaling (%s)."
156
-
157
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
158
- #: includes/mollie/wc/gateway/abstract.php:637
159
- msgid "%s payment cancelled (%s)."
160
- msgstr "%s betaling geannuleerd (%s)."
161
-
162
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
163
- #: includes/mollie/wc/gateway/abstract.php:665
164
- msgid "%s payment expired (%s)."
165
- msgstr "%s betaling verlopen (%s)."
166
-
167
- #: includes/mollie/wc/gateway/abstract.php:681
168
- msgid ""
169
- "You have cancelled your payment. Please complete your order with a different "
170
- "payment method."
171
- msgstr ""
172
- "Je hebt de betaling geannuleerd. U kunt de bestelling afronden met een "
173
- "andere betaalmethode."
174
-
175
- #. translators: Placeholder 1: currency, placeholder 2: refunded amount,
176
- #. placeholder 3: optional refund reason, placeholder 4: payment ID,
177
- #. placeholder 5: refund ID
178
- #: includes/mollie/wc/gateway/abstract.php:758
179
- msgid "Refunded %s%s (reason: %s) - Payment ID: %s, Refund: %s"
180
- msgstr "Terugstorting %s%s (reden: %s) - Payment ID: %s, Refund: %s"
181
-
182
- #: includes/mollie/wc/gateway/abstract.php:827
183
- msgid "Payment"
184
- msgstr "Betaling"
185
-
186
- #: includes/mollie/wc/gateway/abstract.php:848
187
- msgid "We have not received a definite payment status."
188
- msgstr "We hebben nog geen definitieve status van de betaling ontvangen."
189
-
190
- #: includes/mollie/wc/gateway/abstract.php:853
191
- msgid ""
192
- "We have not received a definite payment status. You will receive an email as "
193
- "soon as we receive a confirmation of the bank/merchant."
194
- msgstr ""
195
- "We hebben nog geen definitieve status van de betaling ontvangen. U ontvangt "
196
- "een e-mail zodra wij een bevestiging van de bank ontvangen."
197
-
198
- #. translators: Placeholder 1: payment method
199
- #: includes/mollie/wc/gateway/abstract.php:860
200
- msgid "Payment completed with <strong>%s</strong>"
201
- msgstr "Betaling afgerond met <strong>%s</strong>"
202
-
203
- #: includes/mollie/wc/gateway/banktransfer.php:32
204
- msgid "Expiry date"
205
- msgstr "Verloopdatum"
206
-
207
- #: includes/mollie/wc/gateway/banktransfer.php:34
208
- msgid ""
209
- "Number of days after the payment will expire. Default <code>%d</code> days"
210
- msgstr ""
211
- "Aantal dagen waarna de betaling zal verlopen. Standaard <code>%d</code> dagen"
212
-
213
- #: includes/mollie/wc/gateway/banktransfer.php:43
214
- msgid "Skip Mollie payment screen"
215
- msgstr "Sla Mollie betaalscherm over"
216
-
217
- #: includes/mollie/wc/gateway/banktransfer.php:44
218
- msgid "Skip Mollie payment screen when Bank Transfer is selected"
219
- msgstr "Sla het Mollie betaalscherm over wanneer Overboeking is geselecteerd"
220
-
221
- #: includes/mollie/wc/gateway/banktransfer.php:45
222
- msgid ""
223
- "Enable this option if you want to skip redirecting your user to the Mollie "
224
- "payment screen, instead this will redirect your user directly to the "
225
- "WooCommerce order received page displaying instructions how to complete the "
226
- "Bank Transfer payment."
227
- msgstr ""
228
- "Schakel deze optie in als je je gebruikers niet wilt doorsturen naar het "
229
- "Mollie betaalscherm, maar direct wilt doorsturen naar de WooCommerce "
230
- "bestelling ontvangen-pagina. Op deze pagina worden instructies getoond hoe "
231
- "de Overboeking afgerond moet worden."
232
-
233
- #: includes/mollie/wc/gateway/banktransfer.php:50
234
- msgid "Mail payment instructions"
235
- msgstr "Mail betalingsinstructies"
236
-
237
- #. translators: Placeholder 1: enabled or disabled
238
- #: includes/mollie/wc/gateway/banktransfer.php:52
239
- msgid ""
240
- "Should Mollie automatically mail the payment instructions to the customer? "
241
- "Default <code>%s</code>"
242
- msgstr ""
243
- "Laat Mollie automatisch de betaalinstructies mailen naar de klant. Standaard "
244
- "<code>%s</code>"
245
-
246
- #: includes/mollie/wc/gateway/banktransfer.php:52
247
- #: includes/mollie/wc/helper/settings.php:191
248
- msgid "Disabled"
249
- msgstr "Uitgeschakeld"
250
-
251
- #: includes/mollie/wc/gateway/banktransfer.php:55
252
- msgid ""
253
- "If you disable this option the customer still has an option to send the "
254
- "payment instructions to an email address on the Mollie payment screen."
255
- msgstr ""
256
- "Als je deze instelling uitschakelt kan de klant op het Mollie betaalscherm "
257
- "er zelf nog voor kiezen om de betaalinstructies te versturen naar een e-"
258
- "mailadres."
259
-
260
- #: includes/mollie/wc/gateway/banktransfer.php:128
261
- msgid "Bank Transfer"
262
- msgstr "Overboeking"
263
-
264
- #. translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN,
265
- #. placeholder 3: consumer BIC
266
- #: includes/mollie/wc/gateway/banktransfer.php:171
267
- #: includes/mollie/wc/gateway/directdebit.php:51
268
- #: includes/mollie/wc/gateway/ideal.php:86
269
- #: includes/mollie/wc/gateway/sofort.php:56
270
- msgid "Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)"
271
- msgstr "Betaling afgerond door <strong>%s</strong> (IBAN: %s, BIC: %s)"
272
-
273
- #: includes/mollie/wc/gateway/banktransfer.php:181
274
- msgid ""
275
- "Please complete your payment by transferring the total amount to the "
276
- "following bank account:"
277
- msgstr ""
278
- "Rond de betaling af door het totale bedrag over te boeken naar de volgende "
279
- "rekening:"
280
-
281
- #. translators: Placeholder 1: 'Stichting Mollie Payments'
282
- #: includes/mollie/wc/gateway/banktransfer.php:185
283
- msgid "Beneficiary: %s"
284
- msgstr "Begunstigde: %s"
285
-
286
- #: includes/mollie/wc/gateway/banktransfer.php:186
287
- msgid "IBAN: <strong>%s</strong>"
288
- msgstr "IBAN: <strong>%s</strong>"
289
-
290
- #: includes/mollie/wc/gateway/banktransfer.php:187
291
- msgid "BIC: %s"
292
- msgstr "BIC: %s"
293
-
294
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
295
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
296
- #: includes/mollie/wc/gateway/banktransfer.php:192
297
- msgid "Payment reference: %s"
298
- msgstr "Betalingskenmerk: %s"
299
-
300
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
301
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
302
- #: includes/mollie/wc/gateway/banktransfer.php:197
303
- msgid "Please provide the payment reference <strong>%s</strong>"
304
- msgstr ""
305
- "Gelieve het betalingskenmerk <strong>%s</strong> op te geven bij de "
306
- "overboeking"
307
-
308
- #: includes/mollie/wc/gateway/banktransfer.php:210
309
- msgid "The payment will expire on <strong>%s</strong>."
310
- msgstr "De betaling zal op <strong>%s</strong> verlopen."
311
-
312
- #: includes/mollie/wc/gateway/banktransfer.php:217
313
- msgid ""
314
- "The payment will expire on <strong>%s</strong>. Please make sure you "
315
- "transfer the total amount before this date."
316
- msgstr ""
317
- "De betaling zal op <strong>%s</strong> verlopen. Zorg dat u het totale "
318
- "bedrag voor deze datum heeft overgeboekt."
319
-
320
- #: includes/mollie/wc/gateway/belfius.php:30
321
- msgid "Belfius Direct Net"
322
- msgstr "Belfius Direct Net"
323
-
324
- #: includes/mollie/wc/gateway/bitcoin.php:17
325
- msgid "Bitcoin"
326
- msgstr "Bitcoin"
327
-
328
- #: includes/mollie/wc/gateway/creditcard.php:30
329
- msgid "Credit card"
330
- msgstr "Creditcard"
331
-
332
- #. translators: Placeholder 1: card holder
333
- #: includes/mollie/wc/gateway/creditcard.php:56
334
- msgid "Payment completed by <strong>%s</strong>"
335
- msgstr "Betaling afgerond door <strong>%s</strong>"
336
-
337
- #: includes/mollie/wc/gateway/directdebit.php:17
338
- msgid "SEPA Direct Debit"
339
- msgstr "SEPA-incasso"
340
-
341
- #: includes/mollie/wc/gateway/ideal.php:33
342
- msgid "iDEAL"
343
- msgstr "iDEAL"
344
-
345
- #. translators: Default iDEAL description, displayed above issuer drop down
346
- #: includes/mollie/wc/gateway/ideal.php:42
347
- msgid "Select your bank"
348
- msgstr "Selecteer uw bank"
349
-
350
- #: includes/mollie/wc/gateway/kbc.php:30
351
- msgid "KBC/CBC Payment Button"
352
- msgstr "KBC/CBC Betaalknop"
353
-
354
- #: includes/mollie/wc/gateway/mistercash.php:30
355
- msgid "Bancontact / Mister Cash"
356
- msgstr "Bancontact / Mister Cash"
357
-
358
- #: includes/mollie/wc/gateway/paypal.php:30
359
- msgid "PayPal"
360
- msgstr "PayPal"
361
-
362
- #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal
363
- #. email, placeholder 3: PayPal transaction ID
364
- #: includes/mollie/wc/gateway/paypal.php:56
365
- msgid ""
366
- "Payment completed by <strong>%s</strong> - %s (PayPal transaction ID: %s)"
367
- msgstr ""
368
- "Betaling afgerond door <strong>%s</strong> - %s (PayPal transactie ID: %s)"
369
-
370
- #: includes/mollie/wc/gateway/paysafecard.php:17
371
- msgid "paysafecard"
372
- msgstr "paysafecard"
373
-
374
- #: includes/mollie/wc/gateway/sofort.php:30
375
- msgid "SOFORT Banking"
376
- msgstr "SOFORT Banking"
377
-
378
- #: includes/mollie/wc/helper/api.php:35
379
- msgid "No API key provided."
380
- msgstr "Geen API key ingesteld."
381
-
382
- #: includes/mollie/wc/helper/api.php:39
383
- msgid ""
384
- "Invalid API key. The API key must start with 'live_' or 'test_' and can't "
385
- "further contain any special characters."
386
- msgstr ""
387
- "Ongeldige API key ingesteld. De API key moet beginnen met 'live_’ of 'test_’ "
388
- "en mag verder geen speciale tekens bevatten."
389
-
390
- #: includes/mollie/wc/helper/data.php:563
391
- msgid "Item #%s stock incremented from %s to %s."
392
- msgstr "Artikel #%s voorraad verhoogd van %s naar %s."
393
-
394
- #: includes/mollie/wc/helper/settings.php:119
395
- msgid "Error"
396
- msgstr "Fout"
397
-
398
- #: includes/mollie/wc/helper/settings.php:129
399
- msgid "Mollie status:"
400
- msgstr "Mollie status:"
401
-
402
- #: includes/mollie/wc/helper/settings.php:130
403
- msgid "Connected"
404
- msgstr "Verbonden"
405
-
406
- #: includes/mollie/wc/helper/settings.php:190
407
- msgid "Gateway enabled"
408
- msgstr "Gateway ingeschakeld"
409
-
410
- #: includes/mollie/wc/helper/settings.php:190
411
- msgid "Enabled"
412
- msgstr "Ingeschakeld"
413
-
414
- #: includes/mollie/wc/helper/settings.php:191
415
- msgid "Gateway disabled"
416
- msgstr "Gateway uitgeschakeld"
417
-
418
- #. translators: The surrounding %s's Will be replaced by a link to the Mollie
419
- #. profile
420
- #: includes/mollie/wc/helper/settings.php:202
421
- msgid "The following payment methods are activated in your %sMollie profile%s:"
422
- msgstr "De volgende betaalmethodes zijn ingeschakeld in je %sMollie profiel%s:"
423
-
424
- #: includes/mollie/wc/helper/settings.php:212
425
- msgid "Refresh"
426
- msgstr "Ververs"
427
-
428
- #: includes/mollie/wc/helper/settings.php:236
429
- msgid "Edit"
430
- msgstr "Bewerk"
431
-
432
- #. translators: Default payment description. {order_number} and {order_date}
433
- #. are available tags.
434
- #: includes/mollie/wc/helper/settings.php:267
435
- msgid "Order {order_number}"
436
- msgstr "Bestelling {order_number}"
437
-
438
- #: includes/mollie/wc/helper/settings.php:270
439
- msgid "Log plugin events."
440
- msgstr "Log plugin events."
441
-
442
- #: includes/mollie/wc/helper/settings.php:275
443
- msgid "View logs"
444
- msgstr "Bekijk logboeken"
445
-
446
- #. translators: Placeholder 1: Location of the log files
447
- #: includes/mollie/wc/helper/settings.php:281
448
- msgid "Log files are saved to <code>%s</code>"
449
- msgstr "Logboeken worden opgeslagen in <code>%s</code>"
450
-
451
- #: includes/mollie/wc/helper/settings.php:288 includes/mollie/wc/plugin.php:281
452
- msgid "Mollie settings"
453
- msgstr "Mollie instellingen"
454
-
455
- #: includes/mollie/wc/helper/settings.php:291
456
- msgid ""
457
- "The following options are required to use the plugin and are used by all "
458
- "Mollie payment methods"
459
- msgstr ""
460
- "De volgende instellingen zijn nodig om gebruik te maken van de Mollie plugin."
461
-
462
- #: includes/mollie/wc/helper/settings.php:295
463
- msgid "Live API key"
464
- msgstr "Live API key"
465
-
466
- #. translators: Placeholder 1: API key mode (live or test). The surrounding
467
- #. %s's Will be replaced by a link to the Mollie profile
468
- #: includes/mollie/wc/helper/settings.php:300
469
- #: includes/mollie/wc/helper/settings.php:326
470
- msgid ""
471
- "The API key is used to connect to Mollie. You can find your <strong>%s</"
472
- "strong> API key in your %sMollie profile%s"
473
- msgstr ""
474
- "De API key wordt gebruikt om verbinding te maken met Mollie. Je kan je "
475
- "<strong>%s</strong> API key vinden in je %sMollie profiel%s"
476
-
477
- #: includes/mollie/wc/helper/settings.php:306
478
- msgid "Live API key should start with live_"
479
- msgstr "Live API key moet beginnen met live_"
480
-
481
- #: includes/mollie/wc/helper/settings.php:314
482
- msgid "Enable test mode"
483
- msgstr "Test modus inschakelen"
484
-
485
- #: includes/mollie/wc/helper/settings.php:317
486
- msgid ""
487
- "Enable test mode if you want to test the plugin without using real payments."
488
- msgstr ""
489
- "Schakel de test modus in wanneer u de plugin wilt testen zonder echte "
490
- "betalingen te moeten doen."
491
-
492
- #: includes/mollie/wc/helper/settings.php:321
493
- msgid "Test API key"
494
- msgstr "Test API key"
495
-
496
- #: includes/mollie/wc/helper/settings.php:332
497
- msgid "Test API key should start with test_"
498
- msgstr "Test API key moet beginnen met test_"
499
-
500
- #. translators: Placeholder 1: Default payment description, placeholder 2: list
501
- #. of available tags
502
- #: includes/mollie/wc/helper/settings.php:343
503
- msgid ""
504
- "Payment description send to Mollie. Default <code>%s</code><br/>You can use "
505
- "the following tags: %s"
506
- msgstr ""
507
- "Betaling beschrijving. Standaard <code>%s</code><br/> Je kunt gebruik maken "
508
- "van de volgende tags: %s"
509
-
510
- #: includes/mollie/wc/helper/settings.php:349
511
- msgid "Payment screen language"
512
- msgstr "Taal betaalscherm"
513
-
514
- #: includes/mollie/wc/helper/settings.php:352
515
- msgid "Detect using browser language"
516
- msgstr "Detecteren met behulp van de internet browser taal"
517
-
518
- #. translators: Placeholder 1: Current WordPress locale
519
- #: includes/mollie/wc/helper/settings.php:354
520
- msgid "Send WordPress language (%s)"
521
- msgstr "Stuur de WordPress taal door (%s)"
522
-
523
- #: includes/mollie/wc/helper/settings.php:355
524
- msgid "Dutch"
525
- msgstr "Nederlands"
526
-
527
- #: includes/mollie/wc/helper/settings.php:356
528
- msgid "Flemish (Belgium)"
529
- msgstr "Vlaams (België)"
530
-
531
- #: includes/mollie/wc/helper/settings.php:357
532
- msgid "English"
533
- msgstr "Engels"
534
-
535
- #: includes/mollie/wc/helper/settings.php:358
536
- msgid "German"
537
- msgstr "Duits"
538
-
539
- #: includes/mollie/wc/helper/settings.php:359
540
- msgid "Spanish"
541
- msgstr "Spaans"
542
-
543
- #: includes/mollie/wc/helper/settings.php:360
544
- msgid "French"
545
- msgstr "Frans"
546
-
547
- #: includes/mollie/wc/helper/settings.php:361
548
- msgid "French (Belgium)"
549
- msgstr "Frans (België)"
550
-
551
- #: includes/mollie/wc/helper/settings.php:367
552
- msgid "Debug Log"
553
- msgstr "Debug Log"
554
-
555
- #. translators: Placeholder 1: Plugin name, placeholder 2: required WooCommerce
556
- #. version, placeholder 3: used WooCommerce version
557
- #: includes/mollie/wc/helper/status.php:53
558
- msgid ""
559
- "The %s plugin requires at least WooCommerce version %s, you are using "
560
- "version %s. Please update your WooCommerce plugin."
561
- msgstr ""
562
- "De %s plugin heeft minimaal WooCommerce versie %s nodig, jij gebruikt versie "
563
- "%s. Update de WooCommerce plugin."
564
-
565
- #: includes/mollie/wc/helper/status.php:64
566
- msgid ""
567
- "Mollie API client not installed. Please make sure the plugin is installed "
568
- "correctly."
569
- msgstr ""
570
- "Mollie API client niet geïnstalleerd. Zorg er voor dat de plugin juist is "
571
- "geïnstalleerd."
572
-
573
- #. translators: Placeholder 1: Required PHP version, placeholder 2: current PHP
574
- #. version
575
- #: includes/mollie/wc/helper/status.php:82
576
- msgid "The client requires PHP version >= %s, you have %s."
577
- msgstr "De API client heeft PHP versie >= %s nodig, jij gebruikt versie %s."
578
-
579
- #: includes/mollie/wc/helper/status.php:89
580
- msgid ""
581
- "The Mollie API client requires the PHP extension JSON to be enabled. Please "
582
- "enable the 'json' extension in your PHP configuration."
583
- msgstr ""
584
- "De Mollie API client heeft de PHP extensie JSON nodig om te werken. Schakel "
585
- "de PHP extensie 'json' in."
586
-
587
- #: includes/mollie/wc/helper/status.php:93
588
- msgid ""
589
- "The Mollie API client requires the PHP extension cURL to be enabled. Please "
590
- "enable the 'curl' extension in your PHP configuration."
591
- msgstr ""
592
- "De Mollie API client heeft de PHP extensie cURL nodig om te werken. Schakel "
593
- "de PHP extensie ‘curl’ in."
594
-
595
- #. translators: Placeholder 1: The required cURL function names
596
- #: includes/mollie/wc/helper/status.php:99
597
- msgid ""
598
- "The Mollie API client requires the following PHP cURL functions to be "
599
- "available: %s. Please make sure all of these functions are available."
600
- msgstr ""
601
- "De Mollie API client heeft de volgende PHP cURL functies nodig: %s. Zorg dat "
602
- "al deze functies beschikbaar zijn."
603
-
604
- #: includes/mollie/wc/plugin.php:288
605
- msgid "Logs"
606
- msgstr "Logboeken"
607
-
608
- #: mollie-payments-for-woocommerce.php:49
609
- msgid "Could not activate plugin %s"
610
- msgstr "Kan plugin %s niet activeren"
611
-
612
- #: mollie-payments-for-woocommerce.php:93
613
- msgid "%s deactivated because it depends on WooCommerce."
614
- msgstr "%s gedeactiveerd omdat het afhankelijk is van de plugin WooCommerce."
615
-
616
- #. Plugin Name of the plugin/theme
617
- msgid "Mollie Payments for WooCommerce"
618
- msgstr "Mollie Payments for WooCommerce"
619
-
620
- #. Plugin URI of the plugin/theme
621
- msgid "https://github.com/mollie/WooCommerce"
622
- msgstr "https://github.com/mollie/WooCommerce"
623
-
624
- #. Description of the plugin/theme
625
- msgid "Accept payments in WooCommerce with the official Mollie plugin"
626
- msgstr "Accepteer betalingen in WooCommerce met de officiële Mollie plugin"
627
-
628
- #. Author of the plugin/theme
629
- msgid "Mollie"
630
- msgstr "Mollie"
631
-
632
- #. Author URI of the plugin/theme
633
- msgid "https://www.mollie.com"
634
- msgstr "https://www.mollie.com"
635
-
636
- #~ msgid ""
637
- #~ "Accept payments in WooCommerce with the official Mollie plugin for iDEAL, "
638
- #~ "Credit Card, Bancontact/Mister Cash, Bank Transfer, PayPal, Bitcoin, "
639
- #~ "paysafecard and SOFORT Banking"
640
- #~ msgstr ""
641
- #~ "Accepteer betalingen in WooCommerce met de officiële Mollie plugin voor "
642
- #~ "iDEAL, Creditcard, Bancontact/Mister Cash, Overboeking, PayPal, Bitcoin, "
643
- #~ "paysafecard en SOFORT Banking"
644
-
645
- #~ msgid ""
646
- #~ "This payment method is not supported by this plugin. Please check if "
647
- #~ "there is an update available."
648
- #~ msgstr ""
649
- #~ "Deze betaalmethode wordt niet ondersteunt door deze plugin. Controleer of "
650
- #~ "er een update beschikbaar is voor deze plugin."
651
-
652
- #~ msgid "Not supported"
653
- #~ msgstr "Niet ondersteund"
654
-
655
- #~ msgid ""
656
- #~ "No active Mollie payment methods found. Please check your Mollie profile "
657
- #~ "which payment methods are activated."
658
- #~ msgstr ""
659
- #~ "Geen actieve Mollie betaalmethodes gevonden. Controleer in je Mollie "
660
- #~ "profiel welke betaalmethodes zijn geactiveerd."
661
-
662
- #~ msgid "Mollie payments for WooCommerce"
663
- #~ msgstr "Mollie payments for WooCommerce"
664
-
665
- #~ msgid "Order %"
666
- #~ msgstr "Bestelling %"
667
-
668
- #~ msgid "Log plugin events. <a href=\"%s\">View logs</a>"
669
- #~ msgstr "Log plugin events. <a href=\"%s\">Bekijk logboeken</a>"
670
-
671
- #~ msgid "https://www.mollie.com/"
672
- #~ msgstr "https://www.mollie.com/"
673
-
674
- #~ msgid "Payment completed by <strong>%s</strong> (%s)"
675
- #~ msgstr "Betaling afgerond door <strong>%s</strong> (%s)"
676
-
677
- #~ msgid "Gateway not enabled"
678
- #~ msgstr "Gateway niet ingeschakeld"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
i18n/languages/mollie-payments-for-woocommerce.pot DELETED
@@ -1,580 +0,0 @@
1
- # Copyright (C) 2016 Mollie Payments for WooCommerce
2
- # This file is distributed under the same license as the Mollie Payments for WooCommerce package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: Mollie Payments for WooCommerce 2.3.1\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mollie-payments-"
7
- "for-woocommerce\n"
8
- "POT-Creation-Date: 2016-10-06 11:56:29+00:00\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
13
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
- "Language-Team: LANGUAGE <LL@li.org>\n"
15
-
16
- #: includes/mollie/wc/gateway/abstract.php:83
17
- msgid "Enable/Disable"
18
- msgstr ""
19
-
20
- #: includes/mollie/wc/gateway/abstract.php:85
21
- msgid "Enable %s"
22
- msgstr ""
23
-
24
- #: includes/mollie/wc/gateway/abstract.php:89
25
- msgid "Title"
26
- msgstr ""
27
-
28
- #: includes/mollie/wc/gateway/abstract.php:91
29
- msgid ""
30
- "This controls the title which the user sees during checkout. Default <code>"
31
- "%s</code>"
32
- msgstr ""
33
-
34
- #: includes/mollie/wc/gateway/abstract.php:96
35
- msgid "Display logo"
36
- msgstr ""
37
-
38
- #: includes/mollie/wc/gateway/abstract.php:98
39
- msgid "Display logo on checkout page. Default <code>enabled</code>"
40
- msgstr ""
41
-
42
- #: includes/mollie/wc/gateway/abstract.php:102
43
- #: includes/mollie/wc/helper/settings.php:340
44
- msgid "Description"
45
- msgstr ""
46
-
47
- #: includes/mollie/wc/gateway/abstract.php:104
48
- msgid ""
49
- "Payment method description that the customer will see on your checkout. "
50
- "Default <code>%s</code>"
51
- msgstr ""
52
-
53
- #: includes/mollie/wc/gateway/abstract.php:113
54
- msgid "Initial order status"
55
- msgstr ""
56
-
57
- #: includes/mollie/wc/gateway/abstract.php:116
58
- #: includes/mollie/wc/helper/settings.php:354
59
- msgid "default"
60
- msgstr ""
61
-
62
- #. translators: Placeholder 1: Default order status, placeholder 2: Link to
63
- #. 'Hold Stock' setting
64
- #: includes/mollie/wc/gateway/abstract.php:122
65
- msgid ""
66
- "Some payment methods take longer than a few hours to complete. The initial "
67
- "order state is then set to '%s'. This ensures the order is not cancelled "
68
- "when the setting %s is used."
69
- msgstr ""
70
-
71
- #: includes/mollie/wc/gateway/abstract.php:124
72
- msgid "Hold Stock (minutes)"
73
- msgstr ""
74
-
75
- #: includes/mollie/wc/gateway/abstract.php:153
76
- #: includes/mollie/wc/gateway/abstract.php:197
77
- #: includes/mollie/wc/helper/settings.php:197
78
- msgid "Test mode enabled."
79
- msgstr ""
80
-
81
- #: includes/mollie/wc/gateway/abstract.php:174
82
- msgid "Gateway Disabled"
83
- msgstr ""
84
-
85
- #. translators: The surrounding %s's Will be replaced by a link to the global
86
- #. setting page
87
- #: includes/mollie/wc/gateway/abstract.php:199
88
- msgid "No API key provided. Please %sset you Mollie API key%s first."
89
- msgstr ""
90
-
91
- #. translators: Placeholder 1: payment method title. The surrounding %s's Will
92
- #. be replaced by a link to the Mollie profile
93
- #: includes/mollie/wc/gateway/abstract.php:211
94
- msgid ""
95
- "%s not enabled in your Mollie profile. You can enabled it by editing your "
96
- "%sMollie profile%s."
97
- msgstr ""
98
-
99
- #. translators: Placeholder 1: WooCommerce currency, placeholder 2: Supported
100
- #. Mollie currencies
101
- #: includes/mollie/wc/gateway/abstract.php:224
102
- msgid "Shop currency %s not supported by Mollie. Mollie only supports: %s."
103
- msgstr ""
104
-
105
- #: includes/mollie/wc/gateway/abstract.php:291
106
- msgid "Could not load order %s"
107
- msgstr ""
108
-
109
- #: includes/mollie/wc/gateway/abstract.php:386
110
- msgid "Awaiting payment confirmation."
111
- msgstr ""
112
-
113
- #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID
114
- #: includes/mollie/wc/gateway/abstract.php:391
115
- msgid "%s payment started (%s)."
116
- msgstr ""
117
-
118
- #: includes/mollie/wc/gateway/abstract.php:393
119
- #: includes/mollie/wc/gateway/abstract.php:574
120
- #: includes/mollie/wc/gateway/abstract.php:605
121
- #: includes/mollie/wc/gateway/abstract.php:639
122
- #: includes/mollie/wc/gateway/abstract.php:667
123
- msgid "test mode"
124
- msgstr ""
125
-
126
- #. translators: Placeholder 1: Payment method title
127
- #: includes/mollie/wc/gateway/abstract.php:411
128
- msgid "Could not create %s payment."
129
- msgstr ""
130
-
131
- #. translators: Placeholder 1: payment method title, placeholder 2: payment
132
- #. status, placeholder 3: payment ID
133
- #: includes/mollie/wc/gateway/abstract.php:571
134
- msgid "%s payment %s (%s)."
135
- msgstr ""
136
-
137
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
138
- #: includes/mollie/wc/gateway/abstract.php:603
139
- msgid "Order completed using %s payment (%s)."
140
- msgstr ""
141
-
142
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
143
- #: includes/mollie/wc/gateway/abstract.php:637
144
- msgid "%s payment cancelled (%s)."
145
- msgstr ""
146
-
147
- #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
148
- #: includes/mollie/wc/gateway/abstract.php:665
149
- msgid "%s payment expired (%s)."
150
- msgstr ""
151
-
152
- #: includes/mollie/wc/gateway/abstract.php:681
153
- msgid ""
154
- "You have cancelled your payment. Please complete your order with a different "
155
- "payment method."
156
- msgstr ""
157
-
158
- #. translators: Placeholder 1: currency, placeholder 2: refunded amount,
159
- #. placeholder 3: optional refund reason, placeholder 4: payment ID,
160
- #. placeholder 5: refund ID
161
- #: includes/mollie/wc/gateway/abstract.php:758
162
- msgid "Refunded %s%s (reason: %s) - Payment ID: %s, Refund: %s"
163
- msgstr ""
164
-
165
- #: includes/mollie/wc/gateway/abstract.php:827
166
- msgid "Payment"
167
- msgstr ""
168
-
169
- #: includes/mollie/wc/gateway/abstract.php:848
170
- msgid "We have not received a definite payment status."
171
- msgstr ""
172
-
173
- #: includes/mollie/wc/gateway/abstract.php:853
174
- msgid ""
175
- "We have not received a definite payment status. You will receive an email as "
176
- "soon as we receive a confirmation of the bank/merchant."
177
- msgstr ""
178
-
179
- #. translators: Placeholder 1: payment method
180
- #: includes/mollie/wc/gateway/abstract.php:860
181
- msgid "Payment completed with <strong>%s</strong>"
182
- msgstr ""
183
-
184
- #: includes/mollie/wc/gateway/banktransfer.php:32
185
- msgid "Expiry date"
186
- msgstr ""
187
-
188
- #: includes/mollie/wc/gateway/banktransfer.php:34
189
- msgid ""
190
- "Number of days after the payment will expire. Default <code>%d</code> days"
191
- msgstr ""
192
-
193
- #: includes/mollie/wc/gateway/banktransfer.php:43
194
- msgid "Skip Mollie payment screen"
195
- msgstr ""
196
-
197
- #: includes/mollie/wc/gateway/banktransfer.php:44
198
- msgid "Skip Mollie payment screen when Bank Transfer is selected"
199
- msgstr ""
200
-
201
- #: includes/mollie/wc/gateway/banktransfer.php:45
202
- msgid ""
203
- "Enable this option if you want to skip redirecting your user to the Mollie "
204
- "payment screen, instead this will redirect your user directly to the "
205
- "WooCommerce order received page displaying instructions how to complete the "
206
- "Bank Transfer payment."
207
- msgstr ""
208
-
209
- #: includes/mollie/wc/gateway/banktransfer.php:50
210
- msgid "Mail payment instructions"
211
- msgstr ""
212
-
213
- #. translators: Placeholder 1: enabled or disabled
214
- #: includes/mollie/wc/gateway/banktransfer.php:52
215
- msgid ""
216
- "Should Mollie automatically mail the payment instructions to the customer? "
217
- "Default <code>%s</code>"
218
- msgstr ""
219
-
220
- #: includes/mollie/wc/gateway/banktransfer.php:52
221
- #: includes/mollie/wc/helper/settings.php:191
222
- msgid "Disabled"
223
- msgstr ""
224
-
225
- #: includes/mollie/wc/gateway/banktransfer.php:55
226
- msgid ""
227
- "If you disable this option the customer still has an option to send the "
228
- "payment instructions to an email address on the Mollie payment screen."
229
- msgstr ""
230
-
231
- #: includes/mollie/wc/gateway/banktransfer.php:128
232
- msgid "Bank Transfer"
233
- msgstr ""
234
-
235
- #. translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN,
236
- #. placeholder 3: consumer BIC
237
- #: includes/mollie/wc/gateway/banktransfer.php:171
238
- #: includes/mollie/wc/gateway/directdebit.php:51
239
- #: includes/mollie/wc/gateway/ideal.php:86
240
- #: includes/mollie/wc/gateway/sofort.php:56
241
- msgid "Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)"
242
- msgstr ""
243
-
244
- #: includes/mollie/wc/gateway/banktransfer.php:181
245
- msgid ""
246
- "Please complete your payment by transferring the total amount to the "
247
- "following bank account:"
248
- msgstr ""
249
-
250
- #. translators: Placeholder 1: 'Stichting Mollie Payments'
251
- #: includes/mollie/wc/gateway/banktransfer.php:185
252
- msgid "Beneficiary: %s"
253
- msgstr ""
254
-
255
- #: includes/mollie/wc/gateway/banktransfer.php:186
256
- msgid "IBAN: <strong>%s</strong>"
257
- msgstr ""
258
-
259
- #: includes/mollie/wc/gateway/banktransfer.php:187
260
- msgid "BIC: %s"
261
- msgstr ""
262
-
263
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
264
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
265
- #: includes/mollie/wc/gateway/banktransfer.php:192
266
- msgid "Payment reference: %s"
267
- msgstr ""
268
-
269
- #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
270
- #. (SEPA) or +++513/7587/59959+++ (Belgium)
271
- #: includes/mollie/wc/gateway/banktransfer.php:197
272
- msgid "Please provide the payment reference <strong>%s</strong>"
273
- msgstr ""
274
-
275
- #: includes/mollie/wc/gateway/banktransfer.php:210
276
- msgid "The payment will expire on <strong>%s</strong>."
277
- msgstr ""
278
-
279
- #: includes/mollie/wc/gateway/banktransfer.php:217
280
- msgid ""
281
- "The payment will expire on <strong>%s</strong>. Please make sure you "
282
- "transfer the total amount before this date."
283
- msgstr ""
284
-
285
- #: includes/mollie/wc/gateway/belfius.php:30
286
- msgid "Belfius Direct Net"
287
- msgstr ""
288
-
289
- #: includes/mollie/wc/gateway/bitcoin.php:17
290
- msgid "Bitcoin"
291
- msgstr ""
292
-
293
- #: includes/mollie/wc/gateway/creditcard.php:30
294
- msgid "Credit card"
295
- msgstr ""
296
-
297
- #. translators: Placeholder 1: card holder
298
- #: includes/mollie/wc/gateway/creditcard.php:56
299
- msgid "Payment completed by <strong>%s</strong>"
300
- msgstr ""
301
-
302
- #: includes/mollie/wc/gateway/directdebit.php:17
303
- msgid "SEPA Direct Debit"
304
- msgstr ""
305
-
306
- #: includes/mollie/wc/gateway/ideal.php:33
307
- msgid "iDEAL"
308
- msgstr ""
309
-
310
- #. translators: Default iDEAL description, displayed above issuer drop down
311
- #: includes/mollie/wc/gateway/ideal.php:42
312
- msgid "Select your bank"
313
- msgstr ""
314
-
315
- #: includes/mollie/wc/gateway/kbc.php:30
316
- msgid "KBC/CBC Payment Button"
317
- msgstr ""
318
-
319
- #: includes/mollie/wc/gateway/mistercash.php:30
320
- msgid "Bancontact / Mister Cash"
321
- msgstr ""
322
-
323
- #: includes/mollie/wc/gateway/paypal.php:30
324
- msgid "PayPal"
325
- msgstr ""
326
-
327
- #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal
328
- #. email, placeholder 3: PayPal transaction ID
329
- #: includes/mollie/wc/gateway/paypal.php:56
330
- msgid ""
331
- "Payment completed by <strong>%s</strong> - %s (PayPal transaction ID: %s)"
332
- msgstr ""
333
-
334
- #: includes/mollie/wc/gateway/paysafecard.php:17
335
- msgid "paysafecard"
336
- msgstr ""
337
-
338
- #: includes/mollie/wc/gateway/sofort.php:30
339
- msgid "SOFORT Banking"
340
- msgstr ""
341
-
342
- #: includes/mollie/wc/helper/api.php:35
343
- msgid "No API key provided."
344
- msgstr ""
345
-
346
- #: includes/mollie/wc/helper/api.php:39
347
- msgid ""
348
- "Invalid API key. The API key must start with 'live_' or 'test_' and can't "
349
- "further contain any special characters."
350
- msgstr ""
351
-
352
- #: includes/mollie/wc/helper/data.php:563
353
- msgid "Item #%s stock incremented from %s to %s."
354
- msgstr ""
355
-
356
- #: includes/mollie/wc/helper/settings.php:119
357
- msgid "Error"
358
- msgstr ""
359
-
360
- #: includes/mollie/wc/helper/settings.php:129
361
- msgid "Mollie status:"
362
- msgstr ""
363
-
364
- #: includes/mollie/wc/helper/settings.php:130
365
- msgid "Connected"
366
- msgstr ""
367
-
368
- #: includes/mollie/wc/helper/settings.php:190
369
- msgid "Gateway enabled"
370
- msgstr ""
371
-
372
- #: includes/mollie/wc/helper/settings.php:190
373
- msgid "Enabled"
374
- msgstr ""
375
-
376
- #: includes/mollie/wc/helper/settings.php:191
377
- msgid "Gateway disabled"
378
- msgstr ""
379
-
380
- #. translators: The surrounding %s's Will be replaced by a link to the Mollie
381
- #. profile
382
- #: includes/mollie/wc/helper/settings.php:202
383
- msgid "The following payment methods are activated in your %sMollie profile%s:"
384
- msgstr ""
385
-
386
- #: includes/mollie/wc/helper/settings.php:212
387
- msgid "Refresh"
388
- msgstr ""
389
-
390
- #: includes/mollie/wc/helper/settings.php:236
391
- msgid "Edit"
392
- msgstr ""
393
-
394
- #. translators: Default payment description. {order_number} and {order_date}
395
- #. are available tags.
396
- #: includes/mollie/wc/helper/settings.php:267
397
- msgid "Order {order_number}"
398
- msgstr ""
399
-
400
- #: includes/mollie/wc/helper/settings.php:270
401
- msgid "Log plugin events."
402
- msgstr ""
403
-
404
- #: includes/mollie/wc/helper/settings.php:275
405
- msgid "View logs"
406
- msgstr ""
407
-
408
- #. translators: Placeholder 1: Location of the log files
409
- #: includes/mollie/wc/helper/settings.php:281
410
- msgid "Log files are saved to <code>%s</code>"
411
- msgstr ""
412
-
413
- #: includes/mollie/wc/helper/settings.php:288
414
- #: includes/mollie/wc/plugin.php:281
415
- msgid "Mollie settings"
416
- msgstr ""
417
-
418
- #: includes/mollie/wc/helper/settings.php:291
419
- msgid ""
420
- "The following options are required to use the plugin and are used by all "
421
- "Mollie payment methods"
422
- msgstr ""
423
-
424
- #: includes/mollie/wc/helper/settings.php:295
425
- msgid "Live API key"
426
- msgstr ""
427
-
428
- #. translators: Placeholder 1: API key mode (live or test). The surrounding
429
- #. %s's Will be replaced by a link to the Mollie profile
430
- #: includes/mollie/wc/helper/settings.php:300
431
- #: includes/mollie/wc/helper/settings.php:326
432
- msgid ""
433
- "The API key is used to connect to Mollie. You can find your <strong>%s</"
434
- "strong> API key in your %sMollie profile%s"
435
- msgstr ""
436
-
437
- #: includes/mollie/wc/helper/settings.php:306
438
- msgid "Live API key should start with live_"
439
- msgstr ""
440
-
441
- #: includes/mollie/wc/helper/settings.php:314
442
- msgid "Enable test mode"
443
- msgstr ""
444
-
445
- #: includes/mollie/wc/helper/settings.php:317
446
- msgid ""
447
- "Enable test mode if you want to test the plugin without using real payments."
448
- msgstr ""
449
-
450
- #: includes/mollie/wc/helper/settings.php:321
451
- msgid "Test API key"
452
- msgstr ""
453
-
454
- #: includes/mollie/wc/helper/settings.php:332
455
- msgid "Test API key should start with test_"
456
- msgstr ""
457
-
458
- #. translators: Placeholder 1: Default payment description, placeholder 2: list
459
- #. of available tags
460
- #: includes/mollie/wc/helper/settings.php:343
461
- msgid ""
462
- "Payment description send to Mollie. Default <code>%s</code><br/>You can use "
463
- "the following tags: %s"
464
- msgstr ""
465
-
466
- #: includes/mollie/wc/helper/settings.php:349
467
- msgid "Payment screen language"
468
- msgstr ""
469
-
470
- #: includes/mollie/wc/helper/settings.php:352
471
- msgid "Detect using browser language"
472
- msgstr ""
473
-
474
- #. translators: Placeholder 1: Current WordPress locale
475
- #: includes/mollie/wc/helper/settings.php:354
476
- msgid "Send WordPress language (%s)"
477
- msgstr ""
478
-
479
- #: includes/mollie/wc/helper/settings.php:355
480
- msgid "Dutch"
481
- msgstr ""
482
-
483
- #: includes/mollie/wc/helper/settings.php:356
484
- msgid "Flemish (Belgium)"
485
- msgstr ""
486
-
487
- #: includes/mollie/wc/helper/settings.php:357
488
- msgid "English"
489
- msgstr ""
490
-
491
- #: includes/mollie/wc/helper/settings.php:358
492
- msgid "German"
493
- msgstr ""
494
-
495
- #: includes/mollie/wc/helper/settings.php:359
496
- msgid "Spanish"
497
- msgstr ""
498
-
499
- #: includes/mollie/wc/helper/settings.php:360
500
- msgid "French"
501
- msgstr ""
502
-
503
- #: includes/mollie/wc/helper/settings.php:361
504
- msgid "French (Belgium)"
505
- msgstr ""
506
-
507
- #: includes/mollie/wc/helper/settings.php:367
508
- msgid "Debug Log"
509
- msgstr ""
510
-
511
- #. translators: Placeholder 1: Plugin name, placeholder 2: required WooCommerce
512
- #. version, placeholder 3: used WooCommerce version
513
- #: includes/mollie/wc/helper/status.php:53
514
- msgid ""
515
- "The %s plugin requires at least WooCommerce version %s, you are using "
516
- "version %s. Please update your WooCommerce plugin."
517
- msgstr ""
518
-
519
- #: includes/mollie/wc/helper/status.php:64
520
- msgid ""
521
- "Mollie API client not installed. Please make sure the plugin is installed "
522
- "correctly."
523
- msgstr ""
524
-
525
- #. translators: Placeholder 1: Required PHP version, placeholder 2: current PHP
526
- #. version
527
- #: includes/mollie/wc/helper/status.php:82
528
- msgid "The client requires PHP version >= %s, you have %s."
529
- msgstr ""
530
-
531
- #: includes/mollie/wc/helper/status.php:89
532
- msgid ""
533
- "The Mollie API client requires the PHP extension JSON to be enabled. Please "
534
- "enable the 'json' extension in your PHP configuration."
535
- msgstr ""
536
-
537
- #: includes/mollie/wc/helper/status.php:93
538
- msgid ""
539
- "The Mollie API client requires the PHP extension cURL to be enabled. Please "
540
- "enable the 'curl' extension in your PHP configuration."
541
- msgstr ""
542
-
543
- #. translators: Placeholder 1: The required cURL function names
544
- #: includes/mollie/wc/helper/status.php:99
545
- msgid ""
546
- "The Mollie API client requires the following PHP cURL functions to be "
547
- "available: %s. Please make sure all of these functions are available."
548
- msgstr ""
549
-
550
- #: includes/mollie/wc/plugin.php:288
551
- msgid "Logs"
552
- msgstr ""
553
-
554
- #: mollie-payments-for-woocommerce.php:49
555
- msgid "Could not activate plugin %s"
556
- msgstr ""
557
-
558
- #: mollie-payments-for-woocommerce.php:93
559
- msgid "%s deactivated because it depends on WooCommerce."
560
- msgstr ""
561
-
562
- #. Plugin Name of the plugin/theme
563
- msgid "Mollie Payments for WooCommerce"
564
- msgstr ""
565
-
566
- #. Plugin URI of the plugin/theme
567
- msgid "https://github.com/mollie/WooCommerce"
568
- msgstr ""
569
-
570
- #. Description of the plugin/theme
571
- msgid "Accept payments in WooCommerce with the official Mollie plugin"
572
- msgstr ""
573
-
574
- #. Author of the plugin/theme
575
- msgid "Mollie"
576
- msgstr ""
577
-
578
- #. Author URI of the plugin/theme
579
- msgid "https://www.mollie.com"
580
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/mollie-api-php/build.xml DELETED
@@ -1,96 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project name="universal-client-php" default="build">
3
-
4
- <target name="build" depends="build-parallel"/>
5
- <target name="build-serial" depends="prepare,phpunit"/>
6
- <target name="build-parallel" depends="prepare,tools-parallel"/>
7
-
8
- <target name="tools-parallel" description="Run tools in parallel" depends="lint">
9
- <parallel threadCount="4">
10
- <antcall target="phpunit"/>
11
- <antcall target="phploc"/>
12
- <antcall target="phpcpd"/>
13
- </parallel>
14
- </target>
15
-
16
- <target name="clean" description="Cleanup build artifacts">
17
- <delete dir="${basedir}/build/clover"/>
18
- <delete dir="${basedir}/build/code-browser"/>
19
- <delete dir="${basedir}/build/coverage"/>
20
- <delete dir="${basedir}/build/logs"/>
21
- </target>
22
-
23
- <target name="prepare" depends="clean"
24
- description="Prepare for build">
25
- <mkdir dir="${basedir}/build/clover"/>
26
- <mkdir dir="${basedir}/build/code-browser"/>
27
- <mkdir dir="${basedir}/build/coverage"/>
28
- <mkdir dir="${basedir}/build/logs"/>
29
- </target>
30
-
31
- <target name="composer-install" description="Install dependencies through composer" unless="composer.installed">
32
- <property name="composer.installed">true</property>
33
-
34
- <exec executable="composer" failonerror="true">
35
- <env key="COMPOSER_DISABLE_XDEBUG_WARN" value="1" />
36
- <arg value="validate" />
37
- <arg value="--strict" />
38
- </exec>
39
-
40
- <exec executable="composer" failonerror="true">
41
- <env key="COMPOSER_DISABLE_XDEBUG_WARN" value="1" />
42
- <arg value="install" />
43
- <arg value="--no-interaction" />
44
- <arg value="--no-progress" />
45
- <arg value="--no-plugins" />
46
- <arg value="--no-scripts" />
47
- <arg value="--quiet" />
48
- </exec>
49
- </target>
50
-
51
- <target name="lint">
52
- <apply executable="php" failonerror="true">
53
- <arg value="-l" />
54
- <fileset dir="${basedir}">
55
- <include name="**/*.php" />
56
- <exclude name="vendor/**" />
57
- <modified />
58
- </fileset>
59
- </apply>
60
- </target>
61
-
62
- <target name="phploc" description="Measure project size using PHPLOC">
63
- <exec executable="nice" failonerror="true">
64
- <arg value="phploc" />
65
- <arg value="--count-tests"/>
66
- <arg value="--log-csv"/>
67
- <arg value="build/logs/phploc.csv"/>
68
- <arg value="--names"/>
69
- <arg value="*.php,*.phtml"/>
70
- <arg value="--exclude"/>
71
- <arg value="build"/>
72
- <arg value="--exclude"/>
73
- <arg value="vendor"/>
74
- <arg value="${basedir}" />
75
- </exec>
76
- </target>
77
-
78
- <target name="phpcpd" description="Find duplicate code using PHPCPD">
79
- <exec executable="nice">
80
- <arg value="phpcpd" />
81
- <arg value="--quiet" />
82
- <arg value="--exclude"/>
83
- <arg value="build"/>
84
- <arg value="--exclude"/>
85
- <arg value="tests"/>
86
- <arg value="--log-pmd" />
87
- <arg value="${basedir}/build/logs/cpd.xml" />
88
- <arg value="." />
89
- </exec>
90
- </target>
91
-
92
- <target name="phpunit" description="Run unit and integration tests with PHPUnit" depends="composer-install">
93
- <!-- run the unit tests -->
94
- <exec executable="vendor/bin/phpunit" />
95
- </target>
96
- </project>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/mollie-api-php/build/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- clover/
2
- coverage/
3
- logs/
 
 
 
includes/mollie-api-php/composer.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "mollie/mollie-api-php",
3
- "description": "Mollie API client library for PHP",
4
  "homepage": "https://github.com/mollie/mollie-api-php",
5
  "license": "BSD-2-Clause",
6
  "authors": [
@@ -13,11 +13,12 @@
13
  "mollie", "payment", "service", "ideal", "creditcard", "mistercash", "bancontact", "sofort", "sofortbanking",
14
  "sepa", "bitcoin", "paypal", "paysafecard", "podiumcadeaukaart", "banktransfer", "direct debit", "belfius",
15
  "belfius direct net", "refunds", "api", "payments", "gateway", "subscriptions", "recurring", "charges", "kbc",
16
- "cbc"
17
  ],
18
  "require" : {
19
  "php": ">=5.2",
20
  "ext-curl": "*",
 
21
  "ext-openssl": "*"
22
  },
23
  "require-dev": {
1
  {
2
  "name": "mollie/mollie-api-php",
3
+ "description": "Mollie API client library for PHP. Mollie is a European Payment Service provider and offers international payment methods such as Mastercard, VISA, American Express and PayPal, and local payment methods such as iDEAL, Bancontact, SOFORT Banking, SEPA direct debit, Belfius Direct Net, KBC Payment Button and various gift cards such as Podiumcadeaukaart and fashioncheque.",
4
  "homepage": "https://github.com/mollie/mollie-api-php",
5
  "license": "BSD-2-Clause",
6
  "authors": [
13
  "mollie", "payment", "service", "ideal", "creditcard", "mistercash", "bancontact", "sofort", "sofortbanking",
14
  "sepa", "bitcoin", "paypal", "paysafecard", "podiumcadeaukaart", "banktransfer", "direct debit", "belfius",
15
  "belfius direct net", "refunds", "api", "payments", "gateway", "subscriptions", "recurring", "charges", "kbc",
16
+ "cbc", "gift cards", "intersolve", "fashioncheque"
17
  ],
18
  "require" : {
19
  "php": ">=5.2",
20
  "ext-curl": "*",
21
+ "ext-json": "*",
22
  "ext-openssl": "*"
23
  },
24
  "require-dev": {
includes/mollie-api-php/examples/22-create-mandate-subscription.php CHANGED
@@ -19,24 +19,24 @@ try
19
  echo "<p>Customer created with id ". $customer->id."</p>";
20
 
21
  // create mandate
22
- $mandate = $mollie->customers_mandates->withParentId($customer->id)->create([
23
  "method" => 'directdebit',
24
  "consumerAccount" => 'NL12ABNA654065985',
25
  "consumerName" => 'B. A. Example',
26
- ]);
27
  echo "<p>Mandate created with id ". $mandate->id."</p>";
28
 
29
  // set recurring
30
- $subscription = $mollie->customers_subscriptions->withParentId($customer->id)->create([
31
  "amount" => 10.00,
32
  "times" => 12, // recurring membership for 1 year
33
  "interval" => "1 months", // every month
34
  "description" => "Subscription ".$membership_id,
35
  "webhookUrl" => "https://example.com/webhook.php",
36
- "metadata" => [
37
  "order_id" => $membership_id,
38
- ],
39
- ]);
40
 
41
  echo "<p>Subscription created with id ". $subscription->id."</p>";
42
  }
@@ -44,4 +44,3 @@ catch (Mollie_API_Exception $e)
44
  {
45
  error_log( "API call failed: " . htmlspecialchars($e->getMessage()));
46
  }
47
- ?>
19
  echo "<p>Customer created with id ". $customer->id."</p>";
20
 
21
  // create mandate
22
+ $mandate = $mollie->customers_mandates->withParentId($customer->id)->create(array(
23
  "method" => 'directdebit',
24
  "consumerAccount" => 'NL12ABNA654065985',
25
  "consumerName" => 'B. A. Example',
26
+ ));
27
  echo "<p>Mandate created with id ". $mandate->id."</p>";
28
 
29
  // set recurring
30
+ $subscription = $mollie->customers_subscriptions->withParentId($customer->id)->create(array(
31
  "amount" => 10.00,
32
  "times" => 12, // recurring membership for 1 year
33
  "interval" => "1 months", // every month
34
  "description" => "Subscription ".$membership_id,
35
  "webhookUrl" => "https://example.com/webhook.php",
36
+ "metadata" => array(
37
  "order_id" => $membership_id,
38
+ ),
39
+ ));
40
 
41
  echo "<p>Subscription created with id ". $subscription->id."</p>";
42
  }
44
  {
45
  error_log( "API call failed: " . htmlspecialchars($e->getMessage()));
46
  }
 
includes/mollie-api-php/phpunit.xml CHANGED
@@ -1,19 +1,15 @@
1
  <?xml version="1.0" encoding="UTF-8" ?>
2
- <phpunit bootstrap="./tests/bootstrap.php" colors="true">
3
- <php>
4
- <ini name="display_errors" value="stderr" />
5
- <ini name="error_log" value="/dev/null" />
6
- </php>
7
- <testsuite name="Unit tests">
8
- <directory>tests/</directory>
9
- </testsuite>
10
- <logging>
11
- <log type="junit" target="build/logs/junit-unittests.xml" logIncompleteSkipped="false"/>
12
- <log type="coverage-html" target="build/coverage" charset="UTF-8"
13
- yui="true" highlight="true"
14
- lowUpperBound="35" highLowerBound="70"/>
15
- <log type="coverage-clover" target="build/clover/clover-unittests.xml"/>
16
- </logging>
17
  <filter>
18
  <whitelist processUncoveredFilesFromWhitelist="true">
19
  <directory suffix=".php">src/</directory>
1
  <?xml version="1.0" encoding="UTF-8" ?>
2
+ <phpunit colors="true">
3
+ <php>
4
+ <ini name="display_errors" value="stderr" />
5
+ <ini name="error_log" value="/dev/null" />
6
+ </php>
7
+ <testsuite name="Unit tests">
8
+ <directory>tests/</directory>
9
+ </testsuite>
10
+ <logging>
11
+ <log type="junit" target="build/logs/junit-unittests.xml" logIncompleteSkipped="false"/>
12
+ </logging>
 
 
 
 
13
  <filter>
14
  <whitelist processUncoveredFilesFromWhitelist="true">
15
  <directory suffix=".php">src/</directory>
includes/mollie-api-php/src/Mollie/API/Object/Method.php CHANGED
@@ -42,11 +42,15 @@ class Mollie_API_Object_Method
42
  const PAYSAFECARD = "paysafecard";
43
 
44
  /**
 
 
45
  * @link https://mollie.com/creditcard
46
  */
47
  const CREDITCARD = "creditcard";
48
 
49
  /**
 
 
50
  * @link https://mollie.com/mistercash
51
  */
52
  const MISTERCASH = "mistercash";
@@ -82,6 +86,7 @@ class Mollie_API_Object_Method
82
  const BELFIUS = "belfius";
83
 
84
  /**
 
85
  * @link https://mollie.com/giftcards
86
  */
87
  const PODIUMCADEAUKAART = "podiumcadeaukaart";
@@ -89,7 +94,23 @@ class Mollie_API_Object_Method
89
  /**
90
  * @link https://www.mollie.com/nl/kbccbc
91
  */
92
- const KBC = "kbc";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
 
94
  /**
95
  * Id of the payment method.
42
  const PAYSAFECARD = "paysafecard";
43
 
44
  /**
45
+ * Credit card (includes Mastercard, Maestro, Visa and American Express).
46
+ *
47
  * @link https://mollie.com/creditcard
48
  */
49
  const CREDITCARD = "creditcard";
50
 
51
  /**
52
+ * Bancontact, formerly known as Mister Cash.
53
+ *
54
  * @link https://mollie.com/mistercash
55
  */
56
  const MISTERCASH = "mistercash";
86
  const BELFIUS = "belfius";
87
 
88
  /**
89
+ * @deprecated
90
  * @link https://mollie.com/giftcards
91
  */
92
  const PODIUMCADEAUKAART = "podiumcadeaukaart";
94
  /**
95
  * @link https://www.mollie.com/nl/kbccbc
96
  */
97
+ const KBC = "kbc";
98
+
99
+ /**
100
+ * Gift cards
101
+ */
102
+ const GIFTCARD = "giftcard";
103
+
104
+ /**
105
+ * This is a special method that indicates in the API that the payment consists of several partial transactions.
106
+ *
107
+ * The individual transactions (amount, method and details) can be found in the details property of the payment.
108
+ *
109
+ * Note that you cannot use this method to create payments.
110
+ *
111
+ * @internal
112
+ */
113
+ const STACKED = "stacked";
114
 
115
  /**
116
  * Id of the payment method.
includes/mollie-api-php/src/Mollie/API/Object/Payment.php CHANGED
@@ -341,6 +341,16 @@ class Mollie_API_Object_Payment
341
  return $this->status == self::STATUS_CHARGED_BACK;
342
  }
343
 
 
 
 
 
 
 
 
 
 
 
344
  /**
345
  * Check whether the 'recurringType' parameter has been defined for this payment.
346
  *
341
  return $this->status == self::STATUS_CHARGED_BACK;
342
  }
343
 
344
+ /**
345
+ * Is this payment failing?
346
+ *
347
+ * @return bool
348
+ */
349
+ public function isFailed ()
350
+ {
351
+ return $this->status == self::STATUS_FAILED;
352
+ }
353
+
354
  /**
355
  * Check whether the 'recurringType' parameter has been defined for this payment.
356
  *
includes/mollie-api-php/src/Mollie/API/Object/Payment/Refund.php CHANGED
@@ -32,7 +32,12 @@
32
  class Mollie_API_Object_Payment_Refund
33
  {
34
  /**
35
- * The refund will be send to the bank on the next business day. You can still cancel the refund.
 
 
 
 
 
36
  */
37
  const STATUS_PENDING = 'pending';
38
 
@@ -88,6 +93,16 @@ class Mollie_API_Object_Payment_Refund
88
  */
89
  public $status;
90
 
 
 
 
 
 
 
 
 
 
 
91
  /**
92
  * Is this refund pending?
93
  *
32
  class Mollie_API_Object_Payment_Refund
33
  {
34
  /**
35
+ * The refund is queued until there is enough balance to process te refund. You can still cancel the refund.
36
+ */
37
+ const STATUS_QUEUED = 'queued';
38
+
39
+ /**
40
+ * The refund will be sent to the bank on the next business day. You can still cancel the refund.
41
  */
42
  const STATUS_PENDING = 'pending';
43
 
93
  */
94
  public $status;
95
 
96
+ /**
97
+ * Is this refund queued?
98
+ *
99
+ * @return bool
100
+ */
101
+ public function isQueued ()
102
+ {
103
+ return $this->status == self::STATUS_QUEUED;
104
+ }
105
+
106
  /**
107
  * Is this refund pending?
108
  *
includes/mollie-api-php/tests/Mollie/API/Object/PaymentTest.php CHANGED
@@ -162,6 +162,25 @@ class Mollie_API_Object_PaymentTest extends PHPUnit_Framework_TestCase
162
  $this->assertFalse($payment->isChargedBack());
163
  }
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  public function testHasRecurringTypeReturnsTrueWhenRecurringTypeIsFirst ()
166
  {
167
  $payment = new Mollie_API_Object_Payment();
@@ -251,4 +270,4 @@ class Mollie_API_Object_PaymentTest extends PHPUnit_Framework_TestCase
251
  $payment->amountRefunded = NULL;
252
  self::assertSame(0.0, $payment->getAmountRemaining());
253
  }
254
- }
162
  $this->assertFalse($payment->isChargedBack());
163
  }
164
 
165
+ public function testIsFailedReturnsTrueWhenStatusIsFailed ()
166
+ {
167
+ $payment = new Mollie_API_Object_Payment();
168
+
169
+ $payment->status = Mollie_API_Object_Payment::STATUS_FAILED;
170
+ $this->assertTrue($payment->isFailed());
171
+ }
172
+
173
+ public function testIsFailedReturnsFalseWhenStatusIsNotFailed ()
174
+ {
175
+ $payment = new Mollie_API_Object_Payment();
176
+
177
+ $payment->status = NULL;
178
+ $this->assertFalse($payment->isFailed());
179
+
180
+ $payment->status = Mollie_API_Object_Payment::STATUS_OPEN;
181
+ $this->assertFalse($payment->isFailed());
182
+ }
183
+
184
  public function testHasRecurringTypeReturnsTrueWhenRecurringTypeIsFirst ()
185
  {
186
  $payment = new Mollie_API_Object_Payment();
270
  $payment->amountRefunded = NULL;
271
  self::assertSame(0.0, $payment->getAmountRemaining());
272
  }
273
+ }
includes/mollie-api-php/tests/bootstrap.php DELETED
@@ -1,5 +0,0 @@
1
- <?php
2
-
3
- date_default_timezone_set("CET");
4
-
5
- require_once dirname(__FILE__) . "/../vendor/autoload.php";
 
 
 
 
 
includes/mollie/wc/gateway/abstract.php CHANGED
@@ -49,6 +49,7 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
49
  $this->id = strtolower(get_class($this));
50
  // Set gateway title (visible in admin)
51
  $this->method_title = 'Mollie - ' . $this->getDefaultTitle();
 
52
 
53
  // Load the settings.
54
  $this->init_form_fields();
@@ -135,9 +136,16 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
135
  */
136
  public function getIconUrl ()
137
  {
138
- return Mollie_WC_Plugin::getPluginUrl('/assets/images/' . $this->getMollieMethodId() . '.png');
139
  }
140
 
 
 
 
 
 
 
 
141
  protected function _initIcon ()
142
  {
143
  if ($this->display_logo)
@@ -345,13 +353,28 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
345
  Mollie_WC_Plugin::debug( $this->id . ': Payment ' . $payment->id . ' (' . $payment->mode . ') created for order ' . $order->get_id() );
346
  }
347
 
348
- // Set initial status
349
- // Status is only updated if the new status is not the same as the default order status (pending)
350
- $this->updateOrderStatus(
351
- $order,
352
- $initial_order_status,
353
- __('Awaiting payment confirmation.', 'mollie-payments-for-woocommerce') . "\n"
354
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
355
 
356
  $order->add_order_note(sprintf(
357
  /* translators: Placeholder 1: Payment method title, placeholder 2: payment ID */
@@ -360,7 +383,11 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
360
  $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : '')
361
  ));
362
 
363
- Mollie_WC_Plugin::debug("Redirect user to payment URL: {$payment->getPaymentUrl()}");
 
 
 
 
364
 
365
  return array(
366
  'result' => 'success',
@@ -608,8 +635,8 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
608
  return;
609
  }
610
 
611
- $order_id = $_GET['order_id'];
612
- $key = $_GET['key'];
613
 
614
  $data_helper = Mollie_WC_Plugin::getDataHelper();
615
  $order = $data_helper->getWcOrder($order_id);
@@ -629,14 +656,14 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
629
  }
630
 
631
  // No Mollie payment id provided
632
- if (empty($_REQUEST['id']))
633
  {
634
  Mollie_WC_Plugin::setHttpResponseCode(400);
635
  Mollie_WC_Plugin::debug(__METHOD__ . ': No payment ID provided.', true);
636
  return;
637
  }
638
 
639
- $payment_id = $_REQUEST['id'];
640
  $test_mode = $data_helper->getActiveMolliePaymentMode($order_id) == 'test';
641
 
642
  // Load the payment from Mollie, do not use cache
@@ -657,15 +684,6 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
657
  return;
658
  }
659
 
660
- // Payment requires different gateway, payment method changed on Mollie platform?
661
- $isValidPaymentMethod = $this->isValidPaymentMethod($payment);
662
- if (!$isValidPaymentMethod)
663
- {
664
- Mollie_WC_Plugin::setHttpResponseCode(400);
665
- Mollie_WC_Plugin::debug($this->id . ": Invalid gateway. This gateways can process Mollie " . $this->getMollieMethodId() . " payments. This payment has payment method " . $payment->method, true);
666
- return;
667
- }
668
-
669
  // Order does not need a payment
670
  if (!$this->orderNeedsPayment($order))
671
  {
@@ -718,23 +736,22 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
718
 
719
  }
720
 
721
- /**
722
- * @param $payment
723
- * @return bool
724
- */
725
- protected function isValidPaymentMethod($payment)
726
- {
727
- $isValidPaymentMethod = $payment->method == $this->getMollieMethodId();
728
- return $isValidPaymentMethod;
729
- }
730
-
731
  /**
732
  * @param WC_Order $order
733
  * @param Mollie_API_Object_Payment $payment
734
  */
735
  protected function onWebhookPaid(WC_Order $order, Mollie_API_Object_Payment $payment)
736
  {
737
- Mollie_WC_Plugin::debug(__METHOD__ . ' called.');
 
 
 
 
 
 
 
 
 
738
 
739
  // WooCommerce 2.2.0 has the option to store the Payment transaction id.
740
  $woo_version = get_option('woocommerce_version', 'Unknown');
@@ -755,6 +772,10 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
755
  $paymentMethodTitle,
756
  $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : '')
757
  ));
 
 
 
 
758
  }
759
 
760
  /**
@@ -777,19 +798,22 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
777
  */
778
  protected function onWebhookCancelled(WC_Order $order, Mollie_API_Object_Payment $payment)
779
  {
780
- Mollie_WC_Plugin::debug(__METHOD__ . ' called.');
781
 
782
- // Unset active Mollie payment id
783
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
784
- Mollie_WC_Plugin::getDataHelper()
785
- ->unsetActiveMolliePayment($order->id)
786
- ->setCancelledMolliePaymentId($order->id, $payment->id);
787
  } else {
788
- Mollie_WC_Plugin::getDataHelper()
789
- ->unsetActiveMolliePayment($order->get_id())
790
- ->setCancelledMolliePaymentId($order->get_id(), $payment->id);
791
  }
792
 
 
 
 
 
 
 
 
 
793
  // New order status
794
  $new_order_status = self::STATUS_PENDING;
795
 
@@ -819,7 +843,36 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
819
  */
820
  protected function onWebhookExpired(WC_Order $order, Mollie_API_Object_Payment $payment)
821
  {
822
- Mollie_WC_Plugin::debug(__METHOD__ . ' called.');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
823
 
824
  // New order status
825
  $new_order_status = self::STATUS_CANCELLED;
@@ -833,49 +886,56 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
833
  // Cancel order
834
  $this->updateOrderStatus($order, $new_order_status);
835
 
836
- $paymentMethodTitle = $this->getPaymentMethodTitle($payment);
837
-
838
  $order->add_order_note(sprintf(
839
  /* translators: Placeholder 1: payment method title, placeholder 2: payment ID */
840
  __('%s payment expired (%s).', 'mollie-payments-for-woocommerce'),
841
  $paymentMethodTitle,
842
  $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : '')
843
  ));
 
 
 
 
844
  }
845
 
846
  /**
847
  * @param WC_Order $order
848
  * @return string
849
  */
850
- public function getReturnRedirectUrlForOrder(WC_Order $order)
851
- {
852
- $data_helper = Mollie_WC_Plugin::getDataHelper();
853
 
854
- $hasCancelledMolliePayment = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? $data_helper->hasCancelledMolliePayment($order->id) : $data_helper->hasCancelledMolliePayment($order->get_id());;
855
 
856
- if ($hasCancelledMolliePayment)
857
- {
858
- Mollie_WC_Plugin::addNotice(__('You have cancelled your payment. Please complete your order with a different payment method.', 'mollie-payments-for-woocommerce'));
859
 
860
- if (method_exists($order, 'get_checkout_payment_url'))
861
- {
862
- /*
863
- * Return to order payment page
864
- */
865
- return $order->get_checkout_payment_url(false);
866
- }
867
 
868
- /*
869
- * Return to cart
870
- */
871
- return WC()->cart->get_checkout_url();
872
- }
873
 
874
- /*
875
- * Return to order received page
876
- */
877
- return $this->get_return_url($order);
878
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
879
 
880
  /**
881
  * Process a refund if supported
@@ -1249,6 +1309,11 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
1249
  */
1250
  abstract public function getDefaultTitle ();
1251
 
 
 
 
 
 
1252
  /**
1253
  * @return string
1254
  */
49
  $this->id = strtolower(get_class($this));
50
  // Set gateway title (visible in admin)
51
  $this->method_title = 'Mollie - ' . $this->getDefaultTitle();
52
+ $this->method_description = $this->getSettingsDescription();
53
 
54
  // Load the settings.
55
  $this->init_form_fields();
136
  */
137
  public function getIconUrl ()
138
  {
139
+ return Mollie_WC_Plugin::getPluginUrl('assets/images/' . $this->getMollieMethodId() . '.png');
140
  }
141
 
142
+ /**
143
+ * @return string
144
+ */
145
+ public function getIssuerIconUrl( $issuer_id ) {
146
+ return Mollie_WC_Plugin::getPluginUrl( 'assets/images/' . $issuer_id . '.png' );
147
+ }
148
+
149
  protected function _initIcon ()
150
  {
151
  if ($this->display_logo)
353
  Mollie_WC_Plugin::debug( $this->id . ': Payment ' . $payment->id . ' (' . $payment->mode . ') created for order ' . $order->get_id() );
354
  }
355
 
356
+ // Update initial order status for payment methods where the payment status will be delivered after a couple of days.
357
+ // See: https://www.mollie.com/nl/docs/status#expiry-times-per-payment-method
358
+ // Status is only updated if the new status is not the same as the default order status (pending)
359
+ if ( ( $payment->method == 'banktransfer' ) || ( $payment->method == 'directdebit' ) ) {
360
+
361
+ // Don't change the status of the order if it's Partially Paid
362
+ // This adds support for WooCommerce Deposits (by Webtomizer)
363
+ // See https://github.com/mollie/WooCommerce/issues/138
364
+
365
+ $order_status = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? $order->status : $order->get_status();
366
+
367
+ if ( $order_status != 'wc-partially-paid ' ) {
368
+
369
+ $this->updateOrderStatus(
370
+ $order,
371
+ $initial_order_status,
372
+ __( 'Awaiting payment confirmation.', 'mollie-payments-for-woocommerce' ) . "\n"
373
+ );
374
+
375
+ }
376
+ }
377
+
378
 
379
  $order->add_order_note(sprintf(
380
  /* translators: Placeholder 1: Payment method title, placeholder 2: payment ID */
383
  $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : '')
384
  ));
385
 
386
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
387
+ Mollie_WC_Plugin::debug( "For order " . $order->id . " redirect user to payment URL: {$payment->getPaymentUrl()}" );
388
+ } else {
389
+ Mollie_WC_Plugin::debug( "For order " . $order->get_id() . " redirect user to payment URL: {$payment->getPaymentUrl()}" );
390
+ }
391
 
392
  return array(
393
  'result' => 'success',
635
  return;
636
  }
637
 
638
+ $order_id = sanitize_text_field( $_GET['order_id'] );
639
+ $key = sanitize_text_field( $_GET['key'] );
640
 
641
  $data_helper = Mollie_WC_Plugin::getDataHelper();
642
  $order = $data_helper->getWcOrder($order_id);
656
  }
657
 
658
  // No Mollie payment id provided
659
+ if (empty($_POST['id']))
660
  {
661
  Mollie_WC_Plugin::setHttpResponseCode(400);
662
  Mollie_WC_Plugin::debug(__METHOD__ . ': No payment ID provided.', true);
663
  return;
664
  }
665
 
666
+ $payment_id = sanitize_text_field( $_POST['id'] );
667
  $test_mode = $data_helper->getActiveMolliePaymentMode($order_id) == 'test';
668
 
669
  // Load the payment from Mollie, do not use cache
684
  return;
685
  }
686
 
 
 
 
 
 
 
 
 
 
687
  // Order does not need a payment
688
  if (!$this->orderNeedsPayment($order))
689
  {
736
 
737
  }
738
 
 
 
 
 
 
 
 
 
 
 
739
  /**
740
  * @param WC_Order $order
741
  * @param Mollie_API_Object_Payment $payment
742
  */
743
  protected function onWebhookPaid(WC_Order $order, Mollie_API_Object_Payment $payment)
744
  {
745
+
746
+ // Get order ID in the correct way depending on WooCommerce version
747
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
748
+ $order_id = $order->id;
749
+ } else {
750
+ $order_id = $order->get_id();
751
+ }
752
+
753
+ // Add messages to log
754
+ Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
755
 
756
  // WooCommerce 2.2.0 has the option to store the Payment transaction id.
757
  $woo_version = get_option('woocommerce_version', 'Unknown');
772
  $paymentMethodTitle,
773
  $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : '')
774
  ));
775
+
776
+ // Remove (old) cancelled payments from this order
777
+ Mollie_WC_Plugin::getDataHelper()->unsetCancelledMolliePaymentId( $order_id );
778
+
779
  }
780
 
781
  /**
798
  */
799
  protected function onWebhookCancelled(WC_Order $order, Mollie_API_Object_Payment $payment)
800
  {
 
801
 
802
+ // Get order ID in the correct way depending on WooCommerce version
803
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
804
+ $order_id = $order->id;
 
 
805
  } else {
806
+ $order_id = $order->get_id();
 
 
807
  }
808
 
809
+ // Add messages to log
810
+ Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
811
+
812
+ Mollie_WC_Plugin::getDataHelper()
813
+ ->unsetActiveMolliePayment( $order_id, $payment->id )
814
+ ->setCancelledMolliePaymentId( $order_id, $payment->id );
815
+
816
+
817
  // New order status
818
  $new_order_status = self::STATUS_PENDING;
819
 
843
  */
844
  protected function onWebhookExpired(WC_Order $order, Mollie_API_Object_Payment $payment)
845
  {
846
+
847
+ // Get order ID in correct way depending on WooCommerce version
848
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
849
+ $order_id = $order->id;
850
+ $mollie_payment_id = get_post_meta( $order_id, '_mollie_payment_id', $single = true );
851
+ } else {
852
+ $order_id = $order->get_id();
853
+ $mollie_payment_id = $order->get_meta( '_mollie_payment_id', true );
854
+ }
855
+
856
+ // Add messages to log
857
+ Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id );
858
+
859
+ // Get payment method title for use in log messages and order notes
860
+ $paymentMethodTitle = $this->getPaymentMethodTitle($payment);
861
+
862
+ // Check that this payment is the most recent, based on Mollie Payment ID from post meta, do not cancel the order if it isn't
863
+ if ( $mollie_payment_id != $payment->id) {
864
+ Mollie_WC_Plugin::debug( __METHOD__ . ' called for order ' . $order_id . ' and payment ' . $payment->id . ', not processed because of a newer pending payment ' . $mollie_payment_id );
865
+
866
+ $order->add_order_note(sprintf(
867
+ /* translators: Placeholder 1: payment method title, placeholder 2: payment ID */
868
+ __('%s payment expired (%s) but order not cancelled because of another pending payment (%s).', 'mollie-payments-for-woocommerce'),
869
+ $paymentMethodTitle,
870
+ $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : ''),
871
+ $mollie_payment_id
872
+ ));
873
+
874
+ return;
875
+ }
876
 
877
  // New order status
878
  $new_order_status = self::STATUS_CANCELLED;
886
  // Cancel order
887
  $this->updateOrderStatus($order, $new_order_status);
888
 
 
 
889
  $order->add_order_note(sprintf(
890
  /* translators: Placeholder 1: payment method title, placeholder 2: payment ID */
891
  __('%s payment expired (%s).', 'mollie-payments-for-woocommerce'),
892
  $paymentMethodTitle,
893
  $payment->id . ($payment->mode == 'test' ? (' - ' . __('test mode', 'mollie-payments-for-woocommerce')) : '')
894
  ));
895
+
896
+ // Remove (old) cancelled payments from this order
897
+ Mollie_WC_Plugin::getDataHelper()->unsetCancelledMolliePaymentId( $order_id );
898
+
899
  }
900
 
901
  /**
902
  * @param WC_Order $order
903
  * @return string
904
  */
905
+ public function getReturnRedirectUrlForOrder( WC_Order $order ) {
906
+ $data_helper = Mollie_WC_Plugin::getDataHelper();
 
907
 
 
908
 
909
+ if ( $this->orderNeedsPayment( $order ) ) {
 
 
910
 
911
+ $hasCancelledMolliePayment = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? $data_helper->hasCancelledMolliePayment( $order->id ) : $data_helper->hasCancelledMolliePayment( $order->get_id() );;
 
 
 
 
 
 
912
 
913
+ if ( $hasCancelledMolliePayment ) {
 
 
 
 
914
 
915
+ Mollie_WC_Plugin::addNotice( __( 'You have cancelled your payment. Please complete your order with a different payment method.', 'mollie-payments-for-woocommerce' ) );
916
+
917
+ if ( method_exists( $order, 'get_checkout_payment_url' ) ) {
918
+ /*
919
+ * Return to order payment page
920
+ */
921
+ return $order->get_checkout_payment_url( false );
922
+ }
923
+
924
+ /*
925
+ * Return to cart
926
+ */
927
+
928
+ return WC()->cart->get_checkout_url();
929
+
930
+ }
931
+ }
932
+
933
+ /*
934
+ * Return to order received page
935
+ */
936
+
937
+ return $this->get_return_url( $order );
938
+ }
939
 
940
  /**
941
  * Process a refund if supported
1309
  */
1310
  abstract public function getDefaultTitle ();
1311
 
1312
+ /**
1313
+ * @return string
1314
+ */
1315
+ abstract protected function getSettingsDescription ();
1316
+
1317
  /**
1318
  * @return string
1319
  */
includes/mollie/wc/gateway/abstractseparecurring.php CHANGED
@@ -241,23 +241,4 @@ abstract class Mollie_WC_Gateway_AbstractSepaRecurring extends Mollie_WC_Gateway
241
 
242
  }
243
 
244
- /**
245
- * @param $payment
246
- * @return bool
247
- */
248
- protected function isValidPaymentMethod($payment)
249
- {
250
- $isValidPaymentMethod = parent::isValidPaymentMethod($payment);
251
- $orderId = $payment->metadata->order_id;
252
-
253
- // First payment was made by one gateway, and the next from another.
254
- // For Example Recurring First with IDEAL, the second With SEPA Direct Debit
255
- if ($orderId && $this->is_subscription($orderId)){
256
- $isValidPaymentMethod = in_array($payment->method, array($this->getMollieMethodId(),$this->getRecurringMollieMethodId()));
257
- }
258
-
259
- return $isValidPaymentMethod;
260
- }
261
-
262
-
263
  }
241
 
242
  }
243
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  }
includes/mollie/wc/gateway/abstractsubscription.php CHANGED
@@ -158,6 +158,66 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
158
  }
159
  }
160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  /**
162
  * @param $amount_to_charge
163
  * @param $renewal_order
@@ -210,7 +270,7 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
210
  // Create Mollie payment with customer id.
211
  try
212
  {
213
- Mollie_WC_Plugin::debug($this->id . ': Fetch mandate' . $renewal_order_id);
214
  $mandates = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->customers_mandates->withParentId($customer_id)->all();
215
  $validMandate = false;
216
  foreach ($mandates as $mandate) {
@@ -225,7 +285,7 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
225
  $payment = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->payments->create($data);
226
  } else {
227
  Mollie_WC_Plugin::debug($this->id . 'Payment problem ' . $renewal_order_id);
228
- throw new Mollie_API_Exception(__('Payment cannot be processed.', 'mollie-payments-for-woocommerce-mandate-problem'));
229
  }
230
  }
231
  catch (Mollie_API_Exception $e)
@@ -239,6 +299,33 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
239
  unset($data['customerId']);
240
  $payment = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->payments->create($data);
241
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
242
  Mollie_WC_Plugin::debug($this->id . ': Created payment for order ' . $renewal_order_id. ' payment json response '.json_encode($payment));
243
  Mollie_WC_Plugin::getDataHelper()->unsetActiveMolliePayment($renewal_order_id);
244
  // Set active Mollie payment
@@ -247,6 +334,7 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
247
  // Set Mollie customer
248
  $this->setUserMollieCustomerId($renewal_order_id, $payment->customerId);
249
 
 
250
  do_action(Mollie_WC_Plugin::PLUGIN_ID . '_payment_created', $payment, $renewal_order);
251
 
252
  Mollie_WC_Plugin::debug($this->id . ': Payment ' . $payment->id . ' (' . $payment->mode . ') created for order ' . $renewal_order_id);
@@ -255,6 +343,8 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
255
  // Status is only updated if the new status is not the same as the default order status (pending)
256
  $this->_updateScheduledPaymentOrder($renewal_order, $initial_order_status, $payment);
257
 
 
 
258
 
259
  return array(
260
  'result' => 'success',
@@ -452,12 +542,19 @@ abstract class Mollie_WC_Gateway_AbstractSubscription extends Mollie_WC_Gateway_
452
  {
453
  $userdata = get_userdata($user_id);
454
 
455
- $customer = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->customers->create(array(
456
- 'name' => trim($userdata->user_nicename),
457
- 'email' => trim($userdata->user_email),
458
- 'locale' => trim($this->getCurrentLocale()),
459
- 'metadata' => array('user_id' => $user_id),
460
- ));
 
 
 
 
 
 
 
461
 
462
 
463
  $customer_id = $customer->id;
158
  }
159
  }
160
 
161
+ /**
162
+ * @param $renewal_order
163
+ * @param $payment
164
+ *
165
+ * @return void
166
+ */
167
+ public function update_subscription_status_for_direct_debit( $renewal_order, $payment ) {
168
+
169
+ // Get renewal order id
170
+ $renewal_order_id = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? $renewal_order->id : $renewal_order->get_id();
171
+
172
+ // Make sure order is a renewal order with subscription
173
+ if ( wcs_order_contains_renewal( $renewal_order_id ) ) {
174
+
175
+ // Get required information about order and subscription
176
+ $renewal_order = Mollie_WC_Plugin::getDataHelper()->getWcOrder( $renewal_order_id );
177
+ $mollie_payment_id = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? get_post_meta( $renewal_order_id, '_mollie_payment_id', $single = true ) : $renewal_order->get_meta( '_mollie_payment_id', $single = true );
178
+ $subscription_id = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? get_post_meta( $renewal_order_id, '_subscription_renewal', $single = true ) : $renewal_order->get_meta( '_subscription_renewal', $single = true );
179
+ $subscription = wcs_get_subscription( $subscription_id );
180
+ $current_method = ( version_compare( WC_VERSION, '3.0', '<' ) ) ? get_post_meta( $renewal_order_id, '_payment_method', $single = true ) : $subscription->get_payment_method();
181
+
182
+ // Check that subscription status isn't already active
183
+ if ( $subscription->get_status() == 'active' ) {
184
+ return;
185
+ }
186
+
187
+ // Check that payment method is SEPA Direct Debit or similar
188
+ $methods_needing_update = array (
189
+ 'mollie_wc_gateway_directdebit',
190
+ 'mollie_wc_gateway_ideal',
191
+ 'mollie_wc_gateway_mistercash',
192
+ 'mollie_wc_gateway_bancontact',
193
+ 'mollie_wc_gateway_sofort',
194
+ 'mollie_wc_gateway_kbc',
195
+ 'mollie_wc_gateway_belfius',
196
+ );
197
+
198
+ if ( in_array( $current_method, $methods_needing_update ) == false ) {
199
+ return;
200
+ }
201
+
202
+ // Check that a new payment is made for renewal order
203
+ if ( $mollie_payment_id == null ) {
204
+ return;
205
+ }
206
+
207
+ // Update subscription to Active
208
+ $subscription->update_status( 'active' );
209
+
210
+ // Add order note to subscription explaining the change
211
+ $subscription->add_order_note(
212
+ /* translators: Placeholder 1: Payment method title, placeholder 2: payment ID */
213
+ __( 'Updated subscription from \'On hold\' to \'Active\' until payment fails, because a SEPA Direct Debit payment takes some time to process.', 'mollie-payments-for-woocommerce' )
214
+ );
215
+
216
+ }
217
+ return;
218
+
219
+ }
220
+
221
  /**
222
  * @param $amount_to_charge
223
  * @param $renewal_order
270
  // Create Mollie payment with customer id.
271
  try
272
  {
273
+ Mollie_WC_Plugin::debug($this->id . ': Fetch mandate ' . $renewal_order_id);
274
  $mandates = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->customers_mandates->withParentId($customer_id)->all();
275
  $validMandate = false;
276
  foreach ($mandates as $mandate) {
285
  $payment = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->payments->create($data);
286
  } else {
287
  Mollie_WC_Plugin::debug($this->id . 'Payment problem ' . $renewal_order_id);
288
+ throw new Mollie_API_Exception(__('Payment cannot be processed, no valid mandate.', 'mollie-payments-for-woocommerce-mandate-problem'));
289
  }
290
  }
291
  catch (Mollie_API_Exception $e)
299
  unset($data['customerId']);
300
  $payment = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->payments->create($data);
301
  }
302
+
303
+ // Update payment method to actual payment method used for renewal order, this is
304
+ // for subscriptions where the first order used methods like iDEAL as first payment and
305
+ // later renewal orders switch to SEPA Direct Debit.
306
+
307
+ $methods_needing_update = array (
308
+ 'mollie_wc_gateway_ideal',
309
+ 'mollie_wc_gateway_mistercash',
310
+ 'mollie_wc_gateway_bancontact',
311
+ 'mollie_wc_gateway_sofort',
312
+ 'mollie_wc_gateway_kbc',
313
+ 'mollie_wc_gateway_belfius',
314
+ );
315
+
316
+ $current_method = get_post_meta( $renewal_order_id, '_payment_method', $single = true );
317
+
318
+ if ( in_array( $current_method, $methods_needing_update ) && $payment->method == 'directdebit' ) {
319
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
320
+ update_post_meta( $renewal_order_id, '_payment_method', 'mollie_wc_gateway_directdebit' );
321
+ update_post_meta( $renewal_order_id, '_payment_method_title', 'SEPA Direct Debit' );
322
+ } else {
323
+ $renewal_order->update_meta_data( '_payment_method', 'mollie_wc_gateway_directdebit' );
324
+ $renewal_order->update_meta_data( '_payment_method_title', 'SEPA Direct Debit' );
325
+ $renewal_order->save();
326
+ }
327
+ }
328
+
329
  Mollie_WC_Plugin::debug($this->id . ': Created payment for order ' . $renewal_order_id. ' payment json response '.json_encode($payment));
330
  Mollie_WC_Plugin::getDataHelper()->unsetActiveMolliePayment($renewal_order_id);
331
  // Set active Mollie payment
334
  // Set Mollie customer
335
  $this->setUserMollieCustomerId($renewal_order_id, $payment->customerId);
336
 
337
+ // Tell WooCommerce a new payment was created for the order/subscription
338
  do_action(Mollie_WC_Plugin::PLUGIN_ID . '_payment_created', $payment, $renewal_order);
339
 
340
  Mollie_WC_Plugin::debug($this->id . ': Payment ' . $payment->id . ' (' . $payment->mode . ') created for order ' . $renewal_order_id);
343
  // Status is only updated if the new status is not the same as the default order status (pending)
344
  $this->_updateScheduledPaymentOrder($renewal_order, $initial_order_status, $payment);
345
 
346
+ // Update status of subscriptions with payment method SEPA Direct Debit or similar
347
+ $this->update_subscription_status_for_direct_debit( $renewal_order, $payment );
348
 
349
  return array(
350
  'result' => 'success',
542
  {
543
  $userdata = get_userdata($user_id);
544
 
545
+ // Get the best name for use as Mollie Customer name
546
+ $user_full_name = $userdata->first_name . ' ' . $userdata->last_name;
547
+
548
+ if ( strlen( trim( $user_full_name ) ) == null ) {
549
+ $user_full_name = $userdata->display_name;
550
+ }
551
+
552
+ $customer = Mollie_WC_Plugin::getApiHelper()->getApiClient( $test_mode )->customers->create( array (
553
+ 'name' => trim( $user_full_name ),
554
+ 'email' => trim( $userdata->user_email ),
555
+ 'locale' => trim( $this->getCurrentLocale() ),
556
+ 'metadata' => array ( 'user_id' => $user_id ),
557
+ ) );
558
 
559
 
560
  $customer_id = $customer->id;
includes/mollie/wc/gateway/banktransfer.php CHANGED
@@ -130,6 +130,13 @@ class Mollie_WC_Gateway_BankTransfer extends Mollie_WC_Gateway_Abstract
130
  return __('Bank Transfer', 'mollie-payments-for-woocommerce');
131
  }
132
 
 
 
 
 
 
 
 
133
  /**
134
  * @return string
135
  */
130
  return __('Bank Transfer', 'mollie-payments-for-woocommerce');
131
  }
132
 
133
+ /**
134
+ * @return string
135
+ */
136
+ protected function getSettingsDescription() {
137
+ return '';
138
+ }
139
+
140
  /**
141
  * @return string
142
  */
includes/mollie/wc/gateway/belfius.php CHANGED
@@ -30,6 +30,13 @@ class Mollie_WC_Gateway_Belfius extends Mollie_WC_Gateway_AbstractSepaRecurring
30
  return __('Belfius Direct Net', 'mollie-payments-for-woocommerce');
31
  }
32
 
 
 
 
 
 
 
 
33
  /**
34
  * @return string
35
  */
30
  return __('Belfius Direct Net', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
+ /**
34
+ * @return string
35
+ */
36
+ protected function getSettingsDescription() {
37
+ return '';
38
+ }
39
+
40
  /**
41
  * @return string
42
  */
includes/mollie/wc/gateway/bitcoin.php CHANGED
@@ -17,6 +17,13 @@ class Mollie_WC_Gateway_Bitcoin extends Mollie_WC_Gateway_Abstract
17
  return __('Bitcoin', 'mollie-payments-for-woocommerce');
18
  }
19
 
 
 
 
 
 
 
 
20
  /**
21
  * @return string
22
  */
17
  return __('Bitcoin', 'mollie-payments-for-woocommerce');
18
  }
19
 
20
+ /**
21
+ * @return string
22
+ */
23
+ protected function getSettingsDescription() {
24
+ return '';
25
+ }
26
+
27
  /**
28
  * @return string
29
  */
includes/mollie/wc/gateway/creditcard.php CHANGED
@@ -30,7 +30,14 @@ class Mollie_WC_Gateway_Creditcard extends Mollie_WC_Gateway_AbstractSubscriptio
30
  return __('Credit card', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
- /**
 
 
 
 
 
 
 
34
  * @return string
35
  */
36
  protected function getDefaultDescription ()
30
  return __('Credit card', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
+ /**
34
+ * @return string
35
+ */
36
+ protected function getSettingsDescription() {
37
+ return '';
38
+ }
39
+
40
+ /**
41
  * @return string
42
  */
43
  protected function getDefaultDescription ()
includes/mollie/wc/gateway/directdebit.php CHANGED
@@ -1,60 +1,74 @@
1
  <?php
2
- class Mollie_WC_Gateway_DirectDebit extends Mollie_WC_Gateway_Abstract
3
- {
4
  /**
5
  * @return string
6
  */
7
- public function getMollieMethodId ()
8
- {
9
  return Mollie_API_Object_Method::DIRECTDEBIT;
10
  }
11
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  /**
13
  * @return string
14
  */
15
- public function getDefaultTitle ()
16
- {
17
- return __('SEPA Direct Debit', 'mollie-payments-for-woocommerce');
18
  }
19
 
20
  /**
21
  * @return string
22
  */
23
- protected function getDefaultDescription ()
24
- {
 
 
 
 
 
 
25
  return '';
26
  }
27
 
28
- /**
29
- * {@inheritdoc}
30
- *
31
- * @return bool
32
- */
33
- protected function paymentConfirmationAfterCoupleOfDays ()
34
- {
35
- return true;
36
- }
37
 
38
  /**
39
  * @param WC_Order $order
40
  * @param Mollie_API_Object_Payment $payment
41
  * @param bool $admin_instructions
42
  * @param bool $plain_text
 
43
  * @return string|null
44
  */
45
- protected function getInstructions (WC_Order $order, Mollie_API_Object_Payment $payment, $admin_instructions, $plain_text)
46
- {
47
- if ($payment->isPaid() && $payment->details)
48
- {
49
  return sprintf(
50
  /* translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN, placeholder 3: consumer BIC */
51
- __('Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)', 'mollie-payments-for-woocommerce'),
52
  $payment->details->consumerName,
53
- implode(' ', str_split($payment->details->consumerAccount, 4)),
54
  $payment->details->consumerBic
55
  );
56
  }
57
 
58
- return parent::getInstructions($order, $payment, $admin_instructions, $plain_text);
59
  }
60
  }
1
  <?php
2
+
3
+ class Mollie_WC_Gateway_DirectDebit extends Mollie_WC_Gateway_Abstract {
4
  /**
5
  * @return string
6
  */
7
+ public function getMollieMethodId() {
 
8
  return Mollie_API_Object_Method::DIRECTDEBIT;
9
  }
10
 
11
+ /**
12
+ * Initialise Gateway Settings Form Fields
13
+ */
14
+ public function init_form_fields() {
15
+ parent::init_form_fields();
16
+
17
+ unset( $this->form_fields['title'] );
18
+ unset( $this->form_fields['display_logo'] );
19
+ unset( $this->form_fields['description'] );
20
+
21
+ }
22
+
23
  /**
24
  * @return string
25
  */
26
+ public function getDefaultTitle() {
27
+ return __( 'SEPA Direct Debit', 'mollie-payments-for-woocommerce' );
 
28
  }
29
 
30
  /**
31
  * @return string
32
  */
33
+ protected function getSettingsDescription() {
34
+ return __( 'SEPA Direct Debit is used for recurring payments with WooCommerce Subscriptions, and will not be shown in the WooCommerce checkout for regular payments! You also need to enable iDEAL is you want to use SEPA Direct Debit.', 'mollie-payments-for-woocommerce' );
35
+ }
36
+
37
+ /**
38
+ * @return string
39
+ */
40
+ protected function getDefaultDescription() {
41
  return '';
42
  }
43
 
44
+ /**
45
+ * {@inheritdoc}
46
+ *
47
+ * @return bool
48
+ */
49
+ protected function paymentConfirmationAfterCoupleOfDays() {
50
+ return true;
51
+ }
 
52
 
53
  /**
54
  * @param WC_Order $order
55
  * @param Mollie_API_Object_Payment $payment
56
  * @param bool $admin_instructions
57
  * @param bool $plain_text
58
+ *
59
  * @return string|null
60
  */
61
+ protected function getInstructions( WC_Order $order, Mollie_API_Object_Payment $payment, $admin_instructions, $plain_text ) {
62
+ if ( $payment->isPaid() && $payment->details ) {
 
 
63
  return sprintf(
64
  /* translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN, placeholder 3: consumer BIC */
65
+ __( 'Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)', 'mollie-payments-for-woocommerce' ),
66
  $payment->details->consumerName,
67
+ implode( ' ', str_split( $payment->details->consumerAccount, 4 ) ),
68
  $payment->details->consumerBic
69
  );
70
  }
71
 
72
+ return parent::getInstructions( $order, $payment, $admin_instructions, $plain_text );
73
  }
74
  }
includes/mollie/wc/gateway/giftcard.php ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Mollie_WC_Gateway_Giftcard extends Mollie_WC_Gateway_Abstract
3
+ {
4
+ /**
5
+ *
6
+ */
7
+ public function __construct ()
8
+ {
9
+ $this->supports = array(
10
+ 'products',
11
+ 'refunds',
12
+ );
13
+
14
+ /* Has issuers dropdown */
15
+ $this->has_fields = TRUE;
16
+
17
+ parent::__construct();
18
+ }
19
+
20
+ /**
21
+ * Initialise Gateway Settings Form Fields
22
+ */
23
+ public function init_form_fields()
24
+ {
25
+ parent::init_form_fields();
26
+
27
+ $this->form_fields = array_merge($this->form_fields, array(
28
+ 'issuers_empty_option' => array(
29
+ 'title' => __('Issuers empty option', 'mollie-payments-for-woocommerce'),
30
+ 'type' => 'text',
31
+ 'description' => sprintf(__('This text will be displayed as the first option in the Giftcard issuers drop down', 'mollie-payments-for-woocommerce'), $this->getDefaultTitle()),
32
+ 'default' => '',
33
+ 'desc_tip' => true,
34
+ ),
35
+ ));
36
+ }
37
+
38
+ /**
39
+ * @return string
40
+ */
41
+ public function getMollieMethodId ()
42
+ {
43
+ return Mollie_API_Object_Method::GIFTCARD;
44
+ }
45
+
46
+ /**
47
+ * @return string
48
+ */
49
+ public function getDefaultTitle ()
50
+ {
51
+ return __('Gift cards', 'mollie-payments-for-woocommerce');
52
+ }
53
+
54
+ /**
55
+ * @return string
56
+ */
57
+ protected function getSettingsDescription() {
58
+ return '';
59
+ }
60
+
61
+ /**
62
+ * @return string
63
+ */
64
+ protected function getDefaultDescription ()
65
+ {
66
+ /* translators: Default gift card dropdown description, displayed above issuer drop down */
67
+ return __('Select your gift card', 'mollie-payments-for-woocommerce');
68
+ }
69
+ /**
70
+ * Display fields below payment method in checkout
71
+ */
72
+ public function payment_fields()
73
+ {
74
+
75
+ // Display description above issuers
76
+ parent::payment_fields();
77
+
78
+ $test_mode = Mollie_WC_Plugin::getSettingsHelper()->isTestModeEnabled();
79
+
80
+ $issuers = Mollie_WC_Plugin::getDataHelper()->getMethodIssuers(
81
+ $test_mode,
82
+ $this->getMollieMethodId()
83
+ );
84
+
85
+ $selected_issuer = $this->getSelectedIssuer();
86
+
87
+ $html = '';
88
+
89
+ // If only one gift card issuers is available, show it without a dropdown
90
+ if ( count( $issuers->issuers ) === 1 ) {
91
+ $html .= '<img src="' . $this->getIssuerIconUrl( $issuers->issuers[0]->id ) . '" style="vertical-align:middle" />';
92
+ $html .= $issuers->description;
93
+ echo wpautop( wptexturize( $html ) );
94
+
95
+ return;
96
+ }
97
+
98
+ // If multiple gift card issuers are available, show them in a dropdown
99
+ $html .= '<select name="' . Mollie_WC_Plugin::PLUGIN_ID . '_issuer_' . $this->id . '">';
100
+ $html .= '<option value="">' . esc_html( __( $this->get_option( 'issuers_empty_option', '' ), 'mollie-payments-for-woocommerce' ) ) . '</option>';
101
+ foreach ( $issuers->issuers as $issuer ) {
102
+ $html .= '<option value="' . esc_attr( $issuer->id ) . '"' . ( $selected_issuer == $issuer->id ? ' selected=""' : '' ) . '>' . esc_html( $issuer->name ) . '</option>';
103
+ }
104
+ $html .= '</select>';
105
+
106
+ echo wpautop( wptexturize( $html ) );
107
+
108
+ }
109
+
110
+ }
includes/mollie/wc/gateway/ideal.php CHANGED
@@ -51,6 +51,13 @@ class Mollie_WC_Gateway_Ideal extends Mollie_WC_Gateway_AbstractSepaRecurring
51
  return __('iDEAL', 'mollie-payments-for-woocommerce');
52
  }
53
 
 
 
 
 
 
 
 
54
  /**
55
  * @return string
56
  */
@@ -70,7 +77,7 @@ class Mollie_WC_Gateway_Ideal extends Mollie_WC_Gateway_AbstractSepaRecurring
70
 
71
  $test_mode = Mollie_WC_Plugin::getSettingsHelper()->isTestModeEnabled();
72
 
73
- $ideal_issuers = Mollie_WC_Plugin::getDataHelper()->getIssuers(
74
  $test_mode,
75
  $this->getMollieMethodId()
76
  );
@@ -79,7 +86,7 @@ class Mollie_WC_Gateway_Ideal extends Mollie_WC_Gateway_AbstractSepaRecurring
79
 
80
  $html = '<select name="' . Mollie_WC_Plugin::PLUGIN_ID . '_issuer_' . $this->id . '">';
81
  $html .= '<option value="">' . esc_html(__($this->get_option('issuers_empty_option', ''), 'mollie-payments-for-woocommerce')) . '</option>';
82
- foreach ($ideal_issuers as $issuer)
83
  {
84
  $html .= '<option value="' . esc_attr($issuer->id) . '"' . ($selected_issuer == $issuer->id ? ' selected=""' : '') . '>' . esc_html($issuer->name) . '</option>';
85
  }
51
  return __('iDEAL', 'mollie-payments-for-woocommerce');
52
  }
53
 
54
+ /**
55
+ * @return string
56
+ */
57
+ protected function getSettingsDescription() {
58
+ return '';
59
+ }
60
+
61
  /**
62
  * @return string
63
  */
77
 
78
  $test_mode = Mollie_WC_Plugin::getSettingsHelper()->isTestModeEnabled();
79
 
80
+ $issuers = Mollie_WC_Plugin::getDataHelper()->getMethodIssuers(
81
  $test_mode,
82
  $this->getMollieMethodId()
83
  );
86
 
87
  $html = '<select name="' . Mollie_WC_Plugin::PLUGIN_ID . '_issuer_' . $this->id . '">';
88
  $html .= '<option value="">' . esc_html(__($this->get_option('issuers_empty_option', ''), 'mollie-payments-for-woocommerce')) . '</option>';
89
+ foreach ($issuers->issuers as $issuer)
90
  {
91
  $html .= '<option value="' . esc_attr($issuer->id) . '"' . ($selected_issuer == $issuer->id ? ' selected=""' : '') . '>' . esc_html($issuer->name) . '</option>';
92
  }
includes/mollie/wc/gateway/kbc.php CHANGED
@@ -11,9 +11,30 @@ class Mollie_WC_Gateway_Kbc extends Mollie_WC_Gateway_Abstract
11
  'refunds',
12
  );
13
 
 
 
 
14
  parent::__construct();
15
  }
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  /**
18
  * @return string
19
  */
@@ -30,11 +51,48 @@ class Mollie_WC_Gateway_Kbc extends Mollie_WC_Gateway_Abstract
30
  return __('KBC/CBC Payment Button', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
- /**
 
 
 
 
 
 
 
34
  * @return string
35
  */
36
  protected function getDefaultDescription ()
37
  {
38
- return '';
 
39
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  }
11
  'refunds',
12
  );
13
 
14
+ /* Has issuers dropdown */
15
+ $this->has_fields = TRUE;
16
+
17
  parent::__construct();
18
  }
19
 
20
+ /**
21
+ * Initialise Gateway Settings Form Fields
22
+ */
23
+ public function init_form_fields()
24
+ {
25
+ parent::init_form_fields();
26
+
27
+ $this->form_fields = array_merge($this->form_fields, array(
28
+ 'issuers_empty_option' => array(
29
+ 'title' => __('Issuers empty option', 'mollie-payments-for-woocommerce'),
30
+ 'type' => 'text',
31
+ 'description' => sprintf(__('This text will be displayed as the first option in the KBC/CBC issuers drop down', 'mollie-payments-for-woocommerce'), $this->getDefaultTitle()),
32
+ 'default' => '',
33
+ 'desc_tip' => true,
34
+ ),
35
+ ));
36
+ }
37
+
38
  /**
39
  * @return string
40
  */
51
  return __('KBC/CBC Payment Button', 'mollie-payments-for-woocommerce');
52
  }
53
 
54
+ /**
55
+ * @return string
56
+ */
57
+ protected function getSettingsDescription() {
58
+ return '';
59
+ }
60
+
61
+ /**
62
  * @return string
63
  */
64
  protected function getDefaultDescription ()
65
  {
66
+ /* translators: Default KBC/CBC dropdown description, displayed above issuer drop down */
67
+ return __('Select your bank', 'mollie-payments-for-woocommerce');
68
  }
69
+
70
+ /**
71
+ * Display fields below payment method in checkout
72
+ */
73
+ public function payment_fields()
74
+ {
75
+ // Display description above issuers
76
+ parent::payment_fields();
77
+
78
+ $test_mode = Mollie_WC_Plugin::getSettingsHelper()->isTestModeEnabled();
79
+
80
+ $issuers = Mollie_WC_Plugin::getDataHelper()->getMethodIssuers(
81
+ $test_mode,
82
+ $this->getMollieMethodId()
83
+ );
84
+
85
+ $selected_issuer = $this->getSelectedIssuer();
86
+
87
+ $html = '<select name="' . Mollie_WC_Plugin::PLUGIN_ID . '_issuer_' . $this->id . '">';
88
+ $html .= '<option value="">' . esc_html(__($this->get_option('issuers_empty_option', ''), 'mollie-payments-for-woocommerce')) . '</option>';
89
+ foreach ($issuers->issuers as $issuer)
90
+ {
91
+ $html .= '<option value="' . esc_attr($issuer->id) . '"' . ($selected_issuer == $issuer->id ? ' selected=""' : '') . '>' . esc_html($issuer->name) . '</option>';
92
+ }
93
+ $html .= '</select>';
94
+
95
+ echo wpautop(wptexturize($html));
96
+ }
97
+
98
  }
includes/mollie/wc/gateway/mistercash.php CHANGED
@@ -30,7 +30,14 @@ class Mollie_WC_Gateway_MisterCash extends Mollie_WC_Gateway_AbstractSepaRecurri
30
  return __('Bancontact / Mister Cash', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
- /**
 
 
 
 
 
 
 
34
  * @return string
35
  */
36
  protected function getDefaultDescription ()
30
  return __('Bancontact / Mister Cash', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
+ /**
34
+ * @return string
35
+ */
36
+ protected function getSettingsDescription() {
37
+ return '';
38
+ }
39
+
40
+ /**
41
  * @return string
42
  */
43
  protected function getDefaultDescription ()
includes/mollie/wc/gateway/paypal.php CHANGED
@@ -30,7 +30,14 @@ class Mollie_WC_Gateway_PayPal extends Mollie_WC_Gateway_Abstract
30
  return __('PayPal', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
- /**
 
 
 
 
 
 
 
34
  * @return string
35
  */
36
  protected function getDefaultDescription ()
30
  return __('PayPal', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
+ /**
34
+ * @return string
35
+ */
36
+ protected function getSettingsDescription() {
37
+ return '';
38
+ }
39
+
40
+ /**
41
  * @return string
42
  */
43
  protected function getDefaultDescription ()
includes/mollie/wc/gateway/paysafecard.php CHANGED
@@ -17,7 +17,14 @@ class Mollie_WC_Gateway_Paysafecard extends Mollie_WC_Gateway_Abstract
17
  return __('paysafecard', 'mollie-payments-for-woocommerce');
18
  }
19
 
20
- /**
 
 
 
 
 
 
 
21
  * @return string
22
  */
23
  protected function getDefaultDescription ()
17
  return __('paysafecard', 'mollie-payments-for-woocommerce');
18
  }
19
 
20
+ /**
21
+ * @return string
22
+ */
23
+ protected function getSettingsDescription() {
24
+ return '';
25
+ }
26
+
27
+ /**
28
  * @return string
29
  */
30
  protected function getDefaultDescription ()
includes/mollie/wc/gateway/sofort.php CHANGED
@@ -30,7 +30,14 @@ class Mollie_WC_Gateway_Sofort extends Mollie_WC_Gateway_AbstractSepaRecurring
30
  return __('SOFORT Banking', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
- /**
 
 
 
 
 
 
 
34
  * @return string
35
  */
36
  protected function getDefaultDescription ()
30
  return __('SOFORT Banking', 'mollie-payments-for-woocommerce');
31
  }
32
 
33
+ /**
34
+ * @return string
35
+ */
36
+ protected function getSettingsDescription() {
37
+ return '';
38
+ }
39
+
40
+ /**
41
  * @return string
42
  */
43
  protected function getDefaultDescription ()
includes/mollie/wc/helper/api.php CHANGED
@@ -50,6 +50,7 @@ class Mollie_WC_Helper_Api
50
  $client->setApiEndpoint(self::getApiEndpoint());
51
  $client->addVersionString('WordPress/' . (isset($wp_version) ? $wp_version : 'Unknown'));
52
  $client->addVersionString('WooCommerce/' . get_option('woocommerce_version', 'Unknown'));
 
53
  $client->addVersionString('MollieWoo/' . Mollie_WC_Plugin::PLUGIN_VERSION);
54
 
55
  self::$api_client = $client;
50
  $client->setApiEndpoint(self::getApiEndpoint());
51
  $client->addVersionString('WordPress/' . (isset($wp_version) ? $wp_version : 'Unknown'));
52
  $client->addVersionString('WooCommerce/' . get_option('woocommerce_version', 'Unknown'));
53
+ $client->addVersionString('WooCommerceSubscriptions/' . get_option('woocommerce_subscriptions_active_version', 'Unknown'));
54
  $client->addVersionString('MollieWoo/' . Mollie_WC_Plugin::PLUGIN_VERSION);
55
 
56
  self::$api_client = $client;
includes/mollie/wc/helper/data.php CHANGED
@@ -24,6 +24,11 @@ class Mollie_WC_Helper_Data
24
  */
25
  protected static $api_issuers;
26
 
 
 
 
 
 
27
  /**
28
  * @var Mollie_WC_Helper_Api
29
  */
@@ -205,6 +210,12 @@ class Mollie_WC_Helper_Data
205
  'api_methods_live',
206
  'api_issuers_test',
207
  'api_issuers_live',
 
 
 
 
 
 
208
  );
209
 
210
  $languages = array_keys(apply_filters('wpml_active_languages', array()));
@@ -236,7 +247,7 @@ class Mollie_WC_Helper_Data
236
 
237
  if ($use_cache)
238
  {
239
- $payment = @unserialize(get_transient($transient_id));
240
 
241
  if ($payment && $payment instanceof Mollie_API_Object_Payment)
242
  {
@@ -246,7 +257,7 @@ class Mollie_WC_Helper_Data
246
 
247
  $payment = $this->api_helper->getApiClient($test_mode)->payments->get($payment_id);
248
 
249
- set_transient($transient_id, $payment, MINUTE_IN_SECONDS * 5);
250
 
251
  return $payment;
252
  }
@@ -332,7 +343,7 @@ class Mollie_WC_Helper_Data
332
 
333
  if ($use_cache)
334
  {
335
- $cached = @unserialize(get_transient($transient_id));
336
 
337
  if ($cached && $cached instanceof Mollie_API_Object_List)
338
  {
@@ -342,7 +353,7 @@ class Mollie_WC_Helper_Data
342
 
343
  $result = $this->api_helper->getApiClient($test_mode)->methods->all(0,0,$filters);
344
 
345
- set_transient($transient_id, $result, MINUTE_IN_SECONDS * 5);
346
 
347
  return $result;
348
  }
@@ -404,7 +415,7 @@ class Mollie_WC_Helper_Data
404
 
405
  if (empty(self::$api_issuers))
406
  {
407
- $cached = @unserialize(get_transient($transient_id));
408
 
409
  if ($cached && $cached instanceof Mollie_API_Object_List)
410
  {
@@ -414,7 +425,7 @@ class Mollie_WC_Helper_Data
414
  {
415
  self::$api_issuers = $this->api_helper->getApiClient($test_mode)->issuers->all();
416
 
417
- set_transient($transient_id, self::$api_issuers, MINUTE_IN_SECONDS * 5);
418
  }
419
  }
420
 
@@ -444,6 +455,44 @@ class Mollie_WC_Helper_Data
444
  return array();
445
  }
446
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
447
  /**
448
  * Save active Mollie payment id for order
449
  *
@@ -454,13 +503,13 @@ class Mollie_WC_Helper_Data
454
  public function setActiveMolliePayment ($order_id, Mollie_API_Object_Payment $payment)
455
  {
456
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
457
- add_post_meta( $order_id, '_mollie_payment_id', $payment->id, $single = true );
458
- add_post_meta( $order_id, '_mollie_payment_mode', $payment->mode, $single = true );
459
 
460
  delete_post_meta( $order_id, '_mollie_cancelled_payment_id' );
461
 
462
  if ( $payment->customerId ) {
463
- add_post_meta( $order_id, '_mollie_customer_id', $payment->customerId, $single = true );
464
  }
465
 
466
  } else {
@@ -509,6 +558,8 @@ class Mollie_WC_Helper_Data
509
  */
510
  public function getUserMollieCustomerId ($user_id, $test_mode = FALSE)
511
  {
 
 
512
  if (empty($user_id))
513
  {
514
  return NULL;
@@ -527,12 +578,20 @@ class Mollie_WC_Helper_Data
527
  {
528
  $userdata = get_userdata($user_id);
529
 
530
- $customer = $this->api_helper->getApiClient($test_mode)->customers->create(array(
531
- 'name' => trim($userdata->user_nicename),
532
- 'email' => trim($userdata->user_email),
533
- 'locale' => trim($this->getCurrentLocale()),
534
- 'metadata' => array('user_id' => $user_id),
535
- ));
 
 
 
 
 
 
 
 
536
 
537
  $this->setUserMollieCustomerId($user_id, $customer->id);
538
 
@@ -549,26 +608,40 @@ class Mollie_WC_Helper_Data
549
  return $customer_id;
550
  }
551
 
552
- /**
553
- * Delete active Mollie payment id for order
554
- *
555
- * @param int $order_id
556
- * @return $this
557
- */
558
- public function unsetActiveMolliePayment ($order_id)
559
- {
560
- if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
561
- delete_post_meta($order_id, '_mollie_payment_id');
562
- delete_post_meta($order_id, '_mollie_payment_mode');
563
- } else {
564
- $order = Mollie_WC_Plugin::getDataHelper()->getWcOrder( $order_id );
565
- $order->delete_meta_data( '_mollie_payment_id' );
566
- $order->delete_meta_data( '_mollie_payment_mode' );
567
- $order->save();
568
- }
569
-
570
- return $this;
571
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
572
 
573
  /**
574
  * Get active Mollie payment id for order
@@ -656,6 +729,35 @@ class Mollie_WC_Helper_Data
656
  return $this;
657
  }
658
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659
  /**
660
  * @param int $order_id
661
  * @return string|false
24
  */
25
  protected static $api_issuers;
26
 
27
+ /**
28
+ * @var Mollie_API_Object_Method[]
29
+ */
30
+ protected static $method_issuers;
31
+
32
  /**
33
  * @var Mollie_WC_Helper_Api
34
  */
210
  'api_methods_live',
211
  'api_issuers_test',
212
  'api_issuers_live',
213
+ 'ideal_issuers_test',
214
+ 'ideal_issuers_live',
215
+ 'kbc_issuers_test',
216
+ 'kbc_issuers_live',
217
+ 'giftcard_issuers_test',
218
+ 'giftcard_issuers_live',
219
  );
220
 
221
  $languages = array_keys(apply_filters('wpml_active_languages', array()));
247
 
248
  if ($use_cache)
249
  {
250
+ $payment = unserialize(get_transient($transient_id));
251
 
252
  if ($payment && $payment instanceof Mollie_API_Object_Payment)
253
  {
257
 
258
  $payment = $this->api_helper->getApiClient($test_mode)->payments->get($payment_id);
259
 
260
+ set_transient($transient_id, serialize($payment), MINUTE_IN_SECONDS * 5);
261
 
262
  return $payment;
263
  }
343
 
344
  if ($use_cache)
345
  {
346
+ $cached = unserialize(get_transient($transient_id));
347
 
348
  if ($cached && $cached instanceof Mollie_API_Object_List)
349
  {
353
 
354
  $result = $this->api_helper->getApiClient($test_mode)->methods->all(0,0,$filters);
355
 
356
+ set_transient($transient_id, serialize($result), MINUTE_IN_SECONDS * 5);
357
 
358
  return $result;
359
  }
415
 
416
  if (empty(self::$api_issuers))
417
  {
418
+ $cached = unserialize(get_transient($transient_id));
419
 
420
  if ($cached && $cached instanceof Mollie_API_Object_List)
421
  {
425
  {
426
  self::$api_issuers = $this->api_helper->getApiClient($test_mode)->issuers->all();
427
 
428
+ set_transient($transient_id, serialize(self::$api_issuers), MINUTE_IN_SECONDS * 5);
429
  }
430
  }
431
 
455
  return array();
456
  }
457
 
458
+
459
+ /**
460
+ * Get issuers for payment method (e.g. for iDEAL, KBC/CBC payment button, gift cards)
461
+ *
462
+ * @param bool $test_mode (default: false)
463
+ * @param string|null $method
464
+ *
465
+ * @return array|Mollie_API_Object_Issuer[]|Mollie_API_Object_List
466
+ */
467
+ public function getMethodIssuers( $test_mode = false, $method = null ) {
468
+ $locale = $this->getCurrentLocale();
469
+
470
+ try {
471
+ $transient_id = $this->getTransientId( $method . '_' . 'issuers_' . ( $test_mode ? 'test' : 'live' ) . "_$locale" );
472
+
473
+ if ( empty( $method_issuers ) ) {
474
+ $cached = unserialize( get_transient( $transient_id ) );
475
+
476
+ if ( $cached && $cached instanceof Mollie_API_Object_Method ) {
477
+ $method_issuers = $cached;
478
+ } else {
479
+
480
+ $method_issuers = $this->api_helper->getApiClient( $test_mode )->methods->get( "$method", array ( "include" => "issuers" ) );
481
+
482
+ set_transient( $transient_id, serialize( $method_issuers ), MINUTE_IN_SECONDS * 5 );
483
+ }
484
+ }
485
+
486
+ return $method_issuers;
487
+
488
+ }
489
+ catch ( Mollie_API_Exception $e ) {
490
+ Mollie_WC_Plugin::debug( __FUNCTION__ . ": Could not load " . $method . " issuers (" . ( $test_mode ? 'test' : 'live' ) . "): " . $e->getMessage() . ' (' . get_class( $e ) . ')' );
491
+ }
492
+
493
+ return array ();
494
+ }
495
+
496
  /**
497
  * Save active Mollie payment id for order
498
  *
503
  public function setActiveMolliePayment ($order_id, Mollie_API_Object_Payment $payment)
504
  {
505
  if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
506
+ update_post_meta( $order_id, '_mollie_payment_id', $payment->id, $single = true );
507
+ update_post_meta( $order_id, '_mollie_payment_mode', $payment->mode, $single = true );
508
 
509
  delete_post_meta( $order_id, '_mollie_cancelled_payment_id' );
510
 
511
  if ( $payment->customerId ) {
512
+ update_post_meta( $order_id, '_mollie_customer_id', $payment->customerId, $single = true );
513
  }
514
 
515
  } else {
558
  */
559
  public function getUserMollieCustomerId ($user_id, $test_mode = FALSE)
560
  {
561
+ // Guest users can't buy subscriptions and don't need a Mollie customer ID
562
+ // https://github.com/mollie/WooCommerce/issues/132
563
  if (empty($user_id))
564
  {
565
  return NULL;
578
  {
579
  $userdata = get_userdata($user_id);
580
 
581
+ // Get the best name for use as Mollie Customer name
582
+ $user_full_name = $userdata->first_name . ' ' . $userdata->last_name;
583
+
584
+ if ( strlen( trim( $user_full_name ) ) == null ) {
585
+ $user_full_name = $userdata->display_name;
586
+ }
587
+
588
+ // Create the Mollie Customer
589
+ $customer = $this->api_helper->getApiClient( $test_mode )->customers->create( array (
590
+ 'name' => trim( $user_full_name ),
591
+ 'email' => trim( $userdata->user_email ),
592
+ 'locale' => trim( $this->getCurrentLocale() ),
593
+ 'metadata' => array ( 'user_id' => $user_id ),
594
+ ) );
595
 
596
  $this->setUserMollieCustomerId($user_id, $customer->id);
597
 
608
  return $customer_id;
609
  }
610
 
611
+ /**
612
+ * Delete active Mollie payment id for order
613
+ *
614
+ * @param int $order_id
615
+ * @param string $payment_id
616
+ *
617
+ * @return $this
618
+ */
619
+ public function unsetActiveMolliePayment( $order_id, $payment_id = NULL ) {
620
+
621
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
622
+
623
+ // Only remove Mollie payment details if they belong to this payment, not when a new payment was already placed
624
+ $mollie_payment_id = get_post_meta( $order_id, '_mollie_payment_id', $single = true );
625
+
626
+ if ( $mollie_payment_id == $payment_id ) {
627
+ delete_post_meta( $order_id, '_mollie_payment_id' );
628
+ delete_post_meta( $order_id, '_mollie_payment_mode' );
629
+ }
630
+ } else {
631
+
632
+ // Only remove Mollie payment details if they belong to this payment, not when a new payment was already placed
633
+ $order = Mollie_WC_Plugin::getDataHelper()->getWcOrder( $order_id );
634
+ $mollie_payment_id = $order->get_meta( '_mollie_payment_id', true );
635
+
636
+ if ( $mollie_payment_id == $payment_id ) {
637
+ $order->delete_meta_data( '_mollie_payment_id' );
638
+ $order->delete_meta_data( '_mollie_payment_mode' );
639
+ $order->save();
640
+ }
641
+ }
642
+
643
+ return $this;
644
+ }
645
 
646
  /**
647
  * Get active Mollie payment id for order
729
  return $this;
730
  }
731
 
732
+ /**
733
+ * @param int $order_id
734
+ *
735
+ * @return null
736
+ */
737
+ public function unsetCancelledMolliePaymentId( $order_id ) {
738
+
739
+ // If this order contains a cancelled (previous) payment, remove it.
740
+ if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
741
+ $mollie_cancelled_payment_id = get_post_meta( $order_id, '_mollie_cancelled_payment_id', $single = true );
742
+
743
+ if ( ! empty( $mollie_cancelled_payment_id ) ) {
744
+ delete_post_meta( $order_id, '_mollie_cancelled_payment_id' );
745
+ }
746
+ } else {
747
+
748
+ $order = Mollie_WC_Plugin::getDataHelper()->getWcOrder( $order_id );
749
+ $mollie_cancelled_payment_id = $order->get_meta( '_mollie_cancelled_payment_id', true );
750
+
751
+ if ( ! empty( $mollie_cancelled_payment_id ) ) {
752
+ $order = Mollie_WC_Plugin::getDataHelper()->getWcOrder( $order_id );
753
+ $order->delete_meta_data( '_mollie_cancelled_payment_id' );
754
+ $order->save();
755
+ }
756
+ }
757
+
758
+ return null;
759
+ }
760
+
761
  /**
762
  * @param int $order_id
763
  * @return string|false
includes/mollie/wc/helper/settings.php CHANGED
@@ -126,9 +126,9 @@ class Mollie_WC_Helper_Settings
126
  {
127
  // Just stop here!
128
  return ''
129
- . '<div id="message" class="error fade">'
130
- . ' <strong>' . __('Error', 'mollie-payments-for-woocommerce') . ':</strong> ' . implode('<br/>', $status->getErrors())
131
- . '</div>';
132
  }
133
 
134
  try
@@ -166,7 +166,7 @@ class Mollie_WC_Helper_Settings
166
  }
167
 
168
  return ''
169
- . '<div id="message" class="' . $api_status_type . ' fade">'
170
  . $api_status
171
  . '</div>';
172
  }
@@ -184,10 +184,11 @@ class Mollie_WC_Helper_Settings
184
  {
185
  $content = '';
186
 
 
 
 
187
  try
188
  {
189
- $data_helper = Mollie_WC_Plugin::getDataHelper();
190
- $settings_helper = Mollie_WC_Plugin::getSettingsHelper();
191
 
192
  // Is Test mode enabled?
193
  $test_mode = $settings_helper->isTestModeEnabled();
@@ -244,14 +245,19 @@ class Mollie_WC_Helper_Settings
244
  $content .= $icon_no_available;
245
  }
246
 
247
- $content .= ' <a href="' . $this->getGatewaySettingsUrl($gateway_classname) . '">' . strtolower(__('Edit', 'mollie-payments-for-woocommerce')) . '</a>';
248
 
249
- $content .= '</li>';
250
  }
251
  }
252
 
253
  $content .= '</ul>';
254
  $content .= '<div class="clear"></div>';
 
 
 
 
 
255
  }
256
  catch (Mollie_WC_Exception_InvalidApiKey $e)
257
  {
@@ -474,4 +480,30 @@ class Mollie_WC_Helper_Settings
474
 
475
  return $new_settings;
476
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
477
  }
126
  {
127
  // Just stop here!
128
  return ''
129
+ . '<div class="notice notice-error">'
130
+ . '<p><strong>' . __('Error', 'mollie-payments-for-woocommerce') . ':</strong> ' . implode('<br/>', $status->getErrors())
131
+ . '</p></div>';
132
  }
133
 
134
  try
166
  }
167
 
168
  return ''
169
+ . '<div id="message" class="' . $api_status_type . ' fade notice">'
170
  . $api_status
171
  . '</div>';
172
  }
184
  {
185
  $content = '';
186
 
187
+ $data_helper = Mollie_WC_Plugin::getDataHelper();
188
+ $settings_helper = Mollie_WC_Plugin::getSettingsHelper();
189
+
190
  try
191
  {
 
 
192
 
193
  // Is Test mode enabled?
194
  $test_mode = $settings_helper->isTestModeEnabled();
245
  $content .= $icon_no_available;
246
  }
247
 
248
+ $content .= ' <a href="' . $this->getGatewaySettingsUrl( $gateway_classname ) . '">' . strtolower( __( 'Edit', 'mollie-payments-for-woocommerce' ) ) . '</a>';
249
 
250
+ $content .= '</li>';
251
  }
252
  }
253
 
254
  $content .= '</ul>';
255
  $content .= '<div class="clear"></div>';
256
+
257
+ // Make sure users also enable iDEAL when they enable SEPA Direct Debit
258
+ // iDEAL is needed for the first payment of subscriptions with SEPA Direct Debit
259
+ $content = $this->checkDirectDebitStatus( $content );
260
+
261
  }
262
  catch (Mollie_WC_Exception_InvalidApiKey $e)
263
  {
480
 
481
  return $new_settings;
482
  }
483
+
484
+ /**
485
+ * @param $content
486
+ *
487
+ * @return string
488
+ */
489
+ protected function checkDirectDebitStatus( $content ) {
490
+
491
+ $ideal_gateway = new Mollie_WC_Gateway_iDEAL();
492
+ $sepa_gateway = new Mollie_WC_Gateway_DirectDebit();
493
+
494
+ if ( ( class_exists( 'WC_Subscription' ) ) && ( $ideal_gateway->is_available() ) && ( ! $sepa_gateway->is_available() ) ) {
495
+
496
+ $content .= '<div class="notice notice-warning is-dismissible"><p>';
497
+ $content .= __( 'You have WooCommerce Subscriptions activated, but not SEPA Direct Debit. Enable SEPA Direct Debit if you want to allow customers to pay subscriptions with iDEAL.', 'mollie-payments-for-woocommerce' );
498
+ $content .= '</p></div> ';
499
+
500
+ $content .= '<strong><p>';
501
+ $content .= __( 'You have WooCommerce Subscriptions activated, but not SEPA Direct Debit. Enable SEPA Direct Debit if you want to allow customers to pay subscriptions with iDEAL.', 'mollie-payments-for-woocommerce' );
502
+ $content .= '</p></strong> ';
503
+
504
+ return $content;
505
+ }
506
+
507
+ return $content;
508
+ }
509
  }
includes/mollie/wc/plugin.php CHANGED
@@ -7,7 +7,7 @@ class Mollie_WC_Plugin
7
  {
8
  const PLUGIN_ID = 'mollie-payments-for-woocommerce';
9
  const PLUGIN_TITLE = 'Mollie Payments for WooCommerce';
10
- const PLUGIN_VERSION = '2.6.0';
11
 
12
  const DB_VERSION = '1.0';
13
  const DB_VERSION_PARAM_NAME = 'mollie-db-version';
@@ -33,6 +33,7 @@ class Mollie_WC_Plugin
33
  'Mollie_WC_Gateway_PayPal',
34
  'Mollie_WC_Gateway_Paysafecard',
35
  'Mollie_WC_Gateway_Sofort',
 
36
  );
37
 
38
  private function __construct () {}
@@ -153,39 +154,44 @@ class Mollie_WC_Plugin
153
  /**
154
  * Initialize plugin
155
  */
156
- public static function init ()
157
- {
158
- if (self::$initiated)
159
- {
160
- /*
161
- * Already initialized
162
- */
163
- return;
164
- }
165
 
166
- $plugin_basename = self::getPluginFile();
167
- $settings_helper = self::getSettingsHelper();
168
- $data_helper = self::getDataHelper();
169
-
170
- // Add global Mollie settings to 'WooCommerce -> Checkout -> Checkout Options'
171
- add_filter('woocommerce_payment_gateways_settings', array($settings_helper, 'addGlobalSettingsFields'));
172
- // When page 'WooCommerce -> Checkout -> Checkout Options' is saved
173
- add_action('woocommerce_settings_save_checkout', array($data_helper, 'deleteTransients'));
174
- // Add Mollie gateways
175
- add_filter('woocommerce_payment_gateways', array(__CLASS__, 'addGateways'));
176
- // Add settings link to plugins page
177
- add_filter('plugin_action_links_' . $plugin_basename, array(__CLASS__, 'addPluginActionLinks'));
178
- // Listen to return URL call
179
- add_action('woocommerce_api_mollie_return', array(__CLASS__, 'onMollieReturn'));
180
- // On order details
181
- add_action('woocommerce_order_details_after_order_table', array(__CLASS__, 'onOrderDetails'), 10, 1);
182
-
183
-
184
- self::initDb();
185
- self::schedulePendingPaymentOrdersExpirationCheck();
186
- // Mark plugin initiated
187
- self::$initiated = true;
188
- }
 
 
 
 
 
 
 
189
 
190
  /**
191
  * Payment return url callback
@@ -194,8 +200,8 @@ class Mollie_WC_Plugin
194
  {
195
  $data_helper = self::getDataHelper();
196
 
197
- $order_id = !empty($_GET['order_id']) ? $_GET['order_id'] : NULL;
198
- $key = !empty($_GET['key']) ? $_GET['key'] : NULL;
199
 
200
  $order = $data_helper->getWcOrder($order_id);
201
 
@@ -483,5 +489,18 @@ class Mollie_WC_Plugin
483
 
484
  return $status_helper;
485
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
486
  }
487
 
7
  {
8
  const PLUGIN_ID = 'mollie-payments-for-woocommerce';
9
  const PLUGIN_TITLE = 'Mollie Payments for WooCommerce';
10
+ const PLUGIN_VERSION = '2.7.0';
11
 
12
  const DB_VERSION = '1.0';
13
  const DB_VERSION_PARAM_NAME = 'mollie-db-version';
33
  'Mollie_WC_Gateway_PayPal',
34
  'Mollie_WC_Gateway_Paysafecard',
35
  'Mollie_WC_Gateway_Sofort',
36
+ 'Mollie_WC_Gateway_Giftcard',
37
  );
38
 
39
  private function __construct () {}
154
  /**
155
  * Initialize plugin
156
  */
157
+ public static function init() {
158
+ if ( self::$initiated ) {
159
+ /*
160
+ * Already initialized
161
+ */
162
+ return;
163
+ }
 
 
164
 
165
+ $plugin_basename = self::getPluginFile();
166
+ $settings_helper = self::getSettingsHelper();
167
+ $data_helper = self::getDataHelper();
168
+
169
+ // Add global Mollie settings to 'WooCommerce -> Checkout -> Checkout Options'
170
+ add_filter( 'woocommerce_payment_gateways_settings', array ( $settings_helper, 'addGlobalSettingsFields' ) );
171
+
172
+ // When page 'WooCommerce -> Checkout -> Checkout Options' is saved
173
+ add_action( 'woocommerce_settings_save_checkout', array ( $data_helper, 'deleteTransients' ) );
174
+
175
+ // Add Mollie gateways
176
+ add_filter( 'woocommerce_payment_gateways', array ( __CLASS__, 'addGateways' ) );
177
+
178
+ // Add settings link to plugins page
179
+ add_filter( 'plugin_action_links_' . $plugin_basename, array ( __CLASS__, 'addPluginActionLinks' ) );
180
+
181
+ // Listen to return URL call
182
+ add_action( 'woocommerce_api_mollie_return', array ( __CLASS__, 'onMollieReturn' ) );
183
+
184
+ // On order details
185
+ add_action( 'woocommerce_order_details_after_order_table', array ( __CLASS__, 'onOrderDetails' ), 10, 1 );
186
+
187
+
188
+ add_filter( 'woocommerce_available_payment_gateways', array ( __CLASS__, 'disableSEPAInCheckout' ), 10, 1 );
189
+
190
+ self::initDb();
191
+ self::schedulePendingPaymentOrdersExpirationCheck();
192
+ // Mark plugin initiated
193
+ self::$initiated = true;
194
+ }
195
 
196
  /**
197
  * Payment return url callback
200
  {
201
  $data_helper = self::getDataHelper();
202
 
203
+ $order_id = ! empty( $_GET['order_id'] ) ? sanitize_text_field( $_GET['order_id'] ) : null;
204
+ $key = ! empty( $_GET['key'] ) ? sanitize_text_field( $_GET['key'] ) : null;
205
 
206
  $order = $data_helper->getWcOrder($order_id);
207
 
489
 
490
  return $status_helper;
491
  }
492
+
493
+ /**
494
+ * Don't show SEPA Direct Debit in WooCommerce Checkout
495
+ */
496
+ public static function disableSEPAInCheckout( $available_gateways ) {
497
+
498
+ if ( is_checkout() ) {
499
+ unset( $available_gateways['mollie_wc_gateway_directdebit'] );
500
+ }
501
+
502
+ return $available_gateways;
503
+ }
504
+
505
  }
506
 
includes/subscriptions_status_check_functions.php CHANGED
@@ -9,6 +9,10 @@ class WC_Tools_Subscriptions_Status_Button {
9
  */
10
  function __construct() {
11
 
 
 
 
 
12
  add_filter( 'woocommerce_debug_tools', array ( $this, 'mollie_subscription_status_check_button' ) );
13
  }
14
 
9
  */
10
  function __construct() {
11
 
12
+ if ( !class_exists( 'WC_Subscriptions' ) ) {
13
+ return;
14
+ }
15
+
16
  add_filter( 'woocommerce_debug_tools', array ( $this, 'mollie_subscription_status_check_button' ) );
17
  }
18
 
mollie-payments-for-woocommerce.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Mollie Payments for WooCommerce
4
  * Plugin URI: https://github.com/mollie/WooCommerce
5
  * Description: Accept payments in WooCommerce with the official Mollie plugin
6
- * Version: 2.6.0
7
  * Author: Mollie
8
  * Author URI: https://www.mollie.com
9
  * Requires at least: 3.8
@@ -11,11 +11,11 @@
11
  * Text Domain: mollie-payments-for-woocommerce
12
  * Domain Path: /i18n/languages/
13
  * License: GPLv2 or later
 
 
14
  */
15
  require_once 'includes/mollie/wc/autoload.php';
16
 
17
- load_plugin_textdomain('mollie-payments-for-woocommerce', false, 'mollie-payments-for-woocommerce/i18n/languages');
18
-
19
  // TODO: Add more constants WP-style, and move from classes to here.
20
 
21
  // Plugin folder URL.
@@ -113,3 +113,14 @@ register_activation_hook(__FILE__, 'mollie_wc_plugin_activation_hook');
113
 
114
  add_action('admin_init', 'mollie_wc_plugin_admin_init');
115
  add_action('init', 'mollie_wc_plugin_init');
 
 
 
 
 
 
 
 
 
 
 
3
  * Plugin Name: Mollie Payments for WooCommerce
4
  * Plugin URI: https://github.com/mollie/WooCommerce
5
  * Description: Accept payments in WooCommerce with the official Mollie plugin
6
+ * Version: 2.7.0
7
  * Author: Mollie
8
  * Author URI: https://www.mollie.com
9
  * Requires at least: 3.8
11
  * Text Domain: mollie-payments-for-woocommerce
12
  * Domain Path: /i18n/languages/
13
  * License: GPLv2 or later
14
+ * WC requires at least: 2.1.0
15
+ * WC tested up to: 3.2.0
16
  */
17
  require_once 'includes/mollie/wc/autoload.php';
18
 
 
 
19
  // TODO: Add more constants WP-style, and move from classes to here.
20
 
21
  // Plugin folder URL.
113
 
114
  add_action('admin_init', 'mollie_wc_plugin_admin_init');
115
  add_action('init', 'mollie_wc_plugin_init');
116
+
117
+ /**
118
+ * Load the plugin text domain for translations.
119
+ */
120
+ function mollie_add_plugin_textdomain() {
121
+
122
+ load_plugin_textdomain( 'mollie-payments-for-woocommerce', false, M4W_PLUGIN_DIR . 'i18n/languages/' );
123
+
124
+ }
125
+
126
+ add_action( 'plugins_loaded', 'mollie_add_plugin_textdomain' );
readme.txt CHANGED
@@ -1,37 +1,67 @@
1
  === Mollie Payments for WooCommerce ===
2
  Contributors: daanvm, davdebcom, l.vangunst, ndijkstra, robin-mollie
3
- Tags: mollie, payments, woocommerce, e-commerce, webshop, psp, ideal, sofort, credit card, creditcard, visa, mastercard, mistercash, bancontact, bitcoin, paysafecard, direct debit, incasso, sepa, banktransfer, overboeking, betalingen, recurring, subscriptions
4
  Requires at least: 3.8
5
- Tested up to: 4.8
6
- Stable tag: 2.6.0
 
 
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
- Accept payments in WooCommerce with the official Mollie plugin
11
 
12
  == Description ==
13
 
14
- This plugin will add support for the following Mollie payments methods to your WooCommerce webshop:
15
 
16
- * iDEAL
17
- * Bank transfer
18
- * Credit card
19
- * Bancontact / Mister Cash
20
- * PayPal
21
- * SOFORT banking
22
- * Belfius Direct Net
23
- * Bitcoin
24
- * paysafecard
25
- * KBC/CBC Payment Button
26
 
27
- Please go to the [signup page](https://www.mollie.com/nl/signup) to create a new Mollie account and start receiving payments in a couple of minutes. Contact info@mollie.com if you have any questions or comments about this plugin.
28
 
29
- = Features =
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  * Support for all available Mollie payment methods
32
- * Compatible with WooCommerce Subscriptions for recurring payments
33
- * Edit order, title, description for every payment method
34
- * Refunds (WooCommerce 2.2+)
 
 
 
 
35
  * Multiple translations: English, Dutch, German and French
36
  * Event log for debugging purposes
37
  * WordPress Multisite support
@@ -62,6 +92,22 @@ Most of the time a white screen means a PHP error. Because PHP won't show error
62
  * Please check your Mollie dashboard to check if there are failed webhook reports. Mollie tried to report the payment status to your website but something went wrong.
63
  * Contact info@mollie.com with your Mollie partner ID and the order number. We can investigate the specific payment and check whether Mollie successfully reported the payment state to your webshop.
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  = Why do orders with payment method BankTransfer and Direct Debit get the status 'on-hold'? =
66
 
67
  These payment methods take longer than a few hours to complete. The order status is set to 'on-hold' to prevent the WooCommerce setting 'Hold stock (minutes)' (https://docs.woothemes.com/document/configuring-woocommerce-settings/#inventory-options) will
@@ -78,17 +124,17 @@ Where possible, also include the Mollie log file. You can find the Mollie log fi
78
  2. Change the title and description for every payment gateway. Some gateways have special options.
79
  3. The available payment gateways in the checkout.
80
  4. The order received page will display the payment status and customer details if available.
81
- 5. The order received page for the gateway banktransfer will display payment instructions.
82
  6. Some payment methods support refunds. The 'Refund' button will be available when the payment method supports refunds.
83
 
84
  == Installation ==
85
 
86
  = Minimum Requirements =
87
 
88
- * PHP version 5.2 or greater
89
  * PHP extensions enabled: cURL, JSON
90
  * WordPress 3.8 or greater
91
- * WooCommerce 2.1.0 or greater
92
 
93
  = Automatic installation =
94
 
@@ -113,6 +159,33 @@ Automatic updates should work like a charm; as always though, ensure you backup
113
 
114
  == Changelog ==
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  = 2.6.0 - 07/06/2017 =
117
  * Add support for WooCommerce 3.0 (backwards compatible with older versions of WooCommerce)
118
  * The expiry date that's shown for payments via Bank transfer is now in the correct (translated) format
1
  === Mollie Payments for WooCommerce ===
2
  Contributors: daanvm, davdebcom, l.vangunst, ndijkstra, robin-mollie
3
+ Tags: mollie, payments, woocommerce, payment gateway, e-commerce, credit card, ideal, sofort, bancontact, bitcoin, direct debit, subscriptions
4
  Requires at least: 3.8
5
+ Tested up to: 4.9
6
+ Requires PHP: 5.3
7
+ Stable tag: 2.7.0
8
+ Requires PHP: 5.3
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
12
+ Accept all major payment methods in WooCommerce today. Credit cards, iDEAL, bitcoin and more! Fast, safe and intuitive.
13
 
14
  == Description ==
15
 
16
+ Quickly integrate all major payment methods in WooCommerce, wherever you need them. Simply drop them ready-made into your WooCommerce webshop with this powerful plugin by Mollie. Mollie is dedicated to making payments better for WooCommerce.
17
 
18
+ > Next level payments, for WooCommerce
 
 
 
 
 
 
 
 
 
19
 
20
+ No need to spend weeks on paperwork or security compliance procedures. No more lost conversions because you don’t support a shopper’s favorite payment method or because they don’t feel safe. We made payments intuitive and safe for merchants and their customers.
21
 
22
+ = PAYMENT METHODS =
23
+
24
+ Credit cards:
25
+
26
+ * VISA (International)
27
+ * MasterCard (International)
28
+ * American Express (International)
29
+ * Cartes Bancaires (France)
30
+ * CartaSi (Italy)
31
+
32
+ Debit cards:
33
+
34
+ * V Pay (International)
35
+ * Maestro (International)
36
+
37
+ Alternative payment methods:
38
+
39
+ * iDEAL (Netherlands)
40
+ * Bancontact (Belgium)
41
+ * PayPal (International)
42
+ * SOFORTbanking (EU)
43
+ * Belfius (Belgium)
44
+ * KBC/CBC payment button (Belgium)
45
+ * SEPA - Credit Transfer (EU)
46
+ * SEPA - Direct Debit (EU)
47
+ * Bitcoin (International)
48
+ * Paysafecard (International)
49
+ * Gift cards (Netherlands)
50
+
51
+ Please go to the [signup page](https://www.mollie.com/signup) to create a new Mollie account and start receiving payments in a couple of minutes. Contact info@mollie.com if you have any questions or comments about this plugin.
52
+
53
+ > Our pricing is always per transaction. No startup fees, no monthly fees, and no gateway fees. No hidden fees, period.
54
+
55
+ = FEATURES =
56
 
57
  * Support for all available Mollie payment methods
58
+ * Compatible with WooCommerce Subscriptions for recurring payments (credit card, iDEAL, SEPA Direct Debit)
59
+ * Transparent pricing. No startup fees, no monthly fees, and no gateway fees. No hidden fees, period.
60
+ * Edit the order, title and description of every payment method in WooCommerce checkout
61
+ * Support for full and partial payment refunds (WooCommerce 2.2+)
62
+ * Configurable pay outs: daily, weekly, monthly - whatever you prefer
63
+ * [Powerful dashboard](https://www.mollie.com/en/features/dashboard) on mollie.com to easily keep track of your payments.
64
+ * Fast in-house support. You will always be helped by someone who knows our products intimately.
65
  * Multiple translations: English, Dutch, German and French
66
  * Event log for debugging purposes
67
  * WordPress Multisite support
92
  * Please check your Mollie dashboard to check if there are failed webhook reports. Mollie tried to report the payment status to your website but something went wrong.
93
  * Contact info@mollie.com with your Mollie partner ID and the order number. We can investigate the specific payment and check whether Mollie successfully reported the payment state to your webshop.
94
 
95
+ = Payment gateways and mails aren't always translated =
96
+
97
+ This plugin uses [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/mollie-payments-for-woocommerce) for translations. WordPress will automatically add those translations to your website if they hit 100% completion at least once. If you are not seeing the Mollie plugin as translated on your website, the plugin is probably not translated (completely) into your language (you can view the status on the above URL).
98
+
99
+ You can either download and use the incomplete translations or help us get the translation to 100% by translating it.
100
+
101
+ To download translations manually:
102
+ 1. Go to [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/mollie-payments-for-woocommerce/)
103
+ 2. Click on the percentage in the "Stable" column for your language.
104
+ 3. Scroll down to "Export". 
105
+ 4. Choose "All current" and "MO - Machine Object" 
106
+ 5. Upload this file to plugins/languages/mollie-payments-for-woocommerce/.
107
+ 6. Repeat this for all your translations.
108
+
109
+ If you want to help translate the plugin, read the instructions in the [Translate strings instructions](https://make.wordpress.org/polyglots/handbook/tools/glotpress-translate-wordpress-org/#translating-strings).
110
+
111
  = Why do orders with payment method BankTransfer and Direct Debit get the status 'on-hold'? =
112
 
113
  These payment methods take longer than a few hours to complete. The order status is set to 'on-hold' to prevent the WooCommerce setting 'Hold stock (minutes)' (https://docs.woothemes.com/document/configuring-woocommerce-settings/#inventory-options) will
124
  2. Change the title and description for every payment gateway. Some gateways have special options.
125
  3. The available payment gateways in the checkout.
126
  4. The order received page will display the payment status and customer details if available.
127
+ 5. The order received page for the gateway bank transfer will display payment instructions.
128
  6. Some payment methods support refunds. The 'Refund' button will be available when the payment method supports refunds.
129
 
130
  == Installation ==
131
 
132
  = Minimum Requirements =
133
 
134
+ * PHP version 5.3 or greater
135
  * PHP extensions enabled: cURL, JSON
136
  * WordPress 3.8 or greater
137
+ * WooCommerce 2.2.0 or greater
138
 
139
  = Automatic installation =
140
 
159
 
160
  == Changelog ==
161
 
162
+ = 2.7.0 - 07/09/2017 =
163
+
164
+ * New - Support for gift cards! See: https://www.mollie.com/en/blog/post/mollie-launches-gift-cards/
165
+ * New - Also show issuers (banks) for KBC payment method
166
+
167
+ * Fix - Add better support for WooCommerce Deposits (by Webtomizer)
168
+ * Fix - Subscriptions would be set to 'On Hold' during SEPA Direct Debit payments, those subscriptions are now set to 'Active'
169
+ * Fix - Multiple issues that occurred when users had multiple (unpaid) payments per order
170
+ * Fix - Remove SEPA Direct Debit (only used for Mollie recurring) as visible gateway in checkout and settings
171
+ * Fix - Tested with WordPress 4.9 Alpha and WooCommerce 3.1
172
+ * Fix - Remove existing language files from plugin so they can be managed via https://translate.wordpress.org/projects/wp-plugins/mollie-payments-for-woocommerce
173
+ * Fix - Use better customer name when name is sent to Mollie (use full name and last name if available)
174
+ * Fix - Don't update orders to cancelled status for expired payments if there are still pending payments for same order
175
+ * Fix - Show correct return page to customer when they have placed multiple payments for single order
176
+ * Fix - For subscription renewal orders, update payment method (from iDEAL, Belfius etc) to SEPA Direct Debit when needed
177
+ * Fix - Add message that SEPA Direct Debit is required when using WooCommerce Subscriptions with iDEAL
178
+
179
+ * Dev - Stop checking change of payment methods with isValidPaymentMethod
180
+ * Dev - Add support for new WooCommerce version check
181
+ * Dev - In setActiveMolliePayment use update_post_meta so payment is always updated to latest
182
+ * Dev - In unsetActiveMolliePayment, a payment calling that function should only be able to unset itself
183
+ * Dev - Improve log messages (WooCommerce > System status > Logs > mollie-payments-for-woocommerce)
184
+ * Dev - Security improvement: sanitize getting ID's via POST and use $_POST instead of $_REQUEST
185
+ * Dev - Only show "Check Subscription Status" tool if WooCommerce Subscriptions is installed
186
+ * Dev - Fix PHP warnings about unserialize() by using serialize() before storing object as transient
187
+ * Dev - Move load_plugin_textdomain to own function and load on plugins_loaded action
188
+
189
  = 2.6.0 - 07/06/2017 =
190
  * Add support for WooCommerce 3.0 (backwards compatible with older versions of WooCommerce)
191
  * The expiry date that's shown for payments via Bank transfer is now in the correct (translated) format