Mollie Payments for WooCommerce - Version 2.3.0

Version Description

  • 27/07/2016 =
  • Update payment method icons.
  • Send the refund description to Mollie. The refund description will be visible for your customer on their bank statement.
  • Add new filters mollie-payments-for-woocommerce_order_status_cancelled and mollie-payments-for-woocommerce_order_status_expired to be able to overwrite the order status for cancelled and expired Mollie payments. You can find all available filters on https://github.com/mollie/WooCommerce/tree/master/development.
  • Update Mollie API client to v1.6.5.
Download this release

Release Info

Developer l.vangunst
Plugin Icon wp plugin Mollie Payments for WooCommerce
Version 2.3.0
Comparing to
See all releases

Code changes from version 2.2.1 to 2.3.0

Files changed (51) hide show
  1. assets/images/banktransfer.png +0 -0
  2. assets/images/banktransfer@2x.png +0 -0
  3. assets/images/belfius.png +0 -0
  4. assets/images/belfius@2x.png +0 -0
  5. assets/images/bitcoin.png +0 -0
  6. assets/images/bitcoin@2x.png +0 -0
  7. assets/images/creditcard.png +0 -0
  8. assets/images/creditcard@2x.png +0 -0
  9. assets/images/directdebit.png +0 -0
  10. assets/images/ideal.png +0 -0
  11. assets/images/ideal@2x.png +0 -0
  12. assets/images/mistercash.png +0 -0
  13. assets/images/mistercash@2x.png +0 -0
  14. assets/images/paypal.png +0 -0
  15. assets/images/paypal@2x.png +0 -0
  16. assets/images/paysafecard.png +0 -0
  17. assets/images/paysafecard@2x.png +0 -0
  18. assets/images/podiumcadeaukaart.png +0 -0
  19. assets/images/sofort.png +0 -0
  20. assets/images/sofort@2x.png +0 -0
  21. i18n/languages/mollie-payments-for-woocommerce-de_DE.mo +0 -0
  22. i18n/languages/mollie-payments-for-woocommerce-de_DE.po +303 -218
  23. includes/mollie-api-php/README.mdown +5 -5
  24. includes/mollie-api-php/build.xml +26 -5
  25. includes/mollie-api-php/composer.json +7 -4
  26. includes/mollie-api-php/examples/03-return-page.php +3 -0
  27. includes/mollie-api-php/examples/12-new-customer-payment.php +1 -1
  28. includes/mollie-api-php/examples/13-customer-payments-history.php +1 -1
  29. includes/mollie-api-php/examples/14-recurring-first-payment.php +75 -0
  30. includes/mollie-api-php/examples/15-recurring-payment.php +43 -0
  31. includes/mollie-api-php/examples/16-recurring-subscription.php +60 -0
  32. includes/mollie-api-php/examples/17-cancel-subscription.php +42 -0
  33. includes/mollie-api-php/phpunit.xml +5 -0
  34. includes/mollie-api-php/src/Mollie/API/Client.php +55 -9
  35. includes/mollie-api-php/src/Mollie/API/Object/Customer/Mandate.php +80 -0
  36. includes/mollie-api-php/src/Mollie/API/Object/Customer/Subscription.php +132 -0
  37. includes/mollie-api-php/src/Mollie/API/Object/Organization.php +5 -0
  38. includes/mollie-api-php/src/Mollie/API/Object/Payment.php +38 -1
  39. includes/mollie-api-php/src/Mollie/API/Object/Payment/Refund.php +7 -0
  40. includes/mollie-api-php/src/Mollie/API/Resource/Base.php +51 -2
  41. includes/mollie-api-php/src/Mollie/API/Resource/Customers/Mandates.php +49 -0
  42. includes/mollie-api-php/src/Mollie/API/Resource/Customers/Subscriptions.php +62 -0
  43. includes/mollie-api-php/src/Mollie/API/Resource/Payments.php +24 -10
  44. includes/mollie-api-php/src/Mollie/API/Resource/Refunds.php +49 -0
  45. includes/mollie-api-php/tests/apiUnitTest.php +103 -22
  46. includes/mollie-api-php/tests/bootstrap.php +1 -1
  47. includes/mollie-api-php/tests/compatibilityCheckerUnitTest.php +9 -2
  48. includes/mollie-api-php/tests/resourceUnitTest.php +11 -2
  49. includes/mollie/wc/gateway/abstract.php +24 -3
  50. mollie-payments-for-woocommerce.php +2 -2
  51. readme.txt +12 -5
assets/images/banktransfer.png CHANGED
Binary file
assets/images/banktransfer@2x.png CHANGED
Binary file
assets/images/belfius.png CHANGED
Binary file
assets/images/belfius@2x.png CHANGED
Binary file
assets/images/bitcoin.png CHANGED
Binary file
assets/images/bitcoin@2x.png CHANGED
Binary file
assets/images/creditcard.png CHANGED
Binary file
assets/images/creditcard@2x.png CHANGED
Binary file
assets/images/directdebit.png CHANGED
Binary file
assets/images/ideal.png CHANGED
Binary file
assets/images/ideal@2x.png CHANGED
Binary file
assets/images/mistercash.png CHANGED
Binary file
assets/images/mistercash@2x.png CHANGED
Binary file
assets/images/paypal.png CHANGED
Binary file
assets/images/paypal@2x.png CHANGED
Binary file
assets/images/paysafecard.png CHANGED
Binary file
assets/images/paysafecard@2x.png CHANGED
Binary file
assets/images/podiumcadeaukaart.png ADDED
Binary file
assets/images/sofort.png CHANGED
Binary file
assets/images/sofort@2x.png CHANGED
Binary file
i18n/languages/mollie-payments-for-woocommerce-de_DE.mo CHANGED
Binary file
i18n/languages/mollie-payments-for-woocommerce-de_DE.po CHANGED
@@ -3,245 +3,317 @@
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-for-woocommerce\n"
7
- "POT-Creation-Date: 2015-08-14 13:09+0200\n"
8
- "PO-Revision-Date: 2015-08-14 13:09+0200\n"
 
9
  "Last-Translator: Lennard van Gunst <lennard@mollie.com>\n"
10
  "Language-Team: Mollie <info@mollie.com>\n"
11
  "Language: de\n"
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.8.4\n"
16
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
 
18
- #: includes/mollie/wc/gateway/abstract.php:60
19
  msgid "Enable/Disable"
20
  msgstr "Einschalten/Ausschalten"
21
 
22
- #: includes/mollie/wc/gateway/abstract.php:62
23
  msgid "Enable %s"
24
  msgstr "Einschalten %s"
25
 
26
- #: includes/mollie/wc/gateway/abstract.php:66
27
  msgid "Title"
28
  msgstr "Titel"
29
 
30
- #: includes/mollie/wc/gateway/abstract.php:68
31
- msgid "This controls the title which the user sees during checkout. Default <code>%s</code>"
 
 
32
  msgstr ""
33
- "Hiermit zeigen Sie den Titel an die Ihre Kunde sehen während der checkout. Standard <code>%s</"
34
- "code>"
35
 
36
- #: includes/mollie/wc/gateway/abstract.php:73
37
  msgid "Display logo"
38
  msgstr "Logo anzeigen"
39
 
40
- #: includes/mollie/wc/gateway/abstract.php:75
41
  msgid "Display logo on checkout page. Default <code>enabled</code>"
42
- msgstr "Logo anzeigen auf checkout Seite. Standard <code>aktiviert</code>"
43
 
44
- #: includes/mollie/wc/gateway/abstract.php:79 includes/mollie/wc/helper/settings.php:330
 
45
  msgid "Description"
46
- msgstr "Umschreibung"
47
 
48
- #: includes/mollie/wc/gateway/abstract.php:81
49
  msgid ""
50
- "Payment method description that the customer will see on your checkout. Default <code>%s</code>"
 
51
  msgstr ""
52
- "Umschreibung Zahlungsmethode die Ihre Kunde sehen in Ihren checkout. Standard <code>%s</code>"
 
 
 
 
 
53
 
54
- #: includes/mollie/wc/gateway/abstract.php:111 includes/mollie/wc/gateway/abstract.php:146
55
- #: includes/mollie/wc/helper/settings.php:187
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  msgid "Test mode enabled."
57
- msgstr "Test Modus eingeschaltet"
58
 
59
- #: includes/mollie/wc/gateway/abstract.php:123
60
  msgid "Gateway Disabled"
61
- msgstr "Eingangstor ausgeschaltet"
62
 
63
  #. translators: The surrounding %s's Will be replaced by a link to the global
64
  #. setting page
65
- #: includes/mollie/wc/gateway/abstract.php:148
66
  msgid "No API key provided. Please %sset you Mollie API key%s first."
67
- msgstr "Kein API key eingetragen. Bitte %sfüllen Sie erst der Mollie API key%s aus."
 
68
 
69
  #. translators: Placeholder 1: payment method title. The surrounding %s's Will
70
  #. be replaced by a link to the Mollie profile
71
- #: includes/mollie/wc/gateway/abstract.php:160
72
  msgid ""
73
- "%s not enabled in your Mollie profile. You can enabled it by editing your %sMollie profile%s."
 
74
  msgstr ""
75
- "%s nicht eingeschaltet in Ihres Mollie Profil. Sie können es einschalten in Ihres %sMollie "
76
- "Profil%s."
77
 
78
  #. translators: Placeholder 1: WooCommerce currency, placeholder 2: Supported
79
  #. Mollie currencies
80
- #: includes/mollie/wc/gateway/abstract.php:173
81
  msgid "Shop currency %s not supported by Mollie. Mollie only supports: %s."
82
- msgstr "Geschäft Valuta %s nicht unterstützt durch Mollie. Mollie understützt nur: %s."
 
 
83
 
84
- #: includes/mollie/wc/gateway/abstract.php:196
85
  msgid "Could not load order %s"
86
- msgstr "Kann Bestellung nicht einladen %s"
87
 
88
- #: includes/mollie/wc/gateway/abstract.php:213
89
  msgid "Awaiting payment confirmation."
90
- msgstr "Warten auf Zahlungsbestätigung"
91
 
92
  #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID
93
- #: includes/mollie/wc/gateway/abstract.php:276
94
  msgid "%s payment started (%s)."
95
- msgstr "%s anfang Zahlung (%s)."
96
 
97
- #: includes/mollie/wc/gateway/abstract.php:278 includes/mollie/wc/gateway/abstract.php:401
98
- #: includes/mollie/wc/gateway/abstract.php:432 includes/mollie/wc/gateway/abstract.php:457
99
- #: includes/mollie/wc/gateway/abstract.php:476
 
 
100
  msgid "test mode"
101
- msgstr "test Modus"
102
 
103
  #. translators: Placeholder 1: Payment method title
104
- #: includes/mollie/wc/gateway/abstract.php:291
105
  msgid "Could not create %s payment."
106
- msgstr "Kann Zahlung %s nicht anmachen."
107
 
108
  #. translators: Placeholder 1: payment method title, placeholder 2: payment
109
  #. status, placeholder 3: payment ID
110
- #: includes/mollie/wc/gateway/abstract.php:398
111
  msgid "%s payment %s (%s)."
112
  msgstr "%s Zahlung %s (%s)."
113
 
114
  #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
115
- #: includes/mollie/wc/gateway/abstract.php:430
116
  msgid "Order completed using %s payment (%s)."
117
- msgstr "Bestellung abgerundet mit %s Zahlung (%s)."
118
 
119
  #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
120
- #: includes/mollie/wc/gateway/abstract.php:455
121
  msgid "%s payment cancelled (%s)."
122
  msgstr "%s Zahlung annulliert (%s)."
123
 
124
  #. translators: Placeholder 1: payment method title, placeholder 2: payment ID
125
- #: includes/mollie/wc/gateway/abstract.php:474
126
  msgid "%s payment expired (%s)."
127
- msgstr "%s Zahlung verstrichen (%s)."
128
 
129
- #: includes/mollie/wc/gateway/abstract.php:490
130
  msgid ""
131
- "You have cancelled your payment. Please complete your order with a different payment method."
 
132
  msgstr ""
133
- "Sie haben Ihre Zahlung annuliert. Bitte komplettieren Sie Ihre Bestellung mit einer anderen "
134
- "Zahlungsmethode."
135
 
136
  #. translators: Placeholder 1: currency, placeholder 2: refunded amount,
137
  #. placeholder 3: optional refund reason, placeholder 4: payment ID,
138
  #. placeholder 5: refund ID
139
- #: includes/mollie/wc/gateway/abstract.php:550
140
  msgid "Refunded %s%s (reason: %s) - Payment ID: %s, Refund: %s"
141
- msgstr "Rückgezahlt %s%s (Grund: %s) - Zahlung ID: %s, Rückzahlung: %s"
142
 
143
- #: includes/mollie/wc/gateway/abstract.php:619
144
  msgid "Payment"
145
  msgstr "Zahlung"
146
 
147
- #: includes/mollie/wc/gateway/abstract.php:640
148
  msgid "We have not received a definite payment status."
149
- msgstr "Wir haben nicht einen definitiven Zahlungsstatus empfangen."
150
 
151
- #: includes/mollie/wc/gateway/abstract.php:645
152
  msgid ""
153
- "We have not received a definite payment status. You will receive an email as soon as we "
154
- "receive a confirmation of the bank/merchant."
155
  msgstr ""
156
- "Wir haben nicht einen definitiven Zahlungsstatus empfangen. Sie empfangen eine E-mail wenn wir "
157
- "die Bestätigung der Bank/des Vertreter empfangen haben."
 
 
 
 
 
158
 
159
  #: includes/mollie/wc/gateway/banktransfer.php:32
160
  msgid "Expiry date"
161
  msgstr "Ablaufdatum"
162
 
163
  #: includes/mollie/wc/gateway/banktransfer.php:34
164
- msgid "Number of days after the payment will expire. Default <code>%d</code> days"
165
- msgstr "Anzahl Tage wann die Zahlung verstreiche. Standard <code>%d</code> Tage"
 
 
166
 
167
  #: includes/mollie/wc/gateway/banktransfer.php:43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  msgid "Mail payment instructions"
169
- msgstr "E-mail Zahlung Gebrauchsanleitung"
170
 
171
  #. translators: Placeholder 1: enabled or disabled
172
- #: includes/mollie/wc/gateway/banktransfer.php:45
173
  msgid ""
174
- "Should Mollie automatically mail the payment instructions to the customer? Default <code>%s</"
175
- "code>"
176
  msgstr ""
177
- "Sollte Mollie automatisch eine E-mail schicken mit einer Zahlung Gebrauchsanleitung an Ihren "
178
- "Kunde? Standard <code>%s</code>"
179
 
180
- #: includes/mollie/wc/gateway/banktransfer.php:45 includes/mollie/wc/helper/settings.php:181
 
181
  msgid "Disabled"
182
  msgstr "Ausgeschaltet"
183
 
184
- #: includes/mollie/wc/gateway/banktransfer.php:48
185
  msgid ""
186
- "If you disable this option the customer still has an option to send the payment instructions "
187
- "to an email address on the Mollie payment screen."
188
  msgstr ""
189
- "Wenn Sie diese Alternative ausschaltet ist es noch möglich vor Ihrem Kunde um die Zahlung "
190
- "Gebrauchsanleitung zu schicken per E-mail in den Mollie Zahlungsschirm."
191
 
192
- #: includes/mollie/wc/gateway/banktransfer.php:93
193
  msgid "Bank Transfer"
194
  msgstr "Banküberweisung"
195
 
196
  #. translators: Placeholder 1: consumer name, placeholder 2: consumer IBAN,
197
  #. placeholder 3: consumer BIC
198
- #: includes/mollie/wc/gateway/banktransfer.php:144 includes/mollie/wc/gateway/ideal.php:86
 
 
199
  #: includes/mollie/wc/gateway/sofort.php:56
200
  msgid "Payment completed by <strong>%s</strong> (IBAN: %s, BIC: %s)"
201
- msgstr "Zahlung abgerundet durch <strong>%s</strong> (IBAN: %s, BIC: %s)"
202
 
203
- #: includes/mollie/wc/gateway/banktransfer.php:154
204
  msgid ""
205
- "Please complete your payment by transferring the total amount to the following bank account:"
 
206
  msgstr ""
207
- "Bitte runden Sie die Zahlung ab um das ganze Betrag zu überweisen zu dem folgenden Konto:"
 
208
 
209
  #. translators: Placeholder 1: 'Stichting Mollie Payments'
210
- #: includes/mollie/wc/gateway/banktransfer.php:158
211
  msgid "Beneficiary: %s"
212
- msgstr "Bevorzugte: %s"
213
 
214
- #: includes/mollie/wc/gateway/banktransfer.php:159
215
  msgid "IBAN: <strong>%s</strong>"
216
  msgstr "IBAN: <strong>%s</strong>"
217
 
218
- #: includes/mollie/wc/gateway/banktransfer.php:160
219
  msgid "BIC: %s"
220
  msgstr "BIC: %s"
221
 
222
  #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
223
  #. (SEPA) or +++513/7587/59959+++ (Belgium)
224
- #: includes/mollie/wc/gateway/banktransfer.php:165
225
  msgid "Payment reference: %s"
226
- msgstr "Zahlungs Referenznummer: %s"
227
 
228
  #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216
229
  #. (SEPA) or +++513/7587/59959+++ (Belgium)
230
- #: includes/mollie/wc/gateway/banktransfer.php:170
231
  msgid "Please provide the payment reference <strong>%s</strong>"
232
- msgstr "Bitte benutzen Sie die Zahlungs Refenznummer <strong>%s</strong>"
233
 
234
- #: includes/mollie/wc/gateway/banktransfer.php:183
235
  msgid "The payment will expire on <strong>%s</strong>."
236
- msgstr "Die Zahlung verstreiche am <strong>%s</strong>."
237
 
238
- #: includes/mollie/wc/gateway/banktransfer.php:190
239
  msgid ""
240
- "The payment will expire on <strong>%s</strong>. Please make sure you transfer the total amount "
241
- "before this date."
242
  msgstr ""
243
- "Die Zahlung verstreiche am <strong>%s</strong>. Bitte überweisen Sie den ganzen Betrag vor "
244
- "diesem Datum."
245
 
246
  #: includes/mollie/wc/gateway/belfius.php:30
247
  msgid "Belfius Direct Net"
@@ -253,12 +325,16 @@ msgstr "Bitcoin"
253
 
254
  #: includes/mollie/wc/gateway/creditcard.php:30
255
  msgid "Credit card"
256
- msgstr "Credit card"
257
 
258
  #. translators: Placeholder 1: card holder
259
  #: includes/mollie/wc/gateway/creditcard.php:56
260
  msgid "Payment completed by <strong>%s</strong>"
261
- msgstr "Zahlung abgerundet durch <strong>%s</strong>"
 
 
 
 
262
 
263
  #: includes/mollie/wc/gateway/ideal.php:33
264
  msgid "iDEAL"
@@ -267,7 +343,7 @@ msgstr "iDEAL"
267
  #. translators: Default iDEAL description, displayed above issuer drop down
268
  #: includes/mollie/wc/gateway/ideal.php:42
269
  msgid "Select your bank"
270
- msgstr "Wähl Ihre Bank"
271
 
272
  #: includes/mollie/wc/gateway/mistercash.php:30
273
  msgid "Bancontact / Mister Cash"
@@ -280,12 +356,15 @@ msgstr "PayPal"
280
  #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal
281
  #. email, placeholder 3: PayPal transaction ID
282
  #: includes/mollie/wc/gateway/paypal.php:56
283
- msgid "Payment completed by <strong>%s</strong> - %s (PayPal transaction ID: %s)"
284
- msgstr "Zahlung abgerundet durch <strong>%s</strong> - %s (PayPal transaktion ID: %s)"
 
 
 
285
 
286
  #: includes/mollie/wc/gateway/paysafecard.php:17
287
  msgid "paysafecard"
288
- msgstr "paysafecard"
289
 
290
  #: includes/mollie/wc/gateway/sofort.php:30
291
  msgid "SOFORT Banking"
@@ -293,247 +372,255 @@ msgstr "SOFORT Banking"
293
 
294
  #: includes/mollie/wc/helper/api.php:35
295
  msgid "No API key provided."
296
- msgstr "Kein API key eingegeben."
297
 
298
  #: includes/mollie/wc/helper/api.php:39
299
  msgid ""
300
- "Invalid API key. The API key must start with 'live_' or 'test_' and can't further contain any "
301
- "special characters."
302
  msgstr ""
303
- "API key ist ungültig. Der API key muss anfangen mit ‘live_’ oder ‘test_’ und kann nicht "
304
- "anderes speziales Zeichen enthalten."
305
 
306
- #: includes/mollie/wc/helper/settings.php:109
 
 
 
 
307
  msgid "Error"
308
  msgstr "Fehler"
309
 
310
- #: includes/mollie/wc/helper/settings.php:119
311
  msgid "Mollie status:"
312
  msgstr "Mollie Status:"
313
 
314
- #: includes/mollie/wc/helper/settings.php:120
315
  msgid "Connected"
316
- msgstr "Angeheftet"
317
 
318
- #: includes/mollie/wc/helper/settings.php:180
319
  msgid "Gateway enabled"
320
- msgstr "Eingangstor eingeschaltet"
321
 
322
- #: includes/mollie/wc/helper/settings.php:180
323
  msgid "Enabled"
324
  msgstr "Eingeschaltet"
325
 
326
- #: includes/mollie/wc/helper/settings.php:181
327
  msgid "Gateway disabled"
328
- msgstr "Eingangstor ausgeschaltet"
329
 
330
  #. translators: The surrounding %s's Will be replaced by a link to the Mollie
331
  #. profile
332
- #: includes/mollie/wc/helper/settings.php:192
333
  msgid "The following payment methods are activated in your %sMollie profile%s:"
334
- msgstr "Folgende Zahlungsmethode sind aktiviert in Ihres %sMollie Profil%s:"
335
 
336
- #: includes/mollie/wc/helper/settings.php:202
337
  msgid "Refresh"
338
- msgstr "Erfrischen"
339
 
340
- #: includes/mollie/wc/helper/settings.php:226
341
  msgid "Edit"
342
- msgstr "Anpassen"
343
 
344
  #. translators: Default payment description. {order_number} and {order_date}
345
  #. are available tags.
346
- #: includes/mollie/wc/helper/settings.php:257
347
  msgid "Order {order_number}"
348
  msgstr "Bestellung {order_number}"
349
 
350
- #: includes/mollie/wc/helper/settings.php:260
351
  msgid "Log plugin events."
352
- msgstr "Wiedergeben der Fehler in den Plug-in."
353
 
354
- #: includes/mollie/wc/helper/settings.php:265
355
  msgid "View logs"
356
- msgstr "Sehen Logbuch"
357
 
358
  #. translators: Placeholder 1: Location of the log files
359
- #: includes/mollie/wc/helper/settings.php:271
360
  msgid "Log files are saved to <code>%s</code>"
361
- msgstr "Protokolldateien werden gespeichert zu <code>%s</code>"
362
 
363
- #: includes/mollie/wc/helper/settings.php:278 includes/mollie/wc/plugin.php:279
364
  msgid "Mollie settings"
365
  msgstr "Mollie Einstellungen"
366
 
367
- #: includes/mollie/wc/helper/settings.php:281
368
  msgid ""
369
- "The following options are required to use the plugin and are used by all Mollie payment methods"
 
370
  msgstr ""
371
- "Folgende Alternative sind verpflichtet um Mollie Payments zu verwenden und werden verwendet "
372
- "durch alle Mollie Zahlungsmethode"
373
 
374
- #: includes/mollie/wc/helper/settings.php:285
375
  msgid "Live API key"
376
- msgstr "Live API key"
377
 
378
  #. translators: Placeholder 1: API key mode (live or test). The surrounding
379
  #. %s's Will be replaced by a link to the Mollie profile
380
- #: includes/mollie/wc/helper/settings.php:290 includes/mollie/wc/helper/settings.php:316
 
381
  msgid ""
382
- "The API key is used to connect to Mollie. You can find your <strong>%s</strong> API key in "
383
- "your %sMollie profile%s"
384
- msgstr "Der API key wird benutzt um "
 
 
385
 
386
- #: includes/mollie/wc/helper/settings.php:296
387
  msgid "Live API key should start with live_"
388
- msgstr "Live API key muss anfangen mit live_"
389
 
390
- #: includes/mollie/wc/helper/settings.php:304
391
  msgid "Enable test mode"
392
- msgstr "test Modus einschalten"
393
 
394
- #: includes/mollie/wc/helper/settings.php:307
395
- msgid "Enable test mode if you want to test the plugin without using real payments."
396
- msgstr "Schalten test Modus ein wenn Sie testen möchten ohne wirkliche Zahlungen"
 
 
 
397
 
398
- #: includes/mollie/wc/helper/settings.php:311
399
  msgid "Test API key"
400
- msgstr "Test API key"
401
 
402
- #: includes/mollie/wc/helper/settings.php:322
403
  msgid "Test API key should start with test_"
404
- msgstr "Test API key muss anfangen mit test_"
405
 
406
  #. translators: Placeholder 1: Default payment description, placeholder 2: list
407
  #. of available tags
408
- #: includes/mollie/wc/helper/settings.php:333
409
  msgid ""
410
- "Payment description send to Mollie. Default <code>%s</code><br/>You can use the following "
411
- "tags: %s"
412
  msgstr ""
413
- "Zahlungsumschreibung gesendet an Mollie. Standard <code>%s</code><br/>Sie können die folgenden "
414
- "Tags verwenden: %s"
415
 
416
- #: includes/mollie/wc/helper/settings.php:339
417
  msgid "Payment screen language"
418
  msgstr "Zahlungsschirm Sprache"
419
 
420
- #: includes/mollie/wc/helper/settings.php:342
421
  msgid "Detect using browser language"
422
- msgstr "Benutzte Sprache entdecken des Webbrowsers"
423
 
424
  #. translators: Placeholder 1: Current WordPress locale
425
- #: includes/mollie/wc/helper/settings.php:344
426
  msgid "Send WordPress language (%s)"
427
- msgstr "Schicke WordPress Sprache (%s)"
428
 
429
- #: includes/mollie/wc/helper/settings.php:344
430
- msgid "default"
431
- msgstr "Standard"
432
-
433
- #: includes/mollie/wc/helper/settings.php:345
434
  msgid "Dutch"
435
  msgstr "Niederländisch"
436
 
437
- #: includes/mollie/wc/helper/settings.php:346
438
  msgid "Flemish (Belgium)"
439
  msgstr "Flämisch (Belgien)"
440
 
441
- #: includes/mollie/wc/helper/settings.php:347
442
  msgid "English"
443
  msgstr "Englisch"
444
 
445
- #: includes/mollie/wc/helper/settings.php:348
446
  msgid "German"
447
  msgstr "Deutsch"
448
 
449
- #: includes/mollie/wc/helper/settings.php:349
450
  msgid "Spanish"
451
  msgstr "Spanisch"
452
 
453
- #: includes/mollie/wc/helper/settings.php:350
454
  msgid "French"
455
  msgstr "Französisch"
456
 
457
- #: includes/mollie/wc/helper/settings.php:351
458
  msgid "French (Belgium)"
459
  msgstr "Französisch (Belgien)"
460
 
461
- #: includes/mollie/wc/helper/settings.php:357
462
  msgid "Debug Log"
463
- msgstr "Debug Logbuch"
464
 
465
  #. translators: Placeholder 1: Plugin name, placeholder 2: required WooCommerce
466
  #. version, placeholder 3: used WooCommerce version
467
  #: includes/mollie/wc/helper/status.php:53
468
  msgid ""
469
- "The %s plugin requires at least WooCommerce version %s, you are using version %s. Please "
470
- "update your WooCommerce plugin."
471
  msgstr ""
472
- "Um %s Plug-in zu benutzen haben Sie mindestens die Woocommerce Version %s nötig, Sie benutzen "
473
- "die Version %s. Sie müssen die letzte Version von WooCommerce Plug-in herunterladen."
 
474
 
475
  #: includes/mollie/wc/helper/status.php:64
476
- msgid "Mollie API client not installed. Please make sure the plugin is installed correctly."
 
 
477
  msgstr ""
478
- "Mollie API client ist nicht installiert. Bitte kontrolliere Sie ob der Plug-in gut installiert "
479
- "ist."
480
 
481
  #. translators: Placeholder 1: Required PHP version, placeholder 2: current PHP
482
  #. version
483
  #: includes/mollie/wc/helper/status.php:82
484
  msgid "The client requires PHP version >= %s, you have %s."
485
- msgstr "Der Client erfordert PHP Version >= %s, Sie haben %s."
486
 
487
  #: includes/mollie/wc/helper/status.php:89
488
  msgid ""
489
- "The Mollie API client requires the PHP extension JSON to be enabled. Please enable the 'json' "
490
- "extension in your PHP configuration."
491
  msgstr ""
492
- "Mollie API client erfordert das die PHP Erweiterung JSON ist eingeschaltet. Bitte schalten Sie "
493
- "die Erweiterung ’json’ ein in Ihre PHP Konfiguration."
494
 
495
  #: includes/mollie/wc/helper/status.php:93
496
  msgid ""
497
- "The Mollie API client requires the PHP extension cURL to be enabled. Please enable the 'curl' "
498
- "extension in your PHP configuration."
499
  msgstr ""
500
- "Mollie API client erfordert das die PHP Erweiterung cURL ist eingeschaltet. Bitte schalten Sie "
501
- "die Erweiterung ’curl’ ein in Ihre PHP Konfiguration."
502
 
503
  #. translators: Placeholder 1: The required cURL function names
504
  #: includes/mollie/wc/helper/status.php:99
505
  msgid ""
506
- "The Mollie API client requires the following PHP cURL functions to be available: %s. Please "
507
- "make sure all of these functions are available."
508
  msgstr ""
509
- "Mollie API client erfordert das die folgende PHP cURL Funktionen verfügbar sind: %s. Bitte "
510
- "kontrolliere ob alle genannte Funktionen verfügbar sind."
511
 
512
- #: includes/mollie/wc/plugin.php:286
513
  msgid "Logs"
514
- msgstr "Logbuch"
515
 
516
  #: mollie-payments-for-woocommerce.php:49
517
  msgid "Could not activate plugin %s"
518
- msgstr "Kann plugin %s nicht aktivieren"
519
 
520
  #: mollie-payments-for-woocommerce.php:93
521
  msgid "%s deactivated because it depends on WooCommerce."
522
- msgstr "%s deaktiviert weil es abhängt von WooCommerce."
523
 
524
  #. Plugin Name of the plugin/theme
525
  msgid "Mollie Payments for WooCommerce"
526
- msgstr "Mollie Payments for WooCommerce"
527
 
528
  #. Plugin URI of the plugin/theme
529
  msgid "https://github.com/mollie/WooCommerce"
530
  msgstr "https://github.com/mollie/WooCommerce"
531
 
532
  #. Description of the plugin/theme
533
- msgid ""
534
- "Accept payments in WooCommerce with Mollie iDEAL, Credit Card, Bancontact/Mister Cash, Bank "
535
- "Transfer, PayPal, Bitcoin, paysafecard and SOFORT Banking"
536
- msgstr ""
537
 
538
  #. Author of the plugin/theme
539
  msgid "Mollie"
@@ -544,30 +631,28 @@ msgid "https://www.mollie.com"
544
  msgstr "https://www.mollie.com"
545
 
546
  #~ msgid ""
547
- #~ "This payment method is not supported by this plugin. Please check if there is an update "
548
- #~ "available."
549
  #~ msgstr ""
550
- #~ "Diese Zahlungsmethode wird nicht unterstützt durch diese Plug-in. Bitte kontrolliere Sie ob "
551
- #~ "eine Auffüllung verfügbar ist."
552
 
553
  #~ msgid "Not supported"
554
  #~ msgstr "Nicht unterstützt"
555
 
556
  #~ msgid ""
557
- #~ "No active Mollie payment methods found. Please check your Mollie profile which payment "
558
- #~ "methods are activated."
559
  #~ msgstr ""
560
- #~ "Keine aktiven Mollie Zahlungsmethode gefunden. Bitte kontrolliere Sie Ihres Mollie Profil "
561
- #~ "welche Zahlungsmethode aktiviert sind."
562
-
563
- #~ msgid "Mollie payments for WooCommerce"
564
- #~ msgstr "Mollie payments für WooCommerce"
565
 
566
  #~ msgid "Order %"
567
  #~ msgstr "Bestellung %"
568
 
569
  #~ msgid "Log plugin events. <a href=\"%s\">View logs</a>"
570
- #~ msgstr "Wiedergeben der Fehler in den Plug-in. <a href=\"%s\">Sehen Logbuch</a>"
 
571
 
572
  #~ msgid "https://www.mollie.com/"
573
  #~ msgstr "https://www.mollie.com/"
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Mollie Payments for WooCommerce 2.0\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/mollie-payments-"
7
+ "for-woocommerce\n"
8
+ "POT-Creation-Date: 2016-05-27 15:01+0200\n"
9
+ "PO-Revision-Date: 2016-05-30 14:01+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.6\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:630
138
+ #: includes/mollie/wc/gateway/abstract.php:649
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:628
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:647
165
  msgid "%s payment expired (%s)."
166
+ msgstr "%s Zahlung abgelaufen (%s)."
167
 
168
+ #: includes/mollie/wc/gateway/abstract.php:663
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:737
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:806
184
  msgid "Payment"
185
  msgstr "Zahlung"
186
 
187
+ #: includes/mollie/wc/gateway/abstract.php:827
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:832
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:839
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:121
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:164
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:174
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:178
283
  msgid "Beneficiary: %s"
284
+ msgstr "Begünstigter: %s"
285
 
286
+ #: includes/mollie/wc/gateway/banktransfer.php:179
287
  msgid "IBAN: <strong>%s</strong>"
288
  msgstr "IBAN: <strong>%s</strong>"
289
 
290
+ #: includes/mollie/wc/gateway/banktransfer.php:180
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:185
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:190
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:203
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:210
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"
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"
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/mistercash.php:30
349
  msgid "Bancontact / Mister Cash"
356
  #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal
357
  #. email, placeholder 3: PayPal transaction ID
358
  #: includes/mollie/wc/gateway/paypal.php:56
359
+ msgid ""
360
+ "Payment completed by <strong>%s</strong> - %s (PayPal transaction ID: %s)"
361
+ msgstr ""
362
+ "Zahlung von <strong>%s</strong> - %s (PayPal Transaktions-ID: %s) "
363
+ "abgeschlossen"
364
 
365
  #: includes/mollie/wc/gateway/paysafecard.php:17
366
  msgid "paysafecard"
367
+ msgstr "Paysafecard"
368
 
369
  #: includes/mollie/wc/gateway/sofort.php:30
370
  msgid "SOFORT Banking"
372
 
373
  #: includes/mollie/wc/helper/api.php:35
374
  msgid "No API key provided."
375
+ msgstr "Kein API-Code vorhanden!"
376
 
377
  #: includes/mollie/wc/helper/api.php:39
378
  msgid ""
379
+ "Invalid API key. The API key must start with 'live_' or 'test_' and can't "
380
+ "further contain any special characters."
381
  msgstr ""
382
+ "API-Code ungültig. Der API-Code muss mit ‘live_’ oder ‘test_’ beginnen und "
383
+ "darf keine Sonderzeichen enthalten."
384
 
385
+ #: includes/mollie/wc/helper/data.php:563
386
+ msgid "Item #%s stock incremented from %s to %s."
387
+ msgstr "Item #%s Vorrat erhöht von %s auf %s."
388
+
389
+ #: includes/mollie/wc/helper/settings.php:119
390
  msgid "Error"
391
  msgstr "Fehler"
392
 
393
+ #: includes/mollie/wc/helper/settings.php:129
394
  msgid "Mollie status:"
395
  msgstr "Mollie Status:"
396
 
397
+ #: includes/mollie/wc/helper/settings.php:130
398
  msgid "Connected"
399
+ msgstr "Verbunden"
400
 
401
+ #: includes/mollie/wc/helper/settings.php:190
402
  msgid "Gateway enabled"
403
+ msgstr "Zugang aktiv"
404
 
405
+ #: includes/mollie/wc/helper/settings.php:190
406
  msgid "Enabled"
407
  msgstr "Eingeschaltet"
408
 
409
+ #: includes/mollie/wc/helper/settings.php:191
410
  msgid "Gateway disabled"
411
+ msgstr "Zugang ausgeschaltet"
412
 
413
  #. translators: The surrounding %s's Will be replaced by a link to the Mollie
414
  #. profile
415
+ #: includes/mollie/wc/helper/settings.php:202
416
  msgid "The following payment methods are activated in your %sMollie profile%s:"
417
+ msgstr "Folgende Zahlungsmethoden sind für Ihr %sMollie Profil%s aktiviert."
418
 
419
+ #: includes/mollie/wc/helper/settings.php:212
420
  msgid "Refresh"
421
+ msgstr "Aktualisieren"
422
 
423
+ #: includes/mollie/wc/helper/settings.php:236
424
  msgid "Edit"
425
+ msgstr "Bearbeiten"
426
 
427
  #. translators: Default payment description. {order_number} and {order_date}
428
  #. are available tags.
429
+ #: includes/mollie/wc/helper/settings.php:267
430
  msgid "Order {order_number}"
431
  msgstr "Bestellung {order_number}"
432
 
433
+ #: includes/mollie/wc/helper/settings.php:270
434
  msgid "Log plugin events."
435
+ msgstr "Plug-in Fehlermeldungen aufzeichnen."
436
 
437
+ #: includes/mollie/wc/helper/settings.php:275
438
  msgid "View logs"
439
+ msgstr "Protokoll anzeigen"
440
 
441
  #. translators: Placeholder 1: Location of the log files
442
+ #: includes/mollie/wc/helper/settings.php:281
443
  msgid "Log files are saved to <code>%s</code>"
444
+ msgstr "Protokolldateien werden gespeichert in <code>%s</code>"
445
 
446
+ #: includes/mollie/wc/helper/settings.php:288 includes/mollie/wc/plugin.php:280
447
  msgid "Mollie settings"
448
  msgstr "Mollie Einstellungen"
449
 
450
+ #: includes/mollie/wc/helper/settings.php:291
451
  msgid ""
452
+ "The following options are required to use the plugin and are used by all "
453
+ "Mollie payment methods"
454
  msgstr ""
455
+ "Die folgenden Optionen sind nötig, um das Plug-in zu verwenden und werden "
456
+ "von allen Mollie Zahlungsmethoden genutzt"
457
 
458
+ #: includes/mollie/wc/helper/settings.php:295
459
  msgid "Live API key"
460
+ msgstr "Live API-Code"
461
 
462
  #. translators: Placeholder 1: API key mode (live or test). The surrounding
463
  #. %s's Will be replaced by a link to the Mollie profile
464
+ #: includes/mollie/wc/helper/settings.php:300
465
+ #: includes/mollie/wc/helper/settings.php:326
466
  msgid ""
467
+ "The API key is used to connect to Mollie. You can find your <strong>%s</"
468
+ "strong> API key in your %sMollie profile%s"
469
+ msgstr ""
470
+ "Der API-Code ist nötig, um dich mit Mollie zu verbinden. Du findest deinen "
471
+ "Code unter <strong>%s</strong> API-Code in deinem %sMollie Profil%s"
472
 
473
+ #: includes/mollie/wc/helper/settings.php:306
474
  msgid "Live API key should start with live_"
475
+ msgstr "Der Live API-Code muss mit live_ beginnen"
476
 
477
+ #: includes/mollie/wc/helper/settings.php:314
478
  msgid "Enable test mode"
479
+ msgstr "Testmodus einschalten"
480
 
481
+ #: includes/mollie/wc/helper/settings.php:317
482
+ msgid ""
483
+ "Enable test mode if you want to test the plugin without using real payments."
484
+ msgstr ""
485
+ "Schalte den Testmodus ein, wenn du das Plug-in gerne ohne echten "
486
+ "Zahlungsverkehr testen möchtest."
487
 
488
+ #: includes/mollie/wc/helper/settings.php:321
489
  msgid "Test API key"
490
+ msgstr "Test API-Code"
491
 
492
+ #: includes/mollie/wc/helper/settings.php:332
493
  msgid "Test API key should start with test_"
494
+ msgstr "Der Test API-Code muss mit test_ beginnen"
495
 
496
  #. translators: Placeholder 1: Default payment description, placeholder 2: list
497
  #. of available tags
498
+ #: includes/mollie/wc/helper/settings.php:343
499
  msgid ""
500
+ "Payment description send to Mollie. Default <code>%s</code><br/>You can use "
501
+ "the following tags: %s"
502
  msgstr ""
503
+ "Zahlungsbeschreibung wurde an Mollie versonden. Standard <code>%s</code><br/"
504
+ ">Du kannst folgende Tags verwenden: %s"
505
 
506
+ #: includes/mollie/wc/helper/settings.php:349
507
  msgid "Payment screen language"
508
  msgstr "Zahlungsschirm Sprache"
509
 
510
+ #: includes/mollie/wc/helper/settings.php:352
511
  msgid "Detect using browser language"
512
+ msgstr "Automatisch Sprache des Internetbrowsers detektieren"
513
 
514
  #. translators: Placeholder 1: Current WordPress locale
515
+ #: includes/mollie/wc/helper/settings.php:354
516
  msgid "Send WordPress language (%s)"
517
+ msgstr "WordPress Sprache (%s) versenden"
518
 
519
+ #: includes/mollie/wc/helper/settings.php:355
 
 
 
 
520
  msgid "Dutch"
521
  msgstr "Niederländisch"
522
 
523
+ #: includes/mollie/wc/helper/settings.php:356
524
  msgid "Flemish (Belgium)"
525
  msgstr "Flämisch (Belgien)"
526
 
527
+ #: includes/mollie/wc/helper/settings.php:357
528
  msgid "English"
529
  msgstr "Englisch"
530
 
531
+ #: includes/mollie/wc/helper/settings.php:358
532
  msgid "German"
533
  msgstr "Deutsch"
534
 
535
+ #: includes/mollie/wc/helper/settings.php:359
536
  msgid "Spanish"
537
  msgstr "Spanisch"
538
 
539
+ #: includes/mollie/wc/helper/settings.php:360
540
  msgid "French"
541
  msgstr "Französisch"
542
 
543
+ #: includes/mollie/wc/helper/settings.php:361
544
  msgid "French (Belgium)"
545
  msgstr "Französisch (Belgien)"
546
 
547
+ #: includes/mollie/wc/helper/settings.php:367
548
  msgid "Debug Log"
549
+ msgstr "Fehlerprotokoll"
550
 
551
  #. translators: Placeholder 1: Plugin name, placeholder 2: required WooCommerce
552
  #. version, placeholder 3: used WooCommerce version
553
  #: includes/mollie/wc/helper/status.php:53
554
  msgid ""
555
+ "The %s plugin requires at least WooCommerce version %s, you are using "
556
+ "version %s. Please update your WooCommerce plugin."
557
  msgstr ""
558
+ "Für die Nutzung des %s Plug-ins brauchst du die WooCommerce Version %s oder "
559
+ "höher, momentan ist Version %s installiert. Bitte lade die neueste Version "
560
+ "von WooCommerce Plug-in herunter."
561
 
562
  #: includes/mollie/wc/helper/status.php:64
563
+ msgid ""
564
+ "Mollie API client not installed. Please make sure the plugin is installed "
565
+ "correctly."
566
  msgstr ""
567
+ "Mollie API Client ist nicht installiert. Bitte kontrolliere, ob das Plug-in "
568
+ "richtig installiert ist."
569
 
570
  #. translators: Placeholder 1: Required PHP version, placeholder 2: current PHP
571
  #. version
572
  #: includes/mollie/wc/helper/status.php:82
573
  msgid "The client requires PHP version >= %s, you have %s."
574
+ msgstr "Der Client erfordert PHP Version >= %s, die aktuelle Version ist %s."
575
 
576
  #: includes/mollie/wc/helper/status.php:89
577
  msgid ""
578
+ "The Mollie API client requires the PHP extension JSON to be enabled. Please "
579
+ "enable the 'json' extension in your PHP configuration."
580
  msgstr ""
581
+ "Für den Mollie API Client muss die PHP Erweiterung JSON aktiv sein. Bitte "
582
+ "aktiviere die Erweiterung ’json’ in deiner PHP Konfiguration."
583
 
584
  #: includes/mollie/wc/helper/status.php:93
585
  msgid ""
586
+ "The Mollie API client requires the PHP extension cURL to be enabled. Please "
587
+ "enable the 'curl' extension in your PHP configuration."
588
  msgstr ""
589
+ "Für den Mollie API Client muss die PHP Erweiterung cURL aktiv sein. Bitte "
590
+ "aktiviere die Erweiterung ’curl’ in deiner PHP Konfiguration."
591
 
592
  #. translators: Placeholder 1: The required cURL function names
593
  #: includes/mollie/wc/helper/status.php:99
594
  msgid ""
595
+ "The Mollie API client requires the following PHP cURL functions to be "
596
+ "available: %s. Please make sure all of these functions are available."
597
  msgstr ""
598
+ "Für den Mollie API Client müssen die folgenden PHP cURL Funktionen verfügbar "
599
+ "sein: %s. Bitte vergewissere dich, dass alle Funktionen verfügbar sind."
600
 
601
+ #: includes/mollie/wc/plugin.php:287
602
  msgid "Logs"
603
+ msgstr "Protokolle"
604
 
605
  #: mollie-payments-for-woocommerce.php:49
606
  msgid "Could not activate plugin %s"
607
+ msgstr "Plug-in %s konnte nicht aktiviert werden"
608
 
609
  #: mollie-payments-for-woocommerce.php:93
610
  msgid "%s deactivated because it depends on WooCommerce."
611
+ msgstr "%s deaktiviert, weil es von WooCommerce abhängig ist."
612
 
613
  #. Plugin Name of the plugin/theme
614
  msgid "Mollie Payments for WooCommerce"
615
+ msgstr "Mollie Zahlungen für WooCommerce"
616
 
617
  #. Plugin URI of the plugin/theme
618
  msgid "https://github.com/mollie/WooCommerce"
619
  msgstr "https://github.com/mollie/WooCommerce"
620
 
621
  #. Description of the plugin/theme
622
+ msgid "Accept payments in WooCommerce with the official Mollie plugin"
623
+ msgstr "Akzeptieren von Zahlungen in WooCommerce mit dem offiziellen Plug-in"
 
 
624
 
625
  #. Author of the plugin/theme
626
  msgid "Mollie"
631
  msgstr "https://www.mollie.com"
632
 
633
  #~ msgid ""
634
+ #~ "This payment method is not supported by this plugin. Please check if "
635
+ #~ "there is an update available."
636
  #~ msgstr ""
637
+ #~ "Diese Zahlungsmethode wird nicht unterstützt durch diese Plug-in. Bitte "
638
+ #~ "kontrolliere Sie ob eine Auffüllung verfügbar ist."
639
 
640
  #~ msgid "Not supported"
641
  #~ msgstr "Nicht unterstützt"
642
 
643
  #~ msgid ""
644
+ #~ "No active Mollie payment methods found. Please check your Mollie profile "
645
+ #~ "which payment methods are activated."
646
  #~ msgstr ""
647
+ #~ "Keine aktiven Mollie Zahlungsmethode gefunden. Bitte kontrolliere Sie "
648
+ #~ "Ihres Mollie Profil welche Zahlungsmethode aktiviert sind."
 
 
 
649
 
650
  #~ msgid "Order %"
651
  #~ msgstr "Bestellung %"
652
 
653
  #~ msgid "Log plugin events. <a href=\"%s\">View logs</a>"
654
+ #~ msgstr ""
655
+ #~ "Wiedergeben der Fehler in den Plug-in. <a href=\"%s\">Sehen Logbuch</a>"
656
 
657
  #~ msgid "https://www.mollie.com/"
658
  #~ msgstr "https://www.mollie.com/"
includes/mollie-api-php/README.mdown CHANGED
@@ -24,11 +24,11 @@ To use the Mollie API client, the following things are required:
24
 
25
  By far the easiest way to install the Mollie API client is to require it with [Composer](http://getcomposer.org/doc/00-intro.md).
26
 
27
- $ composer require mollie/mollie-api-php 1.4.x
28
 
29
  {
30
  "require": {
31
- "mollie/mollie-api-php": "1.4.x"
32
  }
33
  }
34
 
@@ -114,7 +114,7 @@ _The `links` property of the `$payment` object will contain a string `paymentUrl
114
  ### Refunding payments ###
115
 
116
  The API also supports refunding payments. Note that there is no confirmation and that all refunds are immediate and
117
- definitive. Refunds are only supported for iDEAL, credit card, Bancontact/Mister Cash, SOFORT Banking and bank transfer payments. Other types of payments cannot
118
  be refunded through our API at the moment.
119
 
120
  ```php
@@ -126,14 +126,14 @@ be refunded through our API at the moment.
126
 
127
  ## How to use OAuth2 to connect Mollie accounts to your application? ##
128
 
129
- The resources `permissions`, `organizations`, `profiles` and `settlements` are only available with an OAuth2 access token. This is because an API key is linked to a website profile, and those resources are linked to an Mollie account. Visit our [API documentation](https://www.mollie.com/en/docs/oauth/overview) for more information about how to get an OAuth2 access token. For an example of how to use those resources, see [Example 8](https://github.com/mollie/mollie-api-php/blob/master/examples/08-oauth-list-profiles.php), [Example 9](https://github.com/mollie/mollie-api-php/blob/master/examples/09-oauth-list-settlements.php) and [Example 10](https://github.com/mollie/mollie-api-php/blob/master/examples/10-oauth-new-payment.php).
130
 
131
  ## API documentation ##
132
  If you wish to learn more about our API, please visit the [Mollie Developer Portal](https://www.mollie.com/developer/). API Documentation is available in both Dutch and English.
133
 
134
  ## Want to help us make our API client even better? ##
135
 
136
- Want to help us make our API client even better? We take [pull requests](https://github.com/mollie/mollie-api-php/pulls?utf8=%E2%9C%93&q=is%3Apr), sure. But how would you like to contribute to a [technology oriented organization](https://www.mollie.com/nl/blog/post/werken-bij-mollie-sfeer-kansen-en-mogelijkheden/)? Mollie is hiring developers and system engineers. [Check out our vacancies](https://www.mollie.com/nl/jobs) or [get in touch](mailto:personeel@mollie.com).
137
 
138
  ## License ##
139
  [BSD (Berkeley Software Distribution) License](http://www.opensource.org/licenses/bsd-license.php).
24
 
25
  By far the easiest way to install the Mollie API client is to require it with [Composer](http://getcomposer.org/doc/00-intro.md).
26
 
27
+ $ composer require mollie/mollie-api-php:1.6.*
28
 
29
  {
30
  "require": {
31
+ "mollie/mollie-api-php": "1.6.*"
32
  }
33
  }
34
 
114
  ### Refunding payments ###
115
 
116
  The API also supports refunding payments. Note that there is no confirmation and that all refunds are immediate and
117
+ definitive. Refunds are only supported for iDEAL, credit card, Bancontact/Mister Cash, SOFORT Banking, PayPal, Belfius Direct Net and bank transfer payments. Other types of payments cannot
118
  be refunded through our API at the moment.
119
 
120
  ```php
126
 
127
  ## How to use OAuth2 to connect Mollie accounts to your application? ##
128
 
129
+ The resources `permissions`, `organizations`, `refunds`, `profiles` and `settlements` are only available with an OAuth2 access token. This is because an API key is linked to a website profile, and those resources are linked to an Mollie account. Visit our [API documentation](https://www.mollie.com/en/docs/oauth/overview) for more information about how to get an OAuth2 access token. For an example of how to use those resources, see [Example 8](https://github.com/mollie/mollie-api-php/blob/master/examples/08-oauth-list-profiles.php), [Example 9](https://github.com/mollie/mollie-api-php/blob/master/examples/09-oauth-list-settlements.php) and [Example 10](https://github.com/mollie/mollie-api-php/blob/master/examples/10-oauth-new-payment.php).
130
 
131
  ## API documentation ##
132
  If you wish to learn more about our API, please visit the [Mollie Developer Portal](https://www.mollie.com/developer/). API Documentation is available in both Dutch and English.
133
 
134
  ## Want to help us make our API client even better? ##
135
 
136
+ Want to help us make our API client even better? We take [pull requests](https://github.com/mollie/mollie-api-php/pulls?utf8=%E2%9C%93&q=is%3Apr), sure. But how would you like to contribute to a [technology oriented organization](https://www.mollie.com/nl/blog/post/werken-bij-mollie-als-developer/)? Mollie is hiring developers and system engineers. [Check out our vacancies](https://www.mollie.com/nl/jobs) or [get in touch](mailto:personeel@mollie.com).
137
 
138
  ## License ##
139
  [BSD (Berkeley Software Distribution) License](http://www.opensource.org/licenses/bsd-license.php).
includes/mollie-api-php/build.xml CHANGED
@@ -28,11 +28,32 @@
28
  <mkdir dir="${basedir}/build/logs"/>
29
  </target>
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  <target name="lint">
32
  <apply executable="php" failonerror="true">
33
  <arg value="-l" />
34
  <fileset dir="${basedir}">
35
  <include name="**/*.php" />
 
36
  <modified />
37
  </fileset>
38
  </apply>
@@ -48,6 +69,8 @@
48
  <arg value="*.php,*.phtml"/>
49
  <arg value="--exclude"/>
50
  <arg value="build"/>
 
 
51
  <arg value="${basedir}" />
52
  </exec>
53
  </target>
@@ -66,10 +89,8 @@
66
  </exec>
67
  </target>
68
 
69
- <target name="phpunit" description="Run unit and integration tests with PHPUnit">
70
  <!-- run the unit tests -->
71
- <exec executable="phpunit" />
72
  </target>
73
-
74
- </project>
75
-
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>
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>
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/composer.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "name": "mollie/mollie-api-php",
3
  "description": "Mollie API client library for PHP",
4
- "version": "1.4.1",
5
  "homepage": "https://github.com/mollie/mollie-api-php",
6
  "license": "BSD-2-Clause",
7
  "authors": [
@@ -13,14 +13,17 @@
13
  "keywords": [
14
  "mollie", "payment", "service", "ideal", "creditcard", "mistercash", "bancontact", "sofort", "sofortbanking",
15
  "sepa", "bitcoin", "paypal", "paysafecard", "podiumcadeaukaart", "banktransfer", "direct debit", "belfius",
16
- "belfius direct net", "refunds", "api", "payments", "gateway"
17
  ],
 
 
 
18
  "require-dev": {
19
- "phpunit/phpunit": "3.7.*"
20
  },
21
  "autoload": {
22
  "psr-0": {
23
- "": "src/"
24
  }
25
  },
26
  "suggest": {
1
  {
2
  "name": "mollie/mollie-api-php",
3
  "description": "Mollie API client library for PHP",
4
+ "version": "1.6.4",
5
  "homepage": "https://github.com/mollie/mollie-api-php",
6
  "license": "BSD-2-Clause",
7
  "authors": [
13
  "keywords": [
14
  "mollie", "payment", "service", "ideal", "creditcard", "mistercash", "bancontact", "sofort", "sofortbanking",
15
  "sepa", "bitcoin", "paypal", "paysafecard", "podiumcadeaukaart", "banktransfer", "direct debit", "belfius",
16
+ "belfius direct net", "refunds", "api", "payments", "gateway", "subscriptions", "recurring", "charges"
17
  ],
18
+ "require" : {
19
+ "php": ">=5.2"
20
+ },
21
  "require-dev": {
22
+ "phpunit/phpunit": "^3.7 || ^4.8 || ^5.4"
23
  },
24
  "autoload": {
25
  "psr-0": {
26
+ "Mollie": "src/"
27
  }
28
  },
29
  "suggest": {
includes/mollie-api-php/examples/03-return-page.php CHANGED
@@ -18,6 +18,9 @@ echo "<p>Your payment status is '" . htmlspecialchars($status) . "'.</p>";
18
  echo "<p>";
19
  echo '<a href="' . $protocol . '://' . $hostname . $path . '/01-new-payment.php">Retry example 1</a><br>';
20
  echo '<a href="' . $protocol . '://' . $hostname . $path . '/04-ideal-payment.php">Retry example 4</a><br>';
 
 
 
21
  echo "</p>";
22
 
23
 
18
  echo "<p>";
19
  echo '<a href="' . $protocol . '://' . $hostname . $path . '/01-new-payment.php">Retry example 1</a><br>';
20
  echo '<a href="' . $protocol . '://' . $hostname . $path . '/04-ideal-payment.php">Retry example 4</a><br>';
21
+ echo '<a href="' . $protocol . '://' . $hostname . $path . '/10-oauth-new-payment.php">Retry example 10</a><br>';
22
+ echo '<a href="' . $protocol . '://' . $hostname . $path . '/12-new-customer-payment.php">Retry example 12</a><br>';
23
+ echo '<a href="' . $protocol . '://' . $hostname . $path . '/14-recurring-first-payment.php">Retry example 14</a><br>';
24
  echo "</p>";
25
 
26
 
includes/mollie-api-php/examples/12-new-customer-payment.php CHANGED
@@ -10,7 +10,7 @@ try
10
  */
11
  include "initialize.php";
12
 
13
- /**
14
  * Retrieve the last created customer for this example.
15
  * If no customers are created yet, run example 11.
16
  */
10
  */
11
  include "initialize.php";
12
 
13
+ /*
14
  * Retrieve the last created customer for this example.
15
  * If no customers are created yet, run example 11.
16
  */
includes/mollie-api-php/examples/13-customer-payments-history.php CHANGED
@@ -12,7 +12,7 @@ try
12
  */
13
  include "initialize.php";
14
 
15
- /**
16
  * Retrieve the last created customer for this example.
17
  * If no customers are created yet, run example 11.
18
  */
12
  */
13
  include "initialize.php";
14
 
15
+ /*
16
  * Retrieve the last created customer for this example.
17
  * If no customers are created yet, run example 11.
18
  */
includes/mollie-api-php/examples/14-recurring-first-payment.php ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Example 14 - How to create a first payment to allow recurring payments later.
4
+ */
5
+
6
+ try
7
+ {
8
+ /*
9
+ * Initialize the Mollie API library with your API key or OAuth access token.
10
+ */
11
+ include "initialize.php";
12
+
13
+ /*
14
+ * Retrieve the last created customer for this example.
15
+ * If no customers are created yet, run example 11.
16
+ */
17
+ $customer = $mollie->customers->all(0, 1)->data[0];
18
+
19
+ /*
20
+ * Generate a unique order id for this example. It is important to include this unique attribute
21
+ * in the redirectUrl (below) so a proper return page can be shown to the customer.
22
+ */
23
+ $order_id = time();
24
+
25
+ /*
26
+ * Determine the url parts to these example files.
27
+ */
28
+ $protocol = isset($_SERVER['HTTPS']) && strcasecmp('off', $_SERVER['HTTPS']) !== 0 ? "https" : "http";
29
+ $hostname = $_SERVER['HTTP_HOST'];
30
+ $path = dirname(isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF']);
31
+
32
+ /*
33
+ * Customer Payment creation parameters.
34
+ *
35
+ * See: https://www.mollie.com/en/docs/reference/customers/create-payment
36
+ */
37
+ $payment = $mollie->customers_payments->with($customer)->create(array(
38
+ "amount" => 10.00,
39
+ "description" => "A first payment for recurring",
40
+ "redirectUrl" => "{$protocol}://{$hostname}{$path}/03-return-page.php?order_id={$order_id}",
41
+ "webhookUrl" => "{$protocol}://{$hostname}{$path}/02-webhook-verification.php",
42
+
43
+ // Flag this payment as a first payment to allow recurring payments later.
44
+ "recurringType" => Mollie_API_Object_Payment::RECURRINGTYPE_FIRST,
45
+ ));
46
+
47
+ /*
48
+ * In this example we store the order with its payment status in a database.
49
+ */
50
+ database_write($order_id, $payment->status);
51
+
52
+ /*
53
+ * Send the customer off to complete the first payment.
54
+ *
55
+ * After completion, the customer will have a pending or valid mandate that can be
56
+ * used for recurring payments and subscriptions.
57
+ */
58
+ header("Location: " . $payment->getPaymentUrl());
59
+ }
60
+ catch (Mollie_API_Exception $e)
61
+ {
62
+ echo "API call failed: " . htmlspecialchars($e->getMessage());
63
+ }
64
+
65
+
66
+ /*
67
+ * NOTE: This example uses a text file as a database. Please use a real database like MySQL in production code.
68
+ */
69
+ function database_write ($order_id, $status)
70
+ {
71
+ $order_id = intval($order_id);
72
+ $database = dirname(__FILE__) . "/orders/order-{$order_id}.txt";
73
+
74
+ file_put_contents($database, $status);
75
+ }
includes/mollie-api-php/examples/15-recurring-payment.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Example 15 - How to create an on-demand recurring payment.
4
+ */
5
+
6
+ try
7
+ {
8
+ /*
9
+ * Initialize the Mollie API library with your API key or OAuth access token.
10
+ */
11
+ include "initialize.php";
12
+
13
+ /*
14
+ * Retrieve the last created customer for this example.
15
+ * If no customers are created yet, run example 11.
16
+ */
17
+ $customer = $mollie->customers->all(0, 1)->data[0];
18
+
19
+ /*
20
+ * Customer Payment creation parameters.
21
+ *
22
+ * See: https://www.mollie.com/en/docs/reference/customers/create-payment
23
+ */
24
+ $payment = $mollie->customers_payments->with($customer)->create(array(
25
+ "amount" => 10.00,
26
+ "description" => "An on-demand recurring payment",
27
+
28
+ // Flag this payment as a recurring payment.
29
+ "recurringType" => Mollie_API_Object_Payment::RECURRINGTYPE_RECURRING,
30
+ ));
31
+
32
+ /*
33
+ * The payment will be either pending or paid immediately. The customer
34
+ * does not have to perform any payment steps.
35
+ */
36
+
37
+ echo "<p>Selected mandate is '" . htmlspecialchars($payment->mandateId) . "' (" . htmlspecialchars($payment->method) . ").</p>\n";
38
+ echo "<p>The payment status is '" . htmlspecialchars($payment->status) . "'.</p>\n";
39
+ }
40
+ catch (Mollie_API_Exception $e)
41
+ {
42
+ echo "API call failed: " . htmlspecialchars($e->getMessage());
43
+ }
includes/mollie-api-php/examples/16-recurring-subscription.php ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Example 16 - How to create a regular subscription.
4
+ */
5
+
6
+ try
7
+ {
8
+ /*
9
+ * Initialize the Mollie API library with your API key or OAuth access token.
10
+ */
11
+ include "initialize.php";
12
+
13
+ /*
14
+ * Determine the url parts to these example files.
15
+ */
16
+ $protocol = isset($_SERVER['HTTPS']) && strcasecmp('off', $_SERVER['HTTPS']) !== 0 ? "https" : "http";
17
+ $hostname = $_SERVER['HTTP_HOST'];
18
+ $path = dirname(isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF']);
19
+
20
+ /**
21
+ * Retrieve the last created customer for this example.
22
+ * If no customers are created yet, run example 11.
23
+ */
24
+ $customer = $mollie->customers->all(0, 1)->data[0];
25
+
26
+ /*
27
+ * Generate a unique subscription id for this example. It is important to include this unique attribute
28
+ * in the webhookUrl (below) so new payments can be associated with this subscription.
29
+ */
30
+ $my_subscription = time();
31
+
32
+ /*
33
+ * Customer Subscription creation parameters.
34
+ *
35
+ * See: https://www.mollie.com/nl/docs/reference/subscriptions/create
36
+ */
37
+ $subscription = $mollie->customers_subscriptions->with($customer)->create(array(
38
+ "amount" => 10.00,
39
+ "times" => 12,
40
+ "interval" => "1 month",
41
+ "description" => "My subscription",
42
+ "method" => NULL,
43
+ "webhookUrl" => "https://example.org/subscription-payment-webhook/$my_subscription",
44
+ ));
45
+
46
+ /*
47
+ * The subscription will be either pending or active depending on whether the customer has
48
+ * a pending or valid mandate. If the customer has no mandates an error is returned. You
49
+ * should then set up a "first payment" for the customer (example 14).
50
+ */
51
+
52
+ echo "<p>The subscription status is '" . htmlspecialchars($subscription->status) . "'.</p>\n";
53
+ echo "<p>";
54
+ echo '<a href="' . $protocol . '://' . $hostname . $path . '/17-cancel-subscription.php?subscription_id='.$subscription->id.'">18-cancel-subscription</a><br>';
55
+ echo "</p>";
56
+ }
57
+ catch (Mollie_API_Exception $e)
58
+ {
59
+ echo "API call failed: " . htmlspecialchars($e->getMessage());
60
+ }
includes/mollie-api-php/examples/17-cancel-subscription.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * Example 17 - How to cancel a subscription.
4
+ */
5
+
6
+ try
7
+ {
8
+ /*
9
+ * Initialize the Mollie API library with your API key or OAuth access token.
10
+ */
11
+ include "initialize.php";
12
+
13
+ /**
14
+ * Retrieve the last created customer for this example.
15
+ * If no customers are created yet, run example 11.
16
+ */
17
+ $customer = $mollie->customers->all(0, 1)->data[0];
18
+
19
+ /*
20
+ * Generate a unique subscription id for this example. It is important to include this unique attribute
21
+ * in the webhookUrl (below) so new payments can be associated with this subscription.
22
+ */
23
+ $subscriptionId = isset($_GET['subscription_id']) ? $_GET['subscription_id'] : '';
24
+
25
+ // retrieve subscription
26
+ $subscription = $mollie->customers_subscriptions->with($customer)->get($subscriptionId);
27
+ /*
28
+ * Customer Subscription deletion parameters.
29
+ *
30
+ * See: https://www.mollie.com/nl/docs/reference/subscriptions/cancel
31
+ */
32
+ $cancelledSubscription = $mollie->customers_subscriptions->with($customer)->cancel($subscription);
33
+
34
+ /*
35
+ * The subscription status should now be cancelled
36
+ */
37
+ echo "<p>The subscription status is now: '" . htmlspecialchars($cancelledSubscription->status) . "'.</p>\n";
38
+ }
39
+ catch (Mollie_API_Exception $e)
40
+ {
41
+ echo "API call failed: " . htmlspecialchars($e->getMessage());
42
+ }
includes/mollie-api-php/phpunit.xml CHANGED
@@ -14,4 +14,9 @@
14
  lowUpperBound="35" highLowerBound="70"/>
15
  <log type="coverage-clover" target="build/clover/clover-unittests.xml"/>
16
  </logging>
 
 
 
 
 
17
  </phpunit>
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>
20
+ </whitelist>
21
+ </filter>
22
  </phpunit>
includes/mollie-api-php/src/Mollie/API/Client.php CHANGED
@@ -34,7 +34,7 @@ class Mollie_API_Client
34
  /**
35
  * Version of our client.
36
  */
37
- const CLIENT_VERSION = "1.4.1";
38
 
39
  /**
40
  * Endpoint of the remote API.
@@ -104,6 +104,16 @@ class Mollie_API_Client
104
  */
105
  public $profiles;
106
 
 
 
 
 
 
 
 
 
 
 
107
  /**
108
  * RESTful Settlements resource. NOTE: requires OAuth access token.
109
  *
@@ -125,6 +135,20 @@ class Mollie_API_Client
125
  */
126
  public $customers_payments;
127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  /**
129
  * @var string
130
  */
@@ -147,6 +171,11 @@ class Mollie_API_Client
147
  */
148
  protected $ch;
149
 
 
 
 
 
 
150
  /**
151
  * @throws Mollie_API_Exception_IncompatiblePlatform
152
  */
@@ -155,16 +184,19 @@ class Mollie_API_Client
155
  $this->getCompatibilityChecker()
156
  ->checkCompatibility();
157
 
158
- $this->payments = new Mollie_API_Resource_Payments($this);
159
- $this->payments_refunds = new Mollie_API_Resource_Payments_Refunds($this);
160
- $this->issuers = new Mollie_API_Resource_Issuers($this);
161
- $this->methods = new Mollie_API_Resource_Methods($this);
162
- $this->customers = new Mollie_API_Resource_Customers($this);
163
- $this->customers_payments = new Mollie_API_Resource_Customers_Payments($this);
 
 
164
 
165
  // OAuth2 endpoints
166
  $this->permissions = new Mollie_API_Resource_Permissions($this);
167
  $this->organizations = new Mollie_API_Resource_Organizations($this);
 
168
  $this->profiles = new Mollie_API_Resource_Profiles($this);
169
  $this->settlements = new Mollie_API_Resource_Settlements($this);
170
 
@@ -174,6 +206,9 @@ class Mollie_API_Client
174
  $this->addVersionString("PHP/" . phpversion());
175
  $this->addVersionString("cURL/" . $curl_version["version"]);
176
  $this->addVersionString($curl_version["ssl_version"]);
 
 
 
177
  }
178
 
179
  /**
@@ -254,6 +289,16 @@ class Mollie_API_Client
254
  $this->version_strings[] = str_replace(array(" ", "\t", "\n", "\r"), '-', $version_string);
255
  }
256
 
 
 
 
 
 
 
 
 
 
 
257
  /**
258
  * Perform an http call. This method is used by the resource specific classes. Please use the $payments property to
259
  * perform operations on payments.
@@ -274,7 +319,7 @@ class Mollie_API_Client
274
  {
275
  if (empty($this->api_key))
276
  {
277
- throw new Mollie_API_Exception("You have not set an API key. Please use setApiKey() to set the API key.");
278
  }
279
 
280
  if (empty($this->ch) || !function_exists("curl_reset"))
@@ -310,6 +355,7 @@ class Mollie_API_Client
310
  "Authorization: Bearer {$this->api_key}",
311
  "User-Agent: {$user_agent}",
312
  "X-Mollie-Client-Info: " . php_uname(),
 
313
  );
314
 
315
  curl_setopt($this->ch, CURLOPT_CUSTOMREQUEST, $http_method);
@@ -329,7 +375,7 @@ class Mollie_API_Client
329
  * On some servers, the list of installed certificates is outdated or not present at all (the ca-bundle.crt
330
  * is not installed). So we tell cURL which certificates we trust.
331
  */
332
- curl_setopt($this->ch, CURLOPT_CAINFO, realpath(dirname(__FILE__) . "/cacert.pem"));
333
 
334
  $body = curl_exec($this->ch);
335
 
34
  /**
35
  * Version of our client.
36
  */
37
+ const CLIENT_VERSION = "1.6.4";
38
 
39
  /**
40
  * Endpoint of the remote API.
104
  */
105
  public $profiles;
106
 
107
+ /**
108
+ * RESTful refunds resource. NOTE: requires OAuth access token.
109
+ *
110
+ * If you wish to create / get / list / cancel refunds with an API key, use the payment_refunds resource
111
+ *
112
+ * @see $payments_refunds
113
+ * @var Mollie_API_Resource_Refunds
114
+ */
115
+ public $refunds;
116
+
117
  /**
118
  * RESTful Settlements resource. NOTE: requires OAuth access token.
119
  *
135
  */
136
  public $customers_payments;
137
 
138
+ /**
139
+ * RESTful Customers Mandates resource.
140
+ *
141
+ * @var Mollie_API_Resource_Customers_Mandates
142
+ */
143
+ public $customers_mandates;
144
+
145
+ /**
146
+ * RESTful Customers Subscriptions resource.
147
+ *
148
+ * @var Mollie_API_Resource_Customers_Subscriptions
149
+ */
150
+ public $customers_subscriptions;
151
+
152
  /**
153
  * @var string
154
  */
171
  */
172
  protected $ch;
173
 
174
+ /**
175
+ * @var string
176
+ */
177
+ protected $pem_path;
178
+
179
  /**
180
  * @throws Mollie_API_Exception_IncompatiblePlatform
181
  */
184
  $this->getCompatibilityChecker()
185
  ->checkCompatibility();
186
 
187
+ $this->payments = new Mollie_API_Resource_Payments($this);
188
+ $this->payments_refunds = new Mollie_API_Resource_Payments_Refunds($this);
189
+ $this->issuers = new Mollie_API_Resource_Issuers($this);
190
+ $this->methods = new Mollie_API_Resource_Methods($this);
191
+ $this->customers = new Mollie_API_Resource_Customers($this);
192
+ $this->customers_payments = new Mollie_API_Resource_Customers_Payments($this);
193
+ $this->customers_mandates = new Mollie_API_Resource_Customers_Mandates($this);
194
+ $this->customers_subscriptions = new Mollie_API_Resource_Customers_Subscriptions($this);
195
 
196
  // OAuth2 endpoints
197
  $this->permissions = new Mollie_API_Resource_Permissions($this);
198
  $this->organizations = new Mollie_API_Resource_Organizations($this);
199
+ $this->refunds = new Mollie_API_Resource_Refunds($this);
200
  $this->profiles = new Mollie_API_Resource_Profiles($this);
201
  $this->settlements = new Mollie_API_Resource_Settlements($this);
202
 
206
  $this->addVersionString("PHP/" . phpversion());
207
  $this->addVersionString("cURL/" . $curl_version["version"]);
208
  $this->addVersionString($curl_version["ssl_version"]);
209
+
210
+ // The PEM path may be overwritten with setPemPath().
211
+ $this->pem_path = realpath(dirname(__FILE__) . "/cacert.pem");
212
  }
213
 
214
  /**
289
  $this->version_strings[] = str_replace(array(" ", "\t", "\n", "\r"), '-', $version_string);
290
  }
291
 
292
+ /**
293
+ * Overwrite the default path to the PEM file. Should only be used by advanced users.
294
+ *
295
+ * @param string $pem_path
296
+ */
297
+ public function setPemPath ($pem_path)
298
+ {
299
+ $this->pem_path = strval($pem_path);
300
+ }
301
+
302
  /**
303
  * Perform an http call. This method is used by the resource specific classes. Please use the $payments property to
304
  * perform operations on payments.
319
  {
320
  if (empty($this->api_key))
321
  {
322
+ throw new Mollie_API_Exception("You have not set an API key or OAuth access token. Please use setApiKey() to set the API key.");
323
  }
324
 
325
  if (empty($this->ch) || !function_exists("curl_reset"))
355
  "Authorization: Bearer {$this->api_key}",
356
  "User-Agent: {$user_agent}",
357
  "X-Mollie-Client-Info: " . php_uname(),
358
+ "Expect:",
359
  );
360
 
361
  curl_setopt($this->ch, CURLOPT_CUSTOMREQUEST, $http_method);
375
  * On some servers, the list of installed certificates is outdated or not present at all (the ca-bundle.crt
376
  * is not installed). So we tell cURL which certificates we trust.
377
  */
378
+ curl_setopt($this->ch, CURLOPT_CAINFO, $this->pem_path);
379
 
380
  $body = curl_exec($this->ch);
381
 
includes/mollie-api-php/src/Mollie/API/Object/Customer/Mandate.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2016, Mollie B.V.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * - Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * - Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
16
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
19
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25
+ * DAMAGE.
26
+ *
27
+ * @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php
28
+ * @author Mollie B.V. <info@mollie.com>
29
+ * @copyright Mollie B.V.
30
+ * @link https://www.mollie.com
31
+ */
32
+ class Mollie_API_Object_Customer_Mandate
33
+ {
34
+ const STATUS_PENDING = "pending";
35
+ const STATUS_VALID = "valid";
36
+ const STATUS_INVALID = "invalid";
37
+
38
+ /**
39
+ * @var string
40
+ */
41
+ public $resource;
42
+
43
+ /**
44
+ * @var string
45
+ */
46
+ public $id;
47
+
48
+ /**
49
+ * @var string
50
+ */
51
+ public $status;
52
+
53
+ /**
54
+ * @var string
55
+ */
56
+ public $method;
57
+
58
+ /**
59
+ * @var string
60
+ */
61
+ public $customerId;
62
+
63
+ /**
64
+ * @var object|null
65
+ */
66
+ public $details;
67
+
68
+ /**
69
+ * @var string
70
+ */
71
+ public $createdDatetime;
72
+
73
+ /**
74
+ * @return bool
75
+ */
76
+ public function isValid ()
77
+ {
78
+ return $this->status === self::STATUS_VALID;
79
+ }
80
+ }
includes/mollie-api-php/src/Mollie/API/Object/Customer/Subscription.php ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2016, Mollie B.V.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * - Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * - Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
16
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
19
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25
+ * DAMAGE.
26
+ *
27
+ * @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php
28
+ * @author Mollie B.V. <info@mollie.com>
29
+ * @copyright Mollie B.V.
30
+ * @link https://www.mollie.com
31
+ */
32
+ class Mollie_API_Object_Customer_Subscription
33
+ {
34
+ const STATUS_ACTIVE = "active";
35
+ const STATUS_PENDING = "pending"; // Waiting for a valid mandate.
36
+ const STATUS_CANCELLED = "cancelled";
37
+ const STATUS_SUSPENDED = "suspended"; // Active, but mandate became invalid.
38
+ const STATUS_COMPLETED = "completed";
39
+
40
+ /**
41
+ * @var string
42
+ */
43
+ public $resource;
44
+
45
+ /**
46
+ * @var string
47
+ */
48
+ public $id;
49
+
50
+ /**
51
+ * @var string
52
+ */
53
+ public $customerId;
54
+
55
+ /**
56
+ * Either "live" or "test" depending on the customer's mode.
57
+ *
58
+ * @var string
59
+ */
60
+ public $mode;
61
+
62
+ /**
63
+ * ISO 8601 format.
64
+ *
65
+ * @var string
66
+ */
67
+ public $createdDatetime;
68
+
69
+ /**
70
+ * @var string
71
+ */
72
+ public $status;
73
+
74
+ /**
75
+ * @var string
76
+ */
77
+ public $amount;
78
+
79
+ /**
80
+ * @var int|null
81
+ */
82
+ public $times;
83
+
84
+ /**
85
+ * @var string
86
+ */
87
+ public $interval;
88
+
89
+ /**
90
+ * @var string
91
+ */
92
+ public $description;
93
+
94
+ /**
95
+ * @var string|null
96
+ */
97
+ public $method;
98
+
99
+ /**
100
+ * ISO 8601 format.
101
+ *
102
+ * @var string|null
103
+ */
104
+ public $cancelledDatetime;
105
+
106
+ /**
107
+ * Contains an optional 'webhookUrl'.
108
+ *
109
+ * @var object|null
110
+ */
111
+ public $links;
112
+
113
+ /**
114
+ * Returns whether the Subscription is valid or not.
115
+ *
116
+ * @return bool
117
+ */
118
+ public function isValid ()
119
+ {
120
+ return $this->status === self::STATUS_ACTIVE;
121
+ }
122
+
123
+ /**
124
+ * Returns whether the Subscription is cancelled or not.
125
+ *
126
+ * @return bool
127
+ */
128
+ public function isCancelled ()
129
+ {
130
+ return $this->status === self::STATUS_CANCELLED;
131
+ }
132
+ }
includes/mollie-api-php/src/Mollie/API/Object/Organization.php CHANGED
@@ -48,6 +48,11 @@ class Mollie_API_Object_Organization
48
  */
49
  public $email;
50
 
 
 
 
 
 
51
  /**
52
  * @var string
53
  */
48
  */
49
  public $email;
50
 
51
+ /**
52
+ * @var string
53
+ */
54
+ public $address;
55
+
56
  /**
57
  * @var string
58
  */
includes/mollie-api-php/src/Mollie/API/Object/Payment.php CHANGED
@@ -72,6 +72,20 @@ class Mollie_API_Object_Payment
72
  */
73
  const STATUS_CHARGED_BACK = "charged_back";
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  /**
76
  * @var string
77
  */
@@ -189,10 +203,33 @@ class Mollie_API_Object_Payment
189
  * The customer ID this payment is performed by.
190
  *
191
  * @example cst_51EkUqla3
192
- * @var string
193
  */
194
  public $customerId;
195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  /**
197
  * The locale used for this payment.
198
  *
72
  */
73
  const STATUS_CHARGED_BACK = "charged_back";
74
 
75
+ /**
76
+ * The payment has failed.
77
+ */
78
+ const STATUS_FAILED = "failed";
79
+
80
+ /**
81
+ * Recurring types.
82
+ *
83
+ * @see https://www.mollie.com/en/docs/recurring
84
+ */
85
+ const RECURRINGTYPE_NONE = NULL;
86
+ const RECURRINGTYPE_FIRST = "first";
87
+ const RECURRINGTYPE_RECURRING = "recurring";
88
+
89
  /**
90
  * @var string
91
  */
203
  * The customer ID this payment is performed by.
204
  *
205
  * @example cst_51EkUqla3
206
+ * @var string|null
207
  */
208
  public $customerId;
209
 
210
+ /**
211
+ * Either "first", "recurring", or NULL for regular payments.
212
+ *
213
+ * @var string|null
214
+ */
215
+ public $recurringType;
216
+
217
+ /**
218
+ * The mandate ID this payment is performed with.
219
+ *
220
+ * @example mdt_pXm1g3ND
221
+ * @var string|null
222
+ */
223
+ public $mandateId;
224
+
225
+ /**
226
+ * The subscription ID this payment belongs to.
227
+ *
228
+ * @example sub_rVKGtNd6s3
229
+ * @var string|null
230
+ */
231
+ public $subscriptionId;
232
+
233
  /**
234
  * The locale used for this payment.
235
  *
includes/mollie-api-php/src/Mollie/API/Object/Payment/Refund.php CHANGED
@@ -60,6 +60,13 @@ class Mollie_API_Object_Payment_Refund
60
  */
61
  public $amount;
62
 
 
 
 
 
 
 
 
63
  /**
64
  * The payment that was refunded.
65
  *
60
  */
61
  public $amount;
62
 
63
+ /**
64
+ * The refund's description, if available.
65
+ *
66
+ * @var string|null
67
+ */
68
+ public $description;
69
+
70
  /**
71
  * The payment that was refunded.
72
  *
includes/mollie-api-php/src/Mollie/API/Resource/Base.php CHANGED
@@ -130,6 +130,31 @@ abstract class Mollie_API_Resource_Base
130
  return $this->copy($result, $this->getResourceObject());
131
  }
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  /**
134
  * Get a collection of objects from the REST API.
135
  *
@@ -189,6 +214,7 @@ abstract class Mollie_API_Resource_Base
189
  *
190
  * @param array $data An array containing details on the resource. Fields supported depend on the resource created.
191
  * @param array $filters
 
192
  * @return object
193
  * @throws Mollie_API_Exception
194
  */
@@ -221,6 +247,7 @@ abstract class Mollie_API_Resource_Base
221
  *
222
  * @param string $resource_id
223
  * @param array $filters
 
224
  * @return object
225
  * @throws Mollie_API_Exception
226
  */
@@ -229,6 +256,21 @@ abstract class Mollie_API_Resource_Base
229
  return $this->rest_read($this->getResourcePath(), $resource_id, $filters);
230
  }
231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232
  /**
233
  * Retrieve all objects of a certain resource.
234
  *
@@ -257,7 +299,14 @@ abstract class Mollie_API_Resource_Base
257
  {
258
  $body = $this->api->performHttpCall($http_method, $api_method, $http_body);
259
 
260
- if (!($object = @json_decode($body)))
 
 
 
 
 
 
 
261
  {
262
  throw new Mollie_API_Exception("Unable to decode Mollie response: '{$body}'.");
263
  }
@@ -320,7 +369,7 @@ abstract class Mollie_API_Resource_Base
320
  /**
321
  * Set the resource to use a certain parent. Use this method before performing a get() or all() call.
322
  *
323
- * @param mixed $parent An object with an 'id' property
324
  * @return $this
325
  */
326
  public function with ($parent)
130
  return $this->copy($result, $this->getResourceObject());
131
  }
132
 
133
+ /**
134
+ * Sends a DELETE request to a single Molle API object.
135
+ *
136
+ * @param string $rest_resource
137
+ * @param string $id
138
+ *
139
+ * @return object
140
+ * @throws Mollie_API_Exception
141
+ */
142
+ private function rest_delete ($rest_resource, $id)
143
+ {
144
+ if (empty($id))
145
+ {
146
+ throw new Mollie_API_Exception("Invalid resource id.");
147
+ }
148
+
149
+ $id = urlencode($id);
150
+ $result = $this->performApiCall(
151
+ self::REST_DELETE,
152
+ "{$rest_resource}/{$id}"
153
+ );
154
+
155
+ return $this->copy($result, $this->getResourceObject());
156
+ }
157
+
158
  /**
159
  * Get a collection of objects from the REST API.
160
  *
214
  *
215
  * @param array $data An array containing details on the resource. Fields supported depend on the resource created.
216
  * @param array $filters
217
+ *
218
  * @return object
219
  * @throws Mollie_API_Exception
220
  */
247
  *
248
  * @param string $resource_id
249
  * @param array $filters
250
+ *
251
  * @return object
252
  * @throws Mollie_API_Exception
253
  */
256
  return $this->rest_read($this->getResourcePath(), $resource_id, $filters);
257
  }
258
 
259
+ /**
260
+ * Delete a single resource from Mollie.
261
+ *
262
+ * Will throw a Mollie_API_Exception if the resource cannot be found.
263
+ *
264
+ * @param string $resource_id
265
+ *
266
+ * @return object
267
+ * @throws Mollie_API_Exception
268
+ */
269
+ public function delete ($resource_id)
270
+ {
271
+ return $this->rest_delete($this->getResourcePath(), $resource_id);
272
+ }
273
+
274
  /**
275
  * Retrieve all objects of a certain resource.
276
  *
299
  {
300
  $body = $this->api->performHttpCall($http_method, $api_method, $http_body);
301
 
302
+ if (empty($body))
303
+ {
304
+ throw new Mollie_API_Exception("Unable to decode Mollie response: '{$body}'.");
305
+ }
306
+
307
+ $object = @json_decode($body);
308
+
309
+ if (json_last_error() != JSON_ERROR_NONE)
310
  {
311
  throw new Mollie_API_Exception("Unable to decode Mollie response: '{$body}'.");
312
  }
369
  /**
370
  * Set the resource to use a certain parent. Use this method before performing a get() or all() call.
371
  *
372
+ * @param Mollie_API_Object_Payment|object $parent An object with an 'id' property
373
  * @return $this
374
  */
375
  public function with ($parent)
includes/mollie-api-php/src/Mollie/API/Resource/Customers/Mandates.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2016, Mollie B.V.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * - Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * - Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
16
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
19
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25
+ * DAMAGE.
26
+ *
27
+ * @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php
28
+ * @author Mollie B.V. <info@mollie.com>
29
+ * @copyright Mollie B.V.
30
+ * @link https://www.mollie.com
31
+ *
32
+ * @method Mollie_API_Object_Customer_Mandate[]|Mollie_API_Object_List all($offset = 0, $limit = 0, array $filters = array())
33
+ * @method Mollie_API_Object_Customer_Mandate get($mandate_id, array $filters = array())
34
+ */
35
+ class Mollie_API_Resource_Customers_Mandates extends Mollie_API_Resource_Base
36
+ {
37
+ /**
38
+ * @var string
39
+ */
40
+ protected $resource_path = "customers_mandates";
41
+
42
+ /**
43
+ * @return Mollie_API_Object_Customer_Mandate
44
+ */
45
+ protected function getResourceObject ()
46
+ {
47
+ return new Mollie_API_Object_Customer_Mandate;
48
+ }
49
+ }
includes/mollie-api-php/src/Mollie/API/Resource/Customers/Subscriptions.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2016, Mollie B.V.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * - Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * - Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
16
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
19
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25
+ * DAMAGE.
26
+ *
27
+ * @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php
28
+ * @author Mollie B.V. <info@mollie.com>
29
+ * @copyright Mollie B.V.
30
+ * @link https://www.mollie.com
31
+ *
32
+ * @method Mollie_API_Object_Customer_Subscription[]|Mollie_API_Object_List all($offset = 0, $limit = 0, array $filters = array())
33
+ * @method Mollie_API_Object_Customer_Subscription get($subscription_id, array $filters = array())
34
+ */
35
+ class Mollie_API_Resource_Customers_Subscriptions extends Mollie_API_Resource_Base
36
+ {
37
+ /**
38
+ * @var string
39
+ */
40
+ protected $resource_path = "customers_subscriptions";
41
+
42
+ /**
43
+ * @return Mollie_API_Object_Customer_Subscription
44
+ */
45
+ protected function getResourceObject ()
46
+ {
47
+ return new Mollie_API_Object_Customer_Subscription;
48
+ }
49
+
50
+ /**
51
+ * Cancel the given Subscription. This is just an alias of the 'delete' method.
52
+ *
53
+ * @param string $subscription_id
54
+ *
55
+ * @return Mollie_API_Object_Customer_Subscription
56
+ * @throws Mollie_API_Exception
57
+ */
58
+ public function cancel ($subscription_id)
59
+ {
60
+ return $this->delete($subscription_id);
61
+ }
62
+ }
includes/mollie-api-php/src/Mollie/API/Resource/Payments.php CHANGED
@@ -68,20 +68,37 @@ class Mollie_API_Resource_Payments extends Mollie_API_Resource_Base
68
  }
69
 
70
  /**
 
 
 
 
 
71
  * @param Mollie_API_Object_Payment $payment
72
- * @param float|NULL $amount Amount to refund, or NULL to refund full amount.
 
73
  * @return Mollie_API_Object_Payment_Refund
74
  */
75
- public function refund (Mollie_API_Object_Payment $payment, $amount = NULL)
76
  {
77
  $resource = "{$this->getResourcePath()}/" . urlencode($payment->id) . "/refunds";
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  $body = NULL;
80
- if ($amount)
81
  {
82
- $body = json_encode(
83
- array("amount" => $amount)
84
- );
85
  }
86
 
87
  $result = $this->performApiCall(self::REST_CREATE, $resource, $body);
@@ -91,10 +108,7 @@ class Mollie_API_Resource_Payments extends Mollie_API_Resource_Base
91
  */
92
  if (!empty($result->payment))
93
  {
94
- foreach ($result->payment as $payment_key => $payment_value)
95
- {
96
- $payment->{$payment_key} = $payment_value;
97
- }
98
  }
99
 
100
  return $this->copy($result, new Mollie_API_Object_Payment_Refund);
68
  }
69
 
70
  /**
71
+ * Issue a refund for the given payment.
72
+ *
73
+ * The $filters parameter may either be an array of endpoint parameters, a float value to
74
+ * initiate a partial refund, or empty to do a full refund.
75
+ *
76
  * @param Mollie_API_Object_Payment $payment
77
+ * @param array|float|NULL $filters
78
+ *
79
  * @return Mollie_API_Object_Payment_Refund
80
  */
81
+ public function refund (Mollie_API_Object_Payment $payment, $filters = array())
82
  {
83
  $resource = "{$this->getResourcePath()}/" . urlencode($payment->id) . "/refunds";
84
 
85
+ if (!is_array($filters))
86
+ {
87
+ if ((is_numeric($filters))) {
88
+ // $filters is numeric, so it must be an amount
89
+ $filters = array('amount' => $filters);
90
+ }
91
+ else
92
+ {
93
+ // $filters is not an array, but also not an amount, so reset $filters
94
+ $filters = array();
95
+ }
96
+ }
97
+
98
  $body = NULL;
99
+ if (count($filters) > 0)
100
  {
101
+ $body = json_encode($filters);
 
 
102
  }
103
 
104
  $result = $this->performApiCall(self::REST_CREATE, $resource, $body);
108
  */
109
  if (!empty($result->payment))
110
  {
111
+ $this->copy($result->payment, $payment);
 
 
 
112
  }
113
 
114
  return $this->copy($result, new Mollie_API_Object_Payment_Refund);
includes/mollie-api-php/src/Mollie/API/Resource/Refunds.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (c) 2013, Mollie B.V.
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * - Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ * - Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
16
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
19
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
25
+ * DAMAGE.
26
+ *
27
+ * @license Berkeley Software Distribution License (BSD-License 2) http://www.opensource.org/licenses/bsd-license.php
28
+ * @author Mollie B.V. <info@mollie.com>
29
+ * @copyright Mollie B.V.
30
+ * @link https://www.mollie.com
31
+ *
32
+ * @method Mollie_API_Object_Payment_Refund[]|Mollie_API_Object_List all($offset = 0, $limit = 0, array $filters = array())
33
+ * @method Mollie_API_Object_Payment_Refund get($resource_id, array $filters = array())
34
+ */
35
+ class Mollie_API_Resource_Refunds extends Mollie_API_Resource_Base
36
+ {
37
+ /**
38
+ * @var string
39
+ */
40
+ protected $resource_path = "refunds";
41
+
42
+ /**
43
+ * @return Mollie_API_Object_Method
44
+ */
45
+ protected function getResourceObject ()
46
+ {
47
+ return new Mollie_API_Object_Payment_Refund;
48
+ }
49
+ }
includes/mollie-api-php/tests/apiUnitTest.php CHANGED
@@ -18,8 +18,14 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
18
  {
19
  parent::setUp();
20
 
21
- $this->compatibilityChecker = $this->getMock("Mollie_API_CompatibilityChecker", array("checkCompatibility"));
22
- $this->api = $this->getMock("Mollie_API_Client", array("performHttpCall", "getCompatibilityChecker"), array(), '', FALSE);
 
 
 
 
 
 
23
 
24
  $this->api->expects($this->any())
25
  ->method("getCompatibilityChecker")
@@ -35,17 +41,22 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
35
  */
36
  public function testSettingInvalidApiKeyFails ()
37
  {
38
- $api = $this->getMock("Mollie_API_Client", NULL, array(), '', FALSE);
 
39
  $api->setApiKey("invalid");
40
  }
41
 
42
  /**
43
  * @expectedException Mollie_API_Exception
44
- * @expectedExceptionMessage You have not set an API key. Please use setApiKey() to set the API key.
45
  */
46
  public function testNotSettingApiKeyGivesException()
47
  {
48
- $this->api = $this->getMock("Mollie_API_Client", array('getCompatibilityChecker'), array(), '', FALSE);
 
 
 
 
49
  $this->api->expects($this->any())
50
  ->method("getCompatibilityChecker")
51
  ->will($this->returnValue($this->compatibilityChecker));
@@ -66,8 +77,8 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
66
  ->will($this->returnValue(""));
67
 
68
  $this->api->payments->create(array(
69
- "amount" => 100.00,
70
- "description" => "Order #1337 24 Roundhousekicks",
71
  "redirectUrl" => "http://www.chucknorris.rhk/return.php",
72
  ), array(
73
  "profileId" => "pfl_wdy!aA6Zy",
@@ -86,8 +97,8 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
86
  ->will($this->returnValue('{ "error":{ "type":"request", "message":"Unauthorized request", "links":{ "documentation":"https://www.mollie.nl/api/docs/" } } }'));
87
 
88
  $this->api->payments->create(array(
89
- "amount" => 100.00,
90
- "description" => "Order #1337 24 Roundhousekicks",
91
  "redirectUrl" => "http://www.chucknorris.rhk/return.php",
92
  ));
93
  }
@@ -103,8 +114,8 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
103
  ->method("performHttpCall");
104
 
105
  $this->api->payments->create(array(
106
- "amount" => 100.00,
107
- "description" => "Order #1337 24 Roundhousekicks \x80 15,-",
108
  "redirectUrl" => "http://www.chucknorris.rhk/return.php",
109
  ));
110
  }
@@ -118,9 +129,9 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
118
 
119
  /** @var Mollie_API_Object_Payment $payment */
120
  $payment = $this->api->payments->create(array(
121
- "amount" => 100.00,
122
- "description" => "Order #1337 24 Roundhousekicks",
123
- "redirectUrl" => "http://www.chucknorris.rhk/return.php",
124
  ));
125
 
126
  $this->assertEquals("tr_d0b0E3EA3v", $payment->id);
@@ -145,14 +156,14 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
145
  {
146
  $this->api->expects($this->once())
147
  ->method("performHttpCall")
148
- ->with(Mollie_API_Client::HTTP_POST, "payments/tr_OCrlrHqKsr/refunds", '{"amount":60.33}')
149
- ->will($this->returnValue('{"id":"re_O3UbDhODzG","payment":{"id":"tr_OCrlrHqKsr","mode":"live","createdDatetime":"2014-09-15T09:24:39.0Z","status":"refunded","expiryPeriod":"PT15M","paidDatetime":"2014-09-15T09:28:29.0Z","amount":"100.00","amountRefunded":"60.33","description":"15 Round House Kicks To The Face","method":"ideal","metadata":null,"details":{"consumerName":"Hr E G H K\u00fcppers en/of MW M.J. K\u00fcppers-Veeneman","consumerAccount":"NL53INGB0654422370","consumerBic":"INGBNL2A"},"links":{"redirectUrl":"http://www.example.org/return.php"}},"amount":"60.33","refundedDatetime":"2014-09-15T09:24:39.0Z"}'));
150
 
151
  $payment = new Mollie_API_Object_Payment();
152
  $payment->id = "tr_OCrlrHqKsr";
153
 
154
  /** @var Mollie_API_Object_Payment $payment */
155
- $refund = $this->api->payments->refund($payment, 60.33);
156
 
157
  $this->assertEquals("re_O3UbDhODzG", $refund->id);
158
  $this->assertEquals(60.33, $refund->amount);
@@ -164,6 +175,12 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
164
  $this->assertEquals("2014-09-15T09:24:39.0Z", $payment->createdDatetime);
165
  $this->assertEquals(Mollie_API_Object_Payment::STATUS_REFUNDED, $payment->status);
166
 
 
 
 
 
 
 
167
  $this->assertFalse($payment->isOpen());
168
  $this->assertFalse($payment->isExpired());
169
  $this->assertFalse($payment->isCancelled());
@@ -174,12 +191,59 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
174
  }
175
 
176
  /**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  * @dataProvider dpInvalidPaymentId
178
  */
179
  public function testGetPaymentFailsWithInvalidPaymentId ($payment_id)
180
  {
181
- $this->setExpectedException('Mollie_API_Exception', "Invalid payment ID: '{$payment_id}'. A payment ID should start with 'tr_'.");
182
-
183
  $this->api->payments->get($payment_id);
184
  }
185
 
@@ -276,10 +340,25 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
276
 
277
  foreach ($methods as $method)
278
  {
279
- $this->assertInstanceof("Mollie_API_Object_Method", $method);
280
  }
281
  }
282
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  public function testUndefinedResourceCallsResourceEndpoint ()
284
  {
285
  $this->api->expects($this->once())
@@ -290,13 +369,15 @@ class Mollie_ApiUnitTest extends PHPUnit_Framework_TestCase
290
  $this->api->FooBars->get("foobar_ID", array("f" => "B"));
291
  }
292
 
 
 
 
 
293
  public function testUndefinedSubresourceRequiresParentId ()
294
  {
295
  $this->api->expects($this->never())
296
  ->method("performHttpCall");
297
 
298
- $this->setExpectedException("Mollie_API_Exception", "Subresource 'foos_bars' used without parent 'foos' ID.");
299
-
300
  $this->api->Foos_Bars->get("bar_ID", array("f" => "B"));
301
  }
302
 
18
  {
19
  parent::setUp();
20
 
21
+ $this->compatibilityChecker = $this->getMockBuilder("Mollie_API_CompatibilityChecker")
22
+ ->setMethods(array("checkCompatibility"))
23
+ ->getMock();
24
+
25
+ $this->api = $this->getMockBuilder("Mollie_API_Client")
26
+ ->setMethods(array("performHttpCall", "getCompatibilityChecker"))
27
+ ->disableOriginalConstructor()
28
+ ->getMock();
29
 
30
  $this->api->expects($this->any())
31
  ->method("getCompatibilityChecker")
41
  */
42
  public function testSettingInvalidApiKeyFails ()
43
  {
44
+ $api = new Mollie_API_Client;
45
+
46
  $api->setApiKey("invalid");
47
  }
48
 
49
  /**
50
  * @expectedException Mollie_API_Exception
51
+ * @expectedExceptionMessage You have not set an API key or OAuth access token. Please use setApiKey() to set the API key.
52
  */
53
  public function testNotSettingApiKeyGivesException()
54
  {
55
+ $this->api = $this->getMockBuilder("Mollie_API_Client")
56
+ ->setMethods(array("getCompatibilityChecker"))
57
+ ->disableOriginalConstructor()
58
+ ->getMock();
59
+
60
  $this->api->expects($this->any())
61
  ->method("getCompatibilityChecker")
62
  ->will($this->returnValue($this->compatibilityChecker));
77
  ->will($this->returnValue(""));
78
 
79
  $this->api->payments->create(array(
80
+ "amount" => 100.00,
81
+ "description" => "Order #1337 24 Roundhousekicks",
82
  "redirectUrl" => "http://www.chucknorris.rhk/return.php",
83
  ), array(
84
  "profileId" => "pfl_wdy!aA6Zy",
97
  ->will($this->returnValue('{ "error":{ "type":"request", "message":"Unauthorized request", "links":{ "documentation":"https://www.mollie.nl/api/docs/" } } }'));
98
 
99
  $this->api->payments->create(array(
100
+ "amount" => 100.00,
101
+ "description" => "Order #1337 24 Roundhousekicks",
102
  "redirectUrl" => "http://www.chucknorris.rhk/return.php",
103
  ));
104
  }
114
  ->method("performHttpCall");
115
 
116
  $this->api->payments->create(array(
117
+ "amount" => 100.00,
118
+ "description" => "Order #1337 24 Roundhousekicks \x80 15,-",
119
  "redirectUrl" => "http://www.chucknorris.rhk/return.php",
120
  ));
121
  }
129
 
130
  /** @var Mollie_API_Object_Payment $payment */
131
  $payment = $this->api->payments->create(array(
132
+ "amount" => 100.00,
133
+ "description" => "Order #1337 24 Roundhousekicks",
134
+ "redirectUrl" => "http://www.chucknorris.rhk/return.php",
135
  ));
136
 
137
  $this->assertEquals("tr_d0b0E3EA3v", $payment->id);
156
  {
157
  $this->api->expects($this->once())
158
  ->method("performHttpCall")
159
+ ->with(Mollie_API_Client::HTTP_POST, "payments/tr_OCrlrHqKsr/refunds", NULL)
160
+ ->will($this->returnValue('{"id":"re_O3UbDhODzG","payment":{"id":"tr_OCrlrHqKsr","mode":"live","createdDatetime":"2014-09-15T09:24:39.0Z","status":"refunded","expiryPeriod":"PT15M","paidDatetime":"2014-09-15T09:28:29.0Z","amount":"60.33","amountRefunded":"60.33","amountRemaining":null,"description":"15 Round House Kicks To The Face","method":"ideal","metadata":null,"details":{"consumerName":"Hr E G H K\u00fcppers en/of MW M.J. K\u00fcppers-Veeneman","consumerAccount":"NL53INGB0654422370","consumerBic":"INGBNL2A"},"links":{"redirectUrl":"http://www.example.org/return.php"}},"amount":"60.33","refundedDatetime":"2014-09-15T09:24:39.0Z"}'));
161
 
162
  $payment = new Mollie_API_Object_Payment();
163
  $payment->id = "tr_OCrlrHqKsr";
164
 
165
  /** @var Mollie_API_Object_Payment $payment */
166
+ $refund = $this->api->payments->refund($payment);
167
 
168
  $this->assertEquals("re_O3UbDhODzG", $refund->id);
169
  $this->assertEquals(60.33, $refund->amount);
175
  $this->assertEquals("2014-09-15T09:24:39.0Z", $payment->createdDatetime);
176
  $this->assertEquals(Mollie_API_Object_Payment::STATUS_REFUNDED, $payment->status);
177
 
178
+ $this->assertEquals(60.33, $payment->getAmountRefunded());
179
+ $this->assertEquals(0, $payment->getAmountRemaining());
180
+
181
+ $this->assertFalse($payment->canBeRefunded());
182
+ $this->assertFalse($payment->canBePartiallyRefunded());
183
+
184
  $this->assertFalse($payment->isOpen());
185
  $this->assertFalse($payment->isExpired());
186
  $this->assertFalse($payment->isCancelled());
191
  }
192
 
193
  /**
194
+ * @group refunds
195
+ */
196
+ public function testCreateRefundSupportsPartialRefunds ()
197
+ {
198
+ $this->api->expects($this->once())
199
+ ->method("performHttpCall")
200
+ ->with(Mollie_API_Client::HTTP_POST, "payments/tr_OCrlrHqKsr/refunds", '{"amount":60.33}')
201
+ ->will($this->returnValue('{"id":"re_O3UbDhODzG","payment":{"id":"tr_OCrlrHqKsr","mode":"live","createdDatetime":"2014-09-15T09:24:39.0Z","status":"refunded","expiryPeriod":"PT15M","paidDatetime":"2014-09-15T09:28:29.0Z","amount":"86.55","amountRefunded":"60.33","amountRemaining":"26.12","description":"15 Round House Kicks To The Face","method":"ideal","metadata":null,"details":{"consumerName":"Hr E G H K\u00fcppers en/of MW M.J. K\u00fcppers-Veeneman","consumerAccount":"NL53INGB0654422370","consumerBic":"INGBNL2A"},"links":{"redirectUrl":"http://www.example.org/return.php"}},"amount":60.33,"refundedDatetime":"2014-09-15T09:24:39.0Z"}'));
202
+
203
+ $payment = new Mollie_API_Object_Payment();
204
+ $payment->id = "tr_OCrlrHqKsr";
205
+
206
+ /** @var Mollie_API_Object_Payment $payment */
207
+ $refund = $this->api->payments->refund($payment, 60.33);
208
+
209
+ $this->assertEquals(60.33, $refund->amount);
210
+
211
+ $this->assertEquals(60.33, $payment->getAmountRefunded());
212
+ $this->assertEquals(26.12, $payment->getAmountRemaining());
213
+
214
+ $this->assertTrue($payment->canBeRefunded());
215
+ $this->assertTrue($payment->canBePartiallyRefunded());
216
+ $this->assertTrue($payment->isRefunded());
217
+ }
218
+
219
+ /**
220
+ * @group refunds
221
+ */
222
+ public function testCreateRefundSupportsDescriptions ()
223
+ {
224
+ $this->api->expects($this->once())
225
+ ->method("performHttpCall")
226
+ ->with(Mollie_API_Client::HTTP_POST, "payments/tr_OCrlrHqKsr/refunds", '{"amount":60.33,"description":"Foo bar"}')
227
+ ->will($this->returnValue('{"id":"re_O3UbDhODzG","payment":{"id":"tr_OCrlrHqKsr","mode":"live","createdDatetime":"2014-09-15T09:24:39.0Z","status":"refunded","expiryPeriod":"PT15M","paidDatetime":"2014-09-15T09:28:29.0Z","amount":"86.55","amountRefunded":"60.33","amountRemaining":"26.12","description":"15 Round House Kicks To The Face","method":"ideal","metadata":null,"details":{"consumerName":"Hr E G H K\u00fcppers en/of MW M.J. K\u00fcppers-Veeneman","consumerAccount":"NL53INGB0654422370","consumerBic":"INGBNL2A"},"links":{"redirectUrl":"http://www.example.org/return.php"}},"amount":60.33,"description":"Foo bar","refundedDatetime":"2014-09-15T09:24:39.0Z"}'));
228
+
229
+ $payment = new Mollie_API_Object_Payment();
230
+ $payment->id = "tr_OCrlrHqKsr";
231
+
232
+ /** @var Mollie_API_Object_Payment $payment */
233
+ $refund = $this->api->payments->refund($payment, array("amount" => 60.33, "description" => "Foo bar"));
234
+
235
+ $this->assertEquals(60.33, $refund->amount);
236
+ $this->assertEquals("Foo bar", $refund->description);
237
+ }
238
+
239
+ /**
240
+ * @expectedException Mollie_API_Exception
241
+ * @expectedExceptionMessageRegExp /Invalid payment ID: '.*?'. A payment ID should start with 'tr_'./
242
+ *
243
  * @dataProvider dpInvalidPaymentId
244
  */
245
  public function testGetPaymentFailsWithInvalidPaymentId ($payment_id)
246
  {
 
 
247
  $this->api->payments->get($payment_id);
248
  }
249
 
340
 
341
  foreach ($methods as $method)
342
  {
343
+ $this->assertInstanceOf("Mollie_API_Object_Method", $method);
344
  }
345
  }
346
 
347
+ public function testDeleteSubscriptionWorksCorrectly ()
348
+ {
349
+ $this->api->expects($this->once())
350
+ ->method("performHttpCall")
351
+ ->with(Mollie_API_Client::HTTP_DELETE, "customers/cst_3EA3vd0b0E/subscriptions/sub_d0b0E3EA3v")
352
+ ->will($this->returnValue('{"id":"sub_d0b0E3EA3v", "customerId":"cst_EA3vd0b0E3", "mode":"live", "createdDatetime":"2013-11-21T09:57:08.0Z", "status":"cancelled", "amount":100, "description":"Subscription #1225", "method":null, "times":null, "interval":"months", "cancelledDatetime":"2016-07-25T09:57:08.0Z"}'));
353
+
354
+ /** @var Mollie_API_Object_Customer_Subscription $deleted_subscription */
355
+ $deleted_subscription = $this->api->customers_subscriptions->withParentId("cst_3EA3vd0b0E")->cancel("sub_d0b0E3EA3v");
356
+
357
+ $this->assertEquals("sub_d0b0E3EA3v", $deleted_subscription->id);
358
+
359
+ $this->assertTrue($deleted_subscription->isCancelled());
360
+ }
361
+
362
  public function testUndefinedResourceCallsResourceEndpoint ()
363
  {
364
  $this->api->expects($this->once())
369
  $this->api->FooBars->get("foobar_ID", array("f" => "B"));
370
  }
371
 
372
+ /**
373
+ * @expectedException Mollie_API_Exception
374
+ * @expectedExceptionMessage Subresource 'foos_bars' used without parent 'foos' ID.
375
+ */
376
  public function testUndefinedSubresourceRequiresParentId ()
377
  {
378
  $this->api->expects($this->never())
379
  ->method("performHttpCall");
380
 
 
 
381
  $this->api->Foos_Bars->get("bar_ID", array("f" => "B"));
382
  }
383
 
includes/mollie-api-php/tests/bootstrap.php CHANGED
@@ -2,4 +2,4 @@
2
 
3
  date_default_timezone_set("CET");
4
 
5
- require_once dirname(__FILE__) . "/../src/Mollie/API/Autoloader.php";
2
 
3
  date_default_timezone_set("CET");
4
 
5
+ require_once dirname(__FILE__) . "/../vendor/autoload.php";
includes/mollie-api-php/tests/compatibilityCheckerUnitTest.php CHANGED
@@ -11,7 +11,14 @@ class Mollie_API_CompatibilityCheckerUnitTest extends PHPUnit_Framework_TestCase
11
  {
12
  parent::setUp();
13
 
14
- $this->checker = $this->getMock("Mollie_API_CompatibilityChecker", array("satisfiesPhpVersion", "satisfiesJsonExtension", "satisfiesCurlExtension", "satisfiesCurlFunctions"));
 
 
 
 
 
 
 
15
  }
16
 
17
  /**
@@ -107,4 +114,4 @@ class Mollie_API_CompatibilityCheckerUnitTest extends PHPUnit_Framework_TestCase
107
 
108
  $this->checker->checkCompatibility();
109
  }
110
- }
11
  {
12
  parent::setUp();
13
 
14
+ $this->checker = $this->getMockBuilder("Mollie_API_CompatibilityChecker")
15
+ ->setMethods(array(
16
+ "satisfiesPhpVersion",
17
+ "satisfiesJsonExtension",
18
+ "satisfiesCurlExtension",
19
+ "satisfiesCurlFunctions",
20
+ ))
21
+ ->getMock();
22
  }
23
 
24
  /**
114
 
115
  $this->checker->checkCompatibility();
116
  }
117
+ }
includes/mollie-api-php/tests/resourceUnitTest.php CHANGED
@@ -9,10 +9,19 @@ class Mollie_API_Resource_BaseUnitTest extends PHPUnit_Framework_TestCase
9
  $this->assertSame("payments", $resource->getResourcePath());
10
  }
11
 
12
- public function testGetResourcePathSubresourceFails()
13
  {
14
- $this->setExpectedException("Mollie_API_Exception", "Subresource 'payments_refunds' used without parent 'payments' ID.");
 
 
 
15
 
 
 
 
 
 
 
16
  $resource = new Mollie_API_Resource_Payments_Refunds(new Mollie_API_Client);
17
  $resource->getResourcePath();
18
  }
9
  $this->assertSame("payments", $resource->getResourcePath());
10
  }
11
 
12
+ public function testGetResourcePathTopLevelRefundsWorks()
13
  {
14
+ $resource = new Mollie_API_Resource_Refunds(new Mollie_API_Client);
15
+
16
+ $this->assertSame("refunds", $resource->getResourcePath());
17
+ }
18
 
19
+ /**
20
+ * @expectedException Mollie_API_Exception
21
+ * @expectedExceptionMessage Subresource 'payments_refunds' used without parent 'payments' ID.
22
+ */
23
+ public function testGetResourcePathSubresourceFails()
24
+ {
25
  $resource = new Mollie_API_Resource_Payments_Refunds(new Mollie_API_Client);
26
  $resource->getResourcePath();
27
  }
includes/mollie/wc/gateway/abstract.php CHANGED
@@ -619,8 +619,17 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
619
  ->unsetActiveMolliePayment($order->id)
620
  ->setCancelledMolliePaymentId($order->id, $payment->id);
621
 
 
 
 
 
 
 
 
 
 
622
  // Reset state
623
- $this->updateOrderStatus($order, self::STATUS_PENDING);
624
 
625
  // User cancelled payment on Mollie or issuer page, add a cancel note.. do not cancel order.
626
  $order->add_order_note(sprintf(
@@ -639,8 +648,17 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
639
  {
640
  Mollie_WC_Plugin::debug(__METHOD__ . ' called.');
641
 
 
 
 
 
 
 
 
 
 
642
  // Cancel order
643
- $this->updateOrderStatus($order, self::STATUS_CANCELLED);
644
 
645
  $order->add_order_note(sprintf(
646
  /* translators: Placeholder 1: payment method title, placeholder 2: payment ID */
@@ -726,7 +744,10 @@ abstract class Mollie_WC_Gateway_Abstract extends WC_Payment_Gateway
726
  $test_mode = Mollie_WC_Plugin::getSettingsHelper()->isTestModeEnabled();
727
 
728
  // Send refund to Mollie
729
- $refund = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->payments->refund($payment, $amount);
 
 
 
730
 
731
  Mollie_WC_Plugin::debug('process_refund - refund created - refund: ' . $refund->id . ', payment: ' . $payment->id . ', order: ' . $order_id . ', amount: ' . $amount . (!empty($reason) ? ', reason: ' . $reason : ''));
732
 
619
  ->unsetActiveMolliePayment($order->id)
620
  ->setCancelledMolliePaymentId($order->id, $payment->id);
621
 
622
+ // New order status
623
+ $new_order_status = self::STATUS_PENDING;
624
+
625
+ // Overwrite plugin-wide
626
+ $new_order_status = apply_filters(Mollie_WC_Plugin::PLUGIN_ID . '_order_status_cancelled', $new_order_status);
627
+
628
+ // Overwrite gateway-wide
629
+ $new_order_status = apply_filters(Mollie_WC_Plugin::PLUGIN_ID . '_order_status_cancelled_' . $this->id, $new_order_status);
630
+
631
  // Reset state
632
+ $this->updateOrderStatus($order, $new_order_status);
633
 
634
  // User cancelled payment on Mollie or issuer page, add a cancel note.. do not cancel order.
635
  $order->add_order_note(sprintf(
648
  {
649
  Mollie_WC_Plugin::debug(__METHOD__ . ' called.');
650
 
651
+ // New order status
652
+ $new_order_status = self::STATUS_CANCELLED;
653
+
654
+ // Overwrite plugin-wide
655
+ $new_order_status = apply_filters(Mollie_WC_Plugin::PLUGIN_ID . '_order_status_expired', $new_order_status);
656
+
657
+ // Overwrite gateway-wide
658
+ $new_order_status = apply_filters(Mollie_WC_Plugin::PLUGIN_ID . '_order_status_expired_' . $this->id, $new_order_status);
659
+
660
  // Cancel order
661
+ $this->updateOrderStatus($order, $new_order_status);
662
 
663
  $order->add_order_note(sprintf(
664
  /* translators: Placeholder 1: payment method title, placeholder 2: payment ID */
744
  $test_mode = Mollie_WC_Plugin::getSettingsHelper()->isTestModeEnabled();
745
 
746
  // Send refund to Mollie
747
+ $refund = Mollie_WC_Plugin::getApiHelper()->getApiClient($test_mode)->payments->refund($payment, array(
748
+ 'amount' => $amount,
749
+ 'description' => $reason
750
+ ));
751
 
752
  Mollie_WC_Plugin::debug('process_refund - refund created - refund: ' . $refund->id . ', payment: ' . $payment->id . ', order: ' . $order_id . ', amount: ' . $amount . (!empty($reason) ? ', reason: ' . $reason : ''));
753
 
mollie-payments-for-woocommerce.php CHANGED
@@ -3,11 +3,11 @@
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.2.1
7
  * Author: Mollie
8
  * Author URI: https://www.mollie.com
9
  * Requires at least: 3.8
10
- * Tested up to: 4.4.2
11
  * Text Domain: mollie-payments-for-woocommerce
12
  * Domain Path: /i18n/languages/
13
  * License: GPLv2 or later
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.3.0
7
  * Author: Mollie
8
  * Author URI: https://www.mollie.com
9
  * Requires at least: 3.8
10
+ * Tested up to: 4.5.3
11
  * Text Domain: mollie-payments-for-woocommerce
12
  * Domain Path: /i18n/languages/
13
  * License: GPLv2 or later
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Mollie Payments for WooCommerce ===
2
- Contributors: l.vangunst, daanvm, iricardoj
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
4
  Requires at least: 3.8
5
- Tested up to: 4.5
6
- Stable tag: 2.2.1
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -94,7 +94,7 @@ Where possible, also include the Mollie log file. You can find the Mollie log fi
94
  1. Install the plugin via Plugins -> New plugin. Search for 'Mollie Payments for WooCommerce'.
95
  2. Activate the 'Mollie Payments for WooCommerce' plugin through the 'Plugins' menu in WordPress
96
  3. Set you Mollie API key at WooCommerce -> Settings -> Checkout (or use the *Mollie Settings* link in the Plugins overview)
97
- 4. Your done, the active payment methods should be visible in the checkout of your webshop.
98
 
99
  = Manual installation =
100
 
@@ -102,7 +102,7 @@ Where possible, also include the Mollie log file. You can find the Mollie log fi
102
  2. Upload the directory 'mollie-payments-for-woocommerce' to the `/wp-content/plugins/` directory
103
  3. Activate the 'Mollie Payments for WooCommerce' plugin through the 'Plugins' menu in WordPress
104
  4. Set you Mollie API key at WooCommerce -> Settings -> Checkout (or use the *Mollie Settings* link in the Plugins overview)
105
- 5. Your done, the active payment methods should be visible in the checkout of your webshop.
106
 
107
  Please contact info@mollie.com if you need help installing the Mollie WooCommerce plugin. Please provide your Mollie partner ID and website URL.
108
 
@@ -112,6 +112,13 @@ Automatic updates should work like a charm; as always though, ensure you backup
112
 
113
  == Changelog ==
114
 
 
 
 
 
 
 
 
115
  = 2.2.1 - 18/04/2016 =
116
  * Add option for the Bank Transfer gateway to skip redirecting your users to the Mollie payment screen. Instead directly redirect to the WooCommerce order
117
  received page where payment instruction will be displayed. You can turn on this option on the Mollie Bank Transfer setting page:
1
  === Mollie Payments for WooCommerce ===
2
+ Contributors: l.vangunst, daanvm, ndijkstra
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
4
  Requires at least: 3.8
5
+ Tested up to: 4.5.3
6
+ Stable tag: 2.3.0
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
94
  1. Install the plugin via Plugins -> New plugin. Search for 'Mollie Payments for WooCommerce'.
95
  2. Activate the 'Mollie Payments for WooCommerce' plugin through the 'Plugins' menu in WordPress
96
  3. Set you Mollie API key at WooCommerce -> Settings -> Checkout (or use the *Mollie Settings* link in the Plugins overview)
97
+ 4. You're done, the active payment methods should be visible in the checkout of your webshop.
98
 
99
  = Manual installation =
100
 
102
  2. Upload the directory 'mollie-payments-for-woocommerce' to the `/wp-content/plugins/` directory
103
  3. Activate the 'Mollie Payments for WooCommerce' plugin through the 'Plugins' menu in WordPress
104
  4. Set you Mollie API key at WooCommerce -> Settings -> Checkout (or use the *Mollie Settings* link in the Plugins overview)
105
+ 5. You're done, the active payment methods should be visible in the checkout of your webshop.
106
 
107
  Please contact info@mollie.com if you need help installing the Mollie WooCommerce plugin. Please provide your Mollie partner ID and website URL.
108
 
112
 
113
  == Changelog ==
114
 
115
+ = 2.3.0 - 27/07/2016 =
116
+ * Update payment method icons.
117
+ * Send the refund description to Mollie. The refund description will be visible for your customer on their bank statement.
118
+ * Add new filters `mollie-payments-for-woocommerce_order_status_cancelled` and `mollie-payments-for-woocommerce_order_status_expired` to be able
119
+ to overwrite the order status for cancelled and expired Mollie payments. You can find all available filters on https://github.com/mollie/WooCommerce/tree/master/development.
120
+ * Update Mollie API client to v1.6.5.
121
+
122
  = 2.2.1 - 18/04/2016 =
123
  * Add option for the Bank Transfer gateway to skip redirecting your users to the Mollie payment screen. Instead directly redirect to the WooCommerce order
124
  received page where payment instruction will be displayed. You can turn on this option on the Mollie Bank Transfer setting page: