Trustly - Version 2.0.16

Version Notes

Download this release

Release Info

Developer Trustly
Extension Trustly
Version 2.0.16
Comparing to
See all releases


Code changes from version 2.0.12 to 2.0.16

Files changed (40) hide show
  1. app/code/community/Trustly/Trustly/Block/Form.php +2 -6
  2. app/code/community/Trustly/Trustly/Model/Standard.php +7 -2
  3. app/code/community/Trustly/Trustly/controllers/PaymentController.php +119 -13
  4. app/code/community/Trustly/Trustly/etc/config.xml +1 -1
  5. app/code/community/Trustly/Trustly/lib/README.md +28 -14
  6. app/code/community/Trustly/Trustly/lib/Trustly/Api/signed.php +2 -1
  7. app/code/community/Trustly/Trustly/lib/Trustly/Api/unsigned.php +2 -1
  8. app/code/community/Trustly/Trustly/lib/Trustly/Data/data.php +1 -6
  9. app/code/community/Trustly/Trustly/lib/Trustly/Data/jsonrpcnotificationrequest.php +15 -1
  10. app/code/community/Trustly/Trustly/lib/Trustly/Data/jsonrpcnotificationresponse.php +1 -1
  11. app/code/community/Trustly/Trustly/lib/Trustly/Data/request.php +5 -1
  12. app/code/community/Trustly/Trustly/lib/Trustly/Data/response.php +8 -4
  13. app/design/frontend/base/default/layout/trustly.xml +10 -0
  14. app/design/frontend/base/default/template/trustly/form.phtml +6 -6
  15. app/design/frontend/base/default/template/trustly/mark.phtml +0 -5
  16. app/locale/bg_BG/Trustly_Trustly.csv +4 -0
  17. app/locale/cs_CZ/Trustly_Trustly.csv +5 -0
  18. app/locale/da_DK/Trustly_Trustly.csv +1 -32
  19. app/locale/de_DE/Trustly_Trustly.csv +4 -0
  20. app/locale/el_GR/Trustly_Trustly.csv +4 -0
  21. app/locale/en_US/Trustly_Trustly.csv +2 -1
  22. app/locale/es_ES/Trustly_Trustly.csv +1 -0
  23. app/locale/et_EE/Trustly_Trustly.csv +1 -32
  24. app/locale/fi_FI/Trustly_Trustly.csv +1 -32
  25. app/locale/fr_FR/Trustly_Trustly.csv +4 -0
  26. app/locale/ga_IE/Trustly_Trustly.csv +4 -0
  27. app/locale/it_IT/Trustly_Trustly.csv +4 -0
  28. app/locale/lt_LT/Trustly_Trustly.csv +4 -0
  29. app/locale/lv_LV/Trustly_Trustly.csv +4 -0
  30. app/locale/mt_MT/Trustly_Trustly.csv +4 -0
  31. app/locale/nb_NO/Trustly_Trustly.csv +1 -0
  32. app/locale/nl_NL/Trustly_Trustly.csv +4 -0
  33. app/locale/pl_PL/Trustly_Trustly.csv +2 -33
  34. app/locale/pt_PT/Trustly_Trustly.csv +4 -0
  35. app/locale/ro_RO/Trustly_Trustly.csv +4 -0
  36. app/locale/sk_SK/Trustly_Trustly.csv +4 -0
  37. app/locale/sl_SI/Trustly_Trustly.csv +4 -0
  38. app/locale/sv_SE/Trustly_Trustly.csv +3 -2
  39. package.xml +81 -26
  40. skin/frontend/base/default/css/trustly.css +9 -0
app/code/community/Trustly/Trustly/Block/Form.php CHANGED
@@ -33,13 +33,9 @@ class Trustly_Trustly_Block_Form extends Mage_Payment_Block_Form
33
  protected function _construct()
34
  {
35
  $locale = Mage::app()->getLocale();
36
- $mark = Mage::getConfig()->getBlockClassName('core/template');
37
- $mark = new $mark;
38
- $mark->setTemplate('trustly/mark.phtml')
39
- ->setPaymentAcceptanceMarkHref('https://trustly.com/whatistrustly/');
40
  $this->setTemplate('trustly/form.phtml')
41
- ->setMethodTitle('')
42
- ->setMethodLabelAfterHtml($mark->toHtml())
43
  ;
44
  return parent::_construct();
45
  }
33
  protected function _construct()
34
  {
35
  $locale = Mage::app()->getLocale();
 
 
 
 
36
  $this->setTemplate('trustly/form.phtml')
37
+ ->setPaymentAcceptanceMarkHref('https://trustly.com/whatistrustly/')
38
+ ->setMethodTitle(Mage::helper('trustly')->__('Trustly - Instant bank payment'))
39
  ;
40
  return parent::_construct();
41
  }
app/code/community/Trustly/Trustly/Model/Standard.php CHANGED
@@ -187,14 +187,18 @@ class Trustly_Trustly_Model_Standard extends Mage_Payment_Model_Method_Abstract
187
 
188
  $successurl = Mage::getUrl('trustly/payment/success');
189
  $failurl = Mage::getUrl('trustly/payment/fail');
 
 
 
 
190
 
191
  $response = $api->deposit(
192
  $notificationUrl,
193
  $endUserId,
194
  $messageId,
195
  Mage::app()->getLocale()->getLocaleCode(),
196
- Mage::helper('trustly')->getOrderAmount($order),
197
- Mage::helper('trustly')->getOrderCurrencyCode($order),
198
  $countryId,
199
  $billingAddress->getTelephone(),
200
  $order->getCustomerFirstname(),
@@ -211,6 +215,7 @@ class Trustly_Trustly_Model_Standard extends Mage_Payment_Model_Method_Abstract
211
  $versionString
212
  );
213
 
 
214
  if (!isset($response)) {
215
  Mage::log("Could not connect to Trustly (no response)", Zend_Log::WARN, self::LOG_FILE);
216
  $session->addError(Mage::helper('trustly')->__('Could not connect to Trustly.'));
187
 
188
  $successurl = Mage::getUrl('trustly/payment/success');
189
  $failurl = Mage::getUrl('trustly/payment/fail');
190
+ $amount = Mage::helper('trustly')->getOrderAmount($order);
191
+ $currency = Mage::helper('trustly')->getOrderCurrencyCode($order);
192
+
193
+ Mage::log(sprintf("Creating order of %s %s for %s orderid %s", $amount, $currency, $endUserId, $order->getRealOrderId()), Zend_Log::DEBUG, self::LOG_FILE);
194
 
195
  $response = $api->deposit(
196
  $notificationUrl,
197
  $endUserId,
198
  $messageId,
199
  Mage::app()->getLocale()->getLocaleCode(),
200
+ $amount,
201
+ $currency,
202
  $countryId,
203
  $billingAddress->getTelephone(),
204
  $order->getCustomerFirstname(),
215
  $versionString
216
  );
217
 
218
+
219
  if (!isset($response)) {
220
  Mage::log("Could not connect to Trustly (no response)", Zend_Log::WARN, self::LOG_FILE);
221
  $session->addError(Mage::helper('trustly')->__('Could not connect to Trustly.'));
app/code/community/Trustly/Trustly/controllers/PaymentController.php CHANGED
@@ -174,7 +174,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
174
  return ;
175
  }
176
 
177
- // Invoming Trustly request
178
  $httpBody = file_get_contents('php://input');
179
 
180
  try {
@@ -188,6 +188,8 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
188
  }
189
 
190
  if(isset($notification)) {
 
 
191
 
192
  $standard = Mage::getModel('trustly/standard');
193
 
@@ -214,13 +216,31 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
214
  }
215
 
216
  if(!$incrementId) {
217
- Mage::helper('trustly')->sendResponseNotification($notification, true);
218
 
219
  Mage::getSingleton('checkout/session')->addError(Mage::helper('trustly')->__("Cannot find the relation of Trustly orderid %s for user %s.", $trustlyOrderId, $notification->getData('enduserid')));
220
  session_write_close();
221
 
222
  Mage::log("Could not find the mapping of Trustly orderid $trustlyOrderId in the incoming notification. incrementid $incrementId Enduser is ".$notification->getData('enduserid'), Zend_Log::WARN, self::LOG_FILE);
223
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
  return;
225
  }
226
 
@@ -252,9 +272,8 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
252
 
253
  return;
254
  }
 
255
 
256
-
257
- $_method = $notification->getMethod();
258
  $_amount = $notification->getData('amount');
259
  $_currency = $notification->getData('currency');
260
 
@@ -283,6 +302,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
283
  $order_transaction = $trustly_payment->getTransaction($trustlyOrderId);
284
  $notification_transaction = NULL;
285
  if(isset($order_transaction) && $order_transaction !== FALSE) {
 
286
  $order_trans_children = $order_transaction->getChildTransactions();
287
  if(isset($order_trans_children)) {
288
  foreach($order_trans_children as $tc) {
@@ -302,6 +322,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
302
  $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
303
  return ;
304
  }
 
305
 
306
  $order_invoice = NULL;
307
  foreach ( $order->getInvoiceCollection() as $invoice) {
@@ -316,6 +337,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
316
  /* We should always have a payment with the trustly method, if
317
  * we do not have one, create it we will need this regardless of the method for the notification */
318
  if(is_null($trustly_payment) || is_null($trustly_payment->getTxnType())) {
 
319
  /* Create a payment with our TrustlyOrderId as the
320
  * TransactionId, we will later add the current
321
  * notification as a child payment for this payment */
@@ -328,6 +350,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
328
  $transactionSave->addObject($order_transaction)
329
  ->addObject($trustly_payment);
330
  }
 
331
 
332
  # Check to see if we have invoiced this order already, if
333
  # so do not do it again. We might be getting the same
@@ -338,6 +361,8 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
338
  } elseif(($_method == 'pending' || $_method == 'credit') && !isset($order_invoice)) {
339
  if($_method == 'credit') {
340
  Mage::log(sprintf("Recieved a %s notification, no previous invoice could be found for Trustly orderid %s, magento order %s. No pending notification send before?! Creating one now", $_method, $trustlyOrderId, $incrementId), Zend_Log::WARN, self::LOG_FILE);
 
 
341
  }
342
 
343
  /* A credit notification without an invoice can mean one of two
@@ -357,23 +382,27 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
357
  ->addComment(Mage::helper('trustly')->__("Invoiced from Trustly payment"))
358
  ->register();
359
 
 
360
  $order->addRelatedObject($order_invoice);
361
  $trustly_payment->setCreatedInvoice($order_invoice);
362
 
363
  $comment = Mage::helper('trustly')->__('Pending payment.');
364
  $comment .= '<br />' . Mage::helper('trustly')->__('Invoice for Trustly OrderId #%s created', $trustlyOrderId);
 
365
 
366
  $orderStatus = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
367
 
 
368
  $order->setState($orderStatus, true, $comment, false);
369
 
 
370
  $transactionSave->addObject($order_invoice)
371
  ->addObject($order)
372
  ->addObject($trustly_payment);
373
 
374
  $trustly_payment->unsCreatedInvoice();
375
 
376
- Mage::log(sprintf("Recieved %s notification for order with increment %s for orderid %s", $_method, $incrementId, $trustlyOrderId), Zend_Log::INFO, self::LOG_FILE);
377
 
378
  if (((int)Mage::getModel('trustly/standard')->getConfigData('sendmailorderconfirmation')) == 1) {
379
  Mage::log('Sending new order email', Zend_Log::DEBUG, self::LOG_FILE);
@@ -386,6 +415,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
386
  /* We have no authorize for the payment (As we would simply
387
  * abort if we have gotten the pending before) so create
388
  * an authorization for the payment here and append */
 
389
  $notification_transaction = $this->addChildTransaction($trustly_payment,
390
  $trustlyNotificationId, $trustlyOrderId,
391
  Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH, true);
@@ -393,6 +423,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
393
  $transactionSave->addObject($notification_transaction)
394
  ->addObject($trustly_payment);
395
  } elseif($_method == 'credit') {
 
396
  /**
397
  * verify the amount sent and the currency_code, to prevent improper payments
398
  */
@@ -423,6 +454,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
423
  $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
424
  return;
425
  }
 
426
 
427
  $trustly_payment->setAmountCharged($_amount);
428
  $order->setIsInProcess(true);
@@ -434,6 +466,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
434
  $comment .= "<br />" . Mage::helper('trustly')->__('Notification id: %s', $notification->getData('notificationid'));
435
  $comment .= "<br />" . Mage::helper('trustly')->__('Payment amount: %s %s', $_amount, $_currency);
436
 
 
437
  /* Funds are credited to merchant account, we call this captured */
438
  $notification_transaction = $this->addChildTransaction($trustly_payment, $trustlyNotificationId, $trustlyOrderId,
439
  Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE, true);
@@ -443,10 +476,24 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
443
  * only one */
444
  $open = Mage_Sales_Model_Order_Invoice::STATE_OPEN;
445
  if ($order_invoice->getState() == $open && Mage::helper('trustly')->getOrderAmount($order_invoice) == $_amount) {
446
- $trustly_payment->capture($order_invoice);
 
 
 
 
 
 
 
 
 
 
 
 
447
  if ($order_invoice->getIsPaid()) {
 
448
  $order_invoice->pay();
449
  }
 
450
  /* Set the transaction ID again here, if we fiddle with
451
  * the invoice it will change the txnid to this
452
  * transaction otherwise */
@@ -470,6 +517,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
470
  Zend_Log::WARN, self::LOG_FILE);
471
  }
472
 
 
473
  $orderStatus = Mage_Sales_Model_Order::STATE_PROCESSING;
474
  $order->setState($orderStatus, true, $comment, false);
475
 
@@ -478,7 +526,7 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
478
  ->addObject($trustly_payment);
479
 
480
 
481
- Mage::log("Recieved payment for order with increment $incrementId", Zend_Log::INFO, self::LOG_FILE);
482
 
483
  }elseif($_method == 'debit') {
484
  $comment = Mage::helper('trustly')->__('Payment failed, debit received.');
@@ -517,19 +565,46 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
517
  * debit notification, in the debit notification we handle the
518
  * montary changeback and cancel of the invoices */
519
 
 
520
  $notification_transaction = $this->addChildTransaction($trustly_payment, $trustlyNotificationId, $trustlyOrderId,
521
  Mage_Sales_Model_Order_Payment_Transaction::TYPE_VOID, true);
522
 
523
- $order->cancel();
 
 
 
 
 
 
524
 
525
- $transactionSave->addObject($order)
526
- ->addObject($trustly_payment);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
 
528
- Mage::log("Recieved cancel for order with increment $incrementId", Zend_Log::INFO, self::LOG_FILE);
 
 
 
 
529
  }
530
 
531
  if(isset($notification_transaction)) {
532
  if($notification_transaction->getShouldCloseParentTransaction()) {
 
533
 
534
  $parent_transaction = Mage::getModel('sales/order_payment_transaction')
535
  ->setOrderPaymentObject($trustly_payment)
@@ -544,10 +619,12 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
544
  }
545
  }
546
 
 
547
  $transactionSave->save();
548
  Mage::helper('trustly')->sendResponseNotification($notification, true);
549
 
550
  $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
 
551
  }
552
  }
553
 
@@ -605,7 +682,10 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
605
  public function cancelCheckoutOrder()
606
  {
607
  $session = Mage::getSingleton('checkout/session');
 
608
 
 
 
609
  try {
610
  $orderId = $session->getLastOrderId();
611
  Mage::log("Attempting to cancel order $orderId", Zend_Log::DEBUG, self::LOG_FILE);
@@ -618,8 +698,23 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
618
 
619
  if ($order && $order->getId() && $order->getQuoteId() == $sess_quoteid) {
620
  $incrementid = $order->getIncrementId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  $order->cancel()->save();
622
- Mage::log("Cancel order $orderId, incrementid $incrementid", Zend_Log::INFO, self::LOG_FILE);
623
 
624
  $session->unsTrustlyQuoteId();
625
  $session->unsTrustlyIncrementId();
@@ -637,17 +732,28 @@ class Trustly_Trustly_PaymentController extends Mage_Core_Controller_Front_Actio
637
  } catch (Mage_Core_Exception $e) {
638
  Mage::log("Got Mage_Core_Exception when cancelling order: " . $e->getMessage(), Zend_Log::WARN, self::LOG_FILE);
639
  $session->addError($e->getMessage());
 
 
 
 
640
  return false;
641
  } catch (Exception $e) {
642
  $session->addError(Mage::helper('trustly')->__('Unable to cancel Trustly order.'));
643
  Mage::log("Got Exception when cancelling order: " . $e->getMessage(), Zend_Log::WARN, self::LOG_FILE);
644
  Mage::logException($e);
 
 
 
 
645
  return false;
646
  }
 
 
 
 
647
  return true;
648
  }
649
 
650
-
651
  public function restoreQuote()
652
  {
653
  $session = Mage::getSingleton('checkout/session');
174
  return ;
175
  }
176
 
177
+ //Incoming POST request
178
  $httpBody = file_get_contents('php://input');
179
 
180
  try {
188
  }
189
 
190
  if(isset($notification)) {
191
+ $_method = $notification->getMethod();
192
+ Mage::log(sprintf("Incoming %s notification", $_method), Zend_Log::DEBUG, self::LOG_FILE);
193
 
194
  $standard = Mage::getModel('trustly/standard');
195
 
216
  }
217
 
218
  if(!$incrementId) {
219
+ Mage::helper('trustly')->sendResponseNotification($notification, false);
220
 
221
  Mage::getSingleton('checkout/session')->addError(Mage::helper('trustly')->__("Cannot find the relation of Trustly orderid %s for user %s.", $trustlyOrderId, $notification->getData('enduserid')));
222
  session_write_close();
223
 
224
  Mage::log("Could not find the mapping of Trustly orderid $trustlyOrderId in the incoming notification. incrementid $incrementId Enduser is ".$notification->getData('enduserid'), Zend_Log::WARN, self::LOG_FILE);
225
 
226
+ if($_method == 'credit' or $_method == 'debit') {
227
+ /* For monetary notifications send the admin a critical
228
+ * notice, this means that there is incoming money that
229
+ * will end up in the void somewhere. */
230
+
231
+ Mage::getModel('adminnotification/inbox')->add(
232
+ Mage_AdminNotification_Model_Inbox::SEVERITY_MAJOR,
233
+ 'Unable to find order for Trustly payment',
234
+ sprintf("Incoming Trustly %s of %s %s cannot be mapped to order in the store. This means that this payment will not be %s:ed to an order and the funds are going nowhere. You should investigate the payment, Trustly OrderId: %s.",
235
+ $_method,
236
+ $notification->getData('amount'),
237
+ $notification->getData('currency'),
238
+ $_method,
239
+ $trustlyOrderId
240
+ ));
241
+
242
+ }
243
+
244
  return;
245
  }
246
 
272
 
273
  return;
274
  }
275
+ Mage::log(sprintf("Magento order loaded for increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
276
 
 
 
277
  $_amount = $notification->getData('amount');
278
  $_currency = $notification->getData('currency');
279
 
302
  $order_transaction = $trustly_payment->getTransaction($trustlyOrderId);
303
  $notification_transaction = NULL;
304
  if(isset($order_transaction) && $order_transaction !== FALSE) {
305
+ Mage::log(sprintf("Successfully found order transaction for trustly orderid %s, increment %s", $trustlyOrderId, $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
306
  $order_trans_children = $order_transaction->getChildTransactions();
307
  if(isset($order_trans_children)) {
308
  foreach($order_trans_children as $tc) {
322
  $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
323
  return ;
324
  }
325
+ Mage::log(sprintf("We have not processed notification %s before, will apply", $trustlyNotificationId), Zend_Log::DEBUG, self::LOG_FILE);
326
 
327
  $order_invoice = NULL;
328
  foreach ( $order->getInvoiceCollection() as $invoice) {
337
  /* We should always have a payment with the trustly method, if
338
  * we do not have one, create it we will need this regardless of the method for the notification */
339
  if(is_null($trustly_payment) || is_null($trustly_payment->getTxnType())) {
340
+ Mage::log(sprintf("No previous trustly payment for increment %s, creating one", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
341
  /* Create a payment with our TrustlyOrderId as the
342
  * TransactionId, we will later add the current
343
  * notification as a child payment for this payment */
350
  $transactionSave->addObject($order_transaction)
351
  ->addObject($trustly_payment);
352
  }
353
+ Mage::log(sprintf("Pre-processing done, applying method dependent processing for increment %s, method %s", $incrementId, $_method), Zend_Log::DEBUG, self::LOG_FILE);
354
 
355
  # Check to see if we have invoiced this order already, if
356
  # so do not do it again. We might be getting the same
361
  } elseif(($_method == 'pending' || $_method == 'credit') && !isset($order_invoice)) {
362
  if($_method == 'credit') {
363
  Mage::log(sprintf("Recieved a %s notification, no previous invoice could be found for Trustly orderid %s, magento order %s. No pending notification send before?! Creating one now", $_method, $trustlyOrderId, $incrementId), Zend_Log::WARN, self::LOG_FILE);
364
+ } else {
365
+ Mage::log(sprintf("Recieved a %s notification, no previous invoice could be found for Trustly orderid %s, magento order %s", $_method, $trustlyOrderId, $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
366
  }
367
 
368
  /* A credit notification without an invoice can mean one of two
382
  ->addComment(Mage::helper('trustly')->__("Invoiced from Trustly payment"))
383
  ->register();
384
 
385
+ Mage::log(sprintf("Invoice prepared for increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
386
  $order->addRelatedObject($order_invoice);
387
  $trustly_payment->setCreatedInvoice($order_invoice);
388
 
389
  $comment = Mage::helper('trustly')->__('Pending payment.');
390
  $comment .= '<br />' . Mage::helper('trustly')->__('Invoice for Trustly OrderId #%s created', $trustlyOrderId);
391
+ Mage::log(sprintf("Invoice created for increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
392
 
393
  $orderStatus = Mage_Sales_Model_Order::STATE_PENDING_PAYMENT;
394
 
395
+ Mage::log(sprintf("Setting order state to STATE_PENDING_PAYMENT for increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
396
  $order->setState($orderStatus, true, $comment, false);
397
 
398
+ Mage::log(sprintf("Adding order invoice for increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
399
  $transactionSave->addObject($order_invoice)
400
  ->addObject($order)
401
  ->addObject($trustly_payment);
402
 
403
  $trustly_payment->unsCreatedInvoice();
404
 
405
+ Mage::log(sprintf("Recieved %s notification for order with increment %s for orderid %s, invoice created and applied. Order now in pending payment", $_method, $incrementId, $trustlyOrderId), Zend_Log::INFO, self::LOG_FILE);
406
 
407
  if (((int)Mage::getModel('trustly/standard')->getConfigData('sendmailorderconfirmation')) == 1) {
408
  Mage::log('Sending new order email', Zend_Log::DEBUG, self::LOG_FILE);
415
  /* We have no authorize for the payment (As we would simply
416
  * abort if we have gotten the pending before) so create
417
  * an authorization for the payment here and append */
418
+ Mage::log(sprintf('Adding child AUTHORIZATION transaction for increment %s for this notificationid %s, trustly orderid %s', $incrementId, $trustlyNotificationId, $trustlyOrderId), Zend_Log::DEBUG, self::LOG_FILE);
419
  $notification_transaction = $this->addChildTransaction($trustly_payment,
420
  $trustlyNotificationId, $trustlyOrderId,
421
  Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH, true);
423
  $transactionSave->addObject($notification_transaction)
424
  ->addObject($trustly_payment);
425
  } elseif($_method == 'credit') {
426
+ Mage::log(sprintf("Verifying order amounts for increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
427
  /**
428
  * verify the amount sent and the currency_code, to prevent improper payments
429
  */
454
  $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
455
  return;
456
  }
457
+ Mage::log(sprintf("Amount is valid payment of increment %s", $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
458
 
459
  $trustly_payment->setAmountCharged($_amount);
460
  $order->setIsInProcess(true);
466
  $comment .= "<br />" . Mage::helper('trustly')->__('Notification id: %s', $notification->getData('notificationid'));
467
  $comment .= "<br />" . Mage::helper('trustly')->__('Payment amount: %s %s', $_amount, $_currency);
468
 
469
+ Mage::log(sprintf('Adding child CAPTURE transaction for increment %s for this notificationid %s, trustly orderid %s', $incrementId, $trustlyNotificationId, $trustlyOrderId), Zend_Log::DEBUG, self::LOG_FILE);
470
  /* Funds are credited to merchant account, we call this captured */
471
  $notification_transaction = $this->addChildTransaction($trustly_payment, $trustlyNotificationId, $trustlyOrderId,
472
  Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE, true);
476
  * only one */
477
  $open = Mage_Sales_Model_Order_Invoice::STATE_OPEN;
478
  if ($order_invoice->getState() == $open && Mage::helper('trustly')->getOrderAmount($order_invoice) == $_amount) {
479
+ Mage::log(sprintf('Found open order invoice for this amount for increment %s, capturing', $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
480
+ try {
481
+ $trustly_payment->capture($order_invoice);
482
+ Mage::log(sprintf('Invoice captured for increment %s', $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
483
+ } catch(Exception $e) {
484
+ Mage::log(sprintf('Failed to capture invoice %s for increment %s: %s', $order_invoice->getIncrementId(), $incrementId, (string)$e), Zend_Log::ERROR, self::LOG_FILE);
485
+
486
+ /* We failed in processing this notification. Signal this and return here. */
487
+ Mage::helper('trustly')->sendResponseNotification($notification, false);
488
+ $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
489
+ return;
490
+ }
491
+
492
  if ($order_invoice->getIsPaid()) {
493
+ Mage::log(sprintf('Paying invoice for increment %s', $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
494
  $order_invoice->pay();
495
  }
496
+ Mage::log(sprintf('Setting invoice transactionid to %s for increment %s', $trustlyOrderId, $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
497
  /* Set the transaction ID again here, if we fiddle with
498
  * the invoice it will change the txnid to this
499
  * transaction otherwise */
517
  Zend_Log::WARN, self::LOG_FILE);
518
  }
519
 
520
+ Mage::log(sprintf('Setting order state to PROCESSING for increment %s', $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
521
  $orderStatus = Mage_Sales_Model_Order::STATE_PROCESSING;
522
  $order->setState($orderStatus, true, $comment, false);
523
 
526
  ->addObject($trustly_payment);
527
 
528
 
529
+ Mage::log("Recieved payment for order with increment $incrementId, order is now PROCESSING", Zend_Log::INFO, self::LOG_FILE);
530
 
531
  }elseif($_method == 'debit') {
532
  $comment = Mage::helper('trustly')->__('Payment failed, debit received.');
565
  * debit notification, in the debit notification we handle the
566
  * montary changeback and cancel of the invoices */
567
 
568
+ Mage::log(sprintf('Adding child VOID transaction for increment %s for this notificationid %s, trustly orderid %s', $incrementId, $trustlyNotificationId, $trustlyOrderId), Zend_Log::DEBUG, self::LOG_FILE);
569
  $notification_transaction = $this->addChildTransaction($trustly_payment, $trustlyNotificationId, $trustlyOrderId,
570
  Mage_Sales_Model_Order_Payment_Transaction::TYPE_VOID, true);
571
 
572
+ if(isset($order_invoice) and $order_invoice->getIsPaid()) {
573
+ /* If our invoice has been marked as paid and we get a
574
+ * cancel notification this is likely a rouge notification.
575
+ * Trustly systems does not send cancel if a credit has
576
+ * been sent, it will only cancel non-credited orders. I.e.
577
+ * this is a paid invoice and the cancel was likely created
578
+ * before this credit. So do not cancel the order. */
579
 
580
+ Mage::log("Recieved cancel for order with increment $incrementId, but our invoice for this order is already paid. NOT canceling order.", Zend_Log::INFO, self::LOG_FILE);
581
+ } else {
582
+ Mage::log(sprintf('Cancelling order increment %s', $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
583
+ try {
584
+ if(isset($order_invoice)) {
585
+ Mage::log(sprintf('Cancelling unpaid invoice %s for order increment %s', $order_invoice->getIncrementId(), $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
586
+ $order_invoice->cancel();
587
+ }
588
+ $order->cancel();
589
+ } catch(Exception $e) {
590
+ Mage::log(sprintf('Failed to cancel order increment %s: %s', $incrementId, (string)$e), Zend_Log::ERROR, self::LOG_FILE);
591
+
592
+ /* We failed in processing this notification. Signal this and return here. */
593
+ Mage::helper('trustly')->sendResponseNotification($notification, false);
594
+ $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
595
+ return;
596
+ }
597
 
598
+ $transactionSave->addObject($order)
599
+ ->addObject($trustly_payment);
600
+
601
+ Mage::log("Recieved cancel for order with increment $incrementId, order is now cancelled", Zend_Log::INFO, self::LOG_FILE);
602
+ }
603
  }
604
 
605
  if(isset($notification_transaction)) {
606
  if($notification_transaction->getShouldCloseParentTransaction()) {
607
+ Mage::log("Closing parent payment transaction for order with increment $incrementId", Zend_Log::INFO, self::LOG_FILE);
608
 
609
  $parent_transaction = Mage::getModel('sales/order_payment_transaction')
610
  ->setOrderPaymentObject($trustly_payment)
619
  }
620
  }
621
 
622
+ Mage::log("COMMIT(); $incrementId", Zend_Log::DEBUG, self::LOG_FILE);
623
  $transactionSave->save();
624
  Mage::helper('trustly')->sendResponseNotification($notification, true);
625
 
626
  $orderMapping->unlockIncrementAfterProcessing($incrementId, $increment_lockid);
627
+ Mage::log(sprintf('Increment %s unlocked, notification processing done', $incrementId), Zend_Log::DEBUG, self::LOG_FILE);
628
  }
629
  }
630
 
682
  public function cancelCheckoutOrder()
683
  {
684
  $session = Mage::getSingleton('checkout/session');
685
+ $ordermapping = Mage::getModel('trustly/ordermappings');
686
 
687
+ $increment_lockid = NULL;
688
+ $incrementid = NULL;
689
  try {
690
  $orderId = $session->getLastOrderId();
691
  Mage::log("Attempting to cancel order $orderId", Zend_Log::DEBUG, self::LOG_FILE);
698
 
699
  if ($order && $order->getId() && $order->getQuoteId() == $sess_quoteid) {
700
  $incrementid = $order->getIncrementId();
701
+
702
+ for($i = 0; $i < 10; $i++) {
703
+ $increment_lockid = $ordermapping->lockIncrementForProcessing($incrementid);
704
+ if($increment_lockid === false) {
705
+ /* If we cannot lock this increment abort now, retry as this is a user interactive process */
706
+ Mage::log("Attempt to process already locked magento increment $incrementid, will retry up to 10s", Zend_Log::DEBUG, self::LOG_FILE);
707
+ sleep(1);
708
+ } else {
709
+ break;
710
+ }
711
+ }
712
+ if($increment_lockid === false) {
713
+ throw new Mage_Payment_Model_Info_Exception("Cannot lock the increment $incrementid after 10s, cannot cancel this order");
714
+ }
715
+
716
  $order->cancel()->save();
717
+ Mage::log("Cancelled order $orderId, incrementid $incrementid", Zend_Log::INFO, self::LOG_FILE);
718
 
719
  $session->unsTrustlyQuoteId();
720
  $session->unsTrustlyIncrementId();
732
  } catch (Mage_Core_Exception $e) {
733
  Mage::log("Got Mage_Core_Exception when cancelling order: " . $e->getMessage(), Zend_Log::WARN, self::LOG_FILE);
734
  $session->addError($e->getMessage());
735
+
736
+ if(isset($increment_lockid)) {
737
+ $ordermapping->unlockIncrementAfterProcessing($incrementid, $increment_lockid);
738
+ }
739
  return false;
740
  } catch (Exception $e) {
741
  $session->addError(Mage::helper('trustly')->__('Unable to cancel Trustly order.'));
742
  Mage::log("Got Exception when cancelling order: " . $e->getMessage(), Zend_Log::WARN, self::LOG_FILE);
743
  Mage::logException($e);
744
+
745
+ if(isset($increment_lockid)) {
746
+ $ordermapping->unlockIncrementAfterProcessing($incrementid, $increment_lockid);
747
+ }
748
  return false;
749
  }
750
+
751
+ if(isset($increment_lockid)) {
752
+ $ordermapping->unlockIncrementAfterProcessing($incrementid, $increment_lockid);
753
+ }
754
  return true;
755
  }
756
 
 
757
  public function restoreQuote()
758
  {
759
  $session = Mage::getSingleton('checkout/session');
app/code/community/Trustly/Trustly/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Trustly_Trustly>
5
- <version>2.0.11</version>
6
  </Trustly_Trustly>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <Trustly_Trustly>
5
+ <version>2.0.16</version>
6
  </Trustly_Trustly>
7
  </modules>
8
  <global>
app/code/community/Trustly/Trustly/lib/README.md CHANGED
@@ -58,22 +58,36 @@ Example deposit call
58
 
59
  require_once('Trustly.php');
60
 
61
- $api = new Trustly_Api_Signed('/opt/application/private.pem', 'username', 'password');
 
 
 
 
 
 
62
 
63
  $deposit = $api->deposit(
64
- 'https://example.com/trustlynotification',
65
- 'user@email.com',
66
- 'abb424decb1',
67
- 'sv_SE',
68
- '12.34',
69
- 'EUR',
70
- 'SE',
71
- '+460812345678',
72
- 'John',
73
- 'Doe',
74
- 'SE770807-5622',
75
- NULL
76
- );
 
 
 
 
 
 
 
 
77
 
78
  $iframe_url= $deposit->getData('url');
79
 
58
 
59
  require_once('Trustly.php');
60
 
61
+ /* Change 'test.trustly.com' to 'trustly.com' below to use the live environment */
62
+ $api = new Trustly_Api_Signed(
63
+ $trustly_rsa_private_key,
64
+ $trustly_username,
65
+ $trustly_password,
66
+ 'test.trustly.com'
67
+ );
68
 
69
  $deposit = $api->deposit(
70
+ "$base_url/php/example.php/notification", /* NotificationURL */
71
+ 'john.doe@example.com', /* EndUserID */
72
+ $messageid, /* MessageID */
73
+ 'en_US', /* Locale */
74
+ $amount, /* Amount */
75
+ $currency, /* Currency */
76
+ 'SE', /* Country */
77
+ NULL, /* MobilePhone */
78
+ NULL, /* FirstName */
79
+ NULL, /* LastName */
80
+ NULL, /* NationalIdentificationNumber */
81
+ 'Test', /* ShopperStatement */
82
+ $ip, /* IP */
83
+ "$base_url/success.html", /* SuccessURL */
84
+ "$base_url/fail.html", /* FailURL */
85
+ NULL, /* TemplateURL */
86
+ "0", /* URLTarget */
87
+ NULL, /* SuggestedMinAmount */
88
+ NULL, /* SuggestedMaxAmount */
89
+ 'trustly-client-php example/1.0' /* IntegrationModule */
90
+ );
91
 
92
  $iframe_url= $deposit->getData('url');
93
 
app/code/community/Trustly/Trustly/lib/Trustly/Api/signed.php CHANGED
@@ -98,7 +98,8 @@ class Trustly_Api_Signed extends Trustly_Api {
98
  }
99
 
100
  public function handleResponse($request, $body, $curl) {
101
- $response = new Trustly_Data_JSONRPCSignedResponse($body, $curl);
 
102
 
103
  if($this->verifyTrustlySignedResponse($response) !== TRUE) {
104
  throw new Trustly_SignatureException('Incomming message signature is not valid', $response);
98
  }
99
 
100
  public function handleResponse($request, $body, $curl) {
101
+ $response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
102
+ $response = new Trustly_Data_JSONRPCSignedResponse($body, $response_code);
103
 
104
  if($this->verifyTrustlySignedResponse($response) !== TRUE) {
105
  throw new Trustly_SignatureException('Incomming message signature is not valid', $response);
app/code/community/Trustly/Trustly/lib/Trustly/Api/unsigned.php CHANGED
@@ -45,7 +45,8 @@ class Trustly_Api_Unsigned extends Trustly_Api {
45
 
46
  public function handleResponse($request, $body, $curl) {
47
  /* No signature here, just build the response object */
48
- return new Trustly_Data_JSONRPCResponse($body, $curl);
 
49
  }
50
 
51
  public function insertCredentials($request) {
45
 
46
  public function handleResponse($request, $body, $curl) {
47
  /* No signature here, just build the response object */
48
+ $response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
49
+ return new Trustly_Data_JSONRPCResponse($body, $response_code);
50
  }
51
 
52
  public function insertCredentials($request) {
app/code/community/Trustly/Trustly/lib/Trustly/Data/data.php CHANGED
@@ -26,13 +26,8 @@
26
  class Trustly_Data {
27
  var $payload = NULL;
28
 
29
- public function __construct($payload=NULL) {
30
-
31
- $this->payload = $this->vacuum($payload);
32
-
33
- if($this->payload === NULL) {
34
  $this->payload = array();
35
- }
36
  }
37
 
38
  /* Utility function to vacuum the supplied data end remove unset
26
  class Trustly_Data {
27
  var $payload = NULL;
28
 
29
+ public function __construct() {
 
 
 
 
30
  $this->payload = array();
 
31
  }
32
 
33
  /* Utility function to vacuum the supplied data end remove unset
app/code/community/Trustly/Trustly/lib/Trustly/Data/jsonrpcnotificationrequest.php CHANGED
@@ -27,11 +27,25 @@ class Trustly_Data_JSONRPCNotificationRequest extends Trustly_Data {
27
  var $notification_body = NULL;
28
 
29
  public function __construct($notification_body) {
 
30
 
31
  $this->notification_body = $notification_body;
 
 
 
 
 
32
  $payload = json_decode($notification_body, TRUE);
33
 
34
- parent::__construct($payload);
 
 
 
 
 
 
 
 
35
 
36
  if($this->getVersion() != '1.1') {
37
  throw new Trustly_JSONRPCVersionException('JSON RPC Version '. $this->getVersion() .'is not supported');
27
  var $notification_body = NULL;
28
 
29
  public function __construct($notification_body) {
30
+ parent::__construct();
31
 
32
  $this->notification_body = $notification_body;
33
+
34
+ if(empty($notification_body)) {
35
+ throw new Trustly_DataException('Empty notification body');
36
+ }
37
+
38
  $payload = json_decode($notification_body, TRUE);
39
 
40
+ if(is_null($payload)) {
41
+ $error = '';
42
+ if(function_exists('json_last_error_msg')) {
43
+ $error = ': ' . json_last_error_msg();
44
+ }
45
+ throw new Trustly_DataException('Failed to parse JSON' . $error);
46
+ }
47
+
48
+ $this->payload = $payload;
49
 
50
  if($this->getVersion() != '1.1') {
51
  throw new Trustly_JSONRPCVersionException('JSON RPC Version '. $this->getVersion() .'is not supported');
app/code/community/Trustly/Trustly/lib/Trustly/Data/jsonrpcnotificationresponse.php CHANGED
@@ -50,7 +50,7 @@ class Trustly_Data_JSONRPCNotificationResponse extends Trustly_Data {
50
  $status = 'OK';
51
 
52
  if(isset($success) && $success !== TRUE) {
53
- $status = 'FAILURE';
54
  }
55
  $this->setData('status', $status);
56
  return $success;
50
  $status = 'OK';
51
 
52
  if(isset($success) && $success !== TRUE) {
53
+ $status = 'FAILED';
54
  }
55
  $this->setData('status', $status);
56
  return $success;
app/code/community/Trustly/Trustly/lib/Trustly/Data/request.php CHANGED
@@ -28,8 +28,12 @@ class Trustly_Data_Request extends Trustly_Data {
28
  var $method = NULL;
29
 
30
  public function __construct($method=NULL, $payload=NULL) {
 
31
 
32
- parent::__construct($payload);
 
 
 
33
 
34
  $this->method = $method;
35
  }
28
  var $method = NULL;
29
 
30
  public function __construct($method=NULL, $payload=NULL) {
31
+ parent::__construct();
32
 
33
+ $vpayload = $this->vacuum($payload);
34
+ if(isset($vpayload)) {
35
+ $this->payload = $vpayload;
36
+ }
37
 
38
  $this->method = $method;
39
  }
app/code/community/Trustly/Trustly/lib/Trustly/Data/response.php CHANGED
@@ -32,9 +32,10 @@ class Trustly_Data_Response extends Trustly_Data {
32
  * guts will contain all returned data. */
33
  var $response_result = NULL;
34
 
35
- public function __construct($response_body, $curl) {
 
36
 
37
- $this->response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
38
  $this->response_body = $response_body;
39
 
40
  $payload = json_decode($response_body, TRUE);
@@ -42,13 +43,16 @@ class Trustly_Data_Response extends Trustly_Data {
42
  /* Only throw the connection error exception here if we did not
43
  * receive a valid JSON response, if we did recive one we will use
44
  * the error information in that response instead. */
45
- if($this->response_code !== 200) {
46
  throw new Trustly_ConnectionException('HTTP ' . $this->response_code);
47
  } else {
48
  throw new Trustly_DataException('Failed to decode response JSON, reason code ' . json_last_error());
49
  }
50
  }
51
- parent::__construct($payload);
 
 
 
52
 
53
  /* Attempt to detect the type of the response. A successful call
54
  * will have a 'result' on toplevel in the payload, while an
32
  * guts will contain all returned data. */
33
  var $response_result = NULL;
34
 
35
+ public function __construct($response_body, $response_code=NULL) {
36
+ parent::__construct();
37
 
38
+ $this->response_code = $response_code;
39
  $this->response_body = $response_body;
40
 
41
  $payload = json_decode($response_body, TRUE);
43
  /* Only throw the connection error exception here if we did not
44
  * receive a valid JSON response, if we did recive one we will use
45
  * the error information in that response instead. */
46
+ if(isset($this->response_code) and $this->response_code !== 200) {
47
  throw new Trustly_ConnectionException('HTTP ' . $this->response_code);
48
  } else {
49
  throw new Trustly_DataException('Failed to decode response JSON, reason code ' . json_last_error());
50
  }
51
  }
52
+
53
+ if(isset($payload)) {
54
+ $this->payload = $payload;
55
+ }
56
 
57
  /* Attempt to detect the type of the response. A successful call
58
  * will have a 'result' on toplevel in the payload, while an
app/design/frontend/base/default/layout/trustly.xml CHANGED
@@ -7,4 +7,14 @@
7
  </action>
8
  </reference>
9
  </trustly_payment_redirect>
 
 
 
 
 
 
 
 
 
 
10
  </layout>
7
  </action>
8
  </reference>
9
  </trustly_payment_redirect>
10
+ <checkout_onepage_index>
11
+ <reference name="head">
12
+ <action method="addCss"><link>css/trustly.css</link></action>
13
+ </reference>
14
+ </checkout_onepage_index>
15
+ <checkout_onepage_billing>
16
+ <reference name="head">
17
+ <action method="addCss"><link>css/trustly.css</link></action>
18
+ </reference>
19
+ </checkout_onepage_billing>
20
  </layout>
app/design/frontend/base/default/template/trustly/form.phtml CHANGED
@@ -1,8 +1,8 @@
 
1
  <fieldset class="form-list">
2
- <?php $_code=$this->getMethodCode() ?>
 
 
 
 
3
  </fieldset>
4
- <div id="payment_form_<?php echo $_code ?>" style="display:none;">
5
- <p class="trustly_title" style="padding-left: 20px; padding-top: 8px; ">
6
- <?php echo $this->helper('trustly')->__('Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.') ?>
7
- </p>
8
- </div>
1
+ <?php $_code=$this->getMethodCode() ?>
2
  <fieldset class="form-list">
3
+ <ul id="payment_form_<?php echo $_code ?>" style="display:none;">
4
+ <li class="trustly-logo"><img src="https://static.trustly.com/logotype/checkout/trustly_150.png" alt="<?php echo Mage::helper('trustly')->__('Trustly') ?>"/>&nbsp;</li>
5
+ <li class="trustly-text"><?php echo $this->helper('trustly')->__('Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.') ?></li>
6
+ <li class="trustly-whatis"><a href="<?php echo $this->getPaymentAcceptanceMarkHref()?>" onclick="javascript:window.open('<?php echo $this->getPaymentAcceptanceMarkHref()?>','whatistrustly','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, ,left=0, top=0, width=970, height=725'); return false;"><?php echo Mage::helper('trustly')->__('What is Trustly?') ?></a></li>
7
+ </ul>
8
  </fieldset>
 
 
 
 
 
app/design/frontend/base/default/template/trustly/mark.phtml DELETED
@@ -1,5 +0,0 @@
1
- <img src="https://static.trustly.com/logotype/checkout/trustly_73.png" alt="<?php echo Mage::helper('trustly')->__('Trustly') ?>" class="v-middle" />&nbsp;
2
- <span style="position: relative; top: 3px;">
3
- <?php echo $this->__('Instant bank payment. Free. No registration.') ?>
4
- <a style="margin-left: 5px;" href="<?php echo $this->getPaymentAcceptanceMarkHref()?>" onclick="javascript:window.open('<?php echo $this->getPaymentAcceptanceMarkHref()?>','whatistrustly','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, ,left=0, top=0, width=970, height=725'); return false;"><?php echo Mage::helper('trustly')->__('What is Trustly?') ?></a>
5
- </span>
 
 
 
 
 
app/locale/bg_BG/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Незабавно плащане по банков път. Безплатно. Без регистрация."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Незабавно електронно плащане по банков път. Поддържа всички български банки. Безплатно.  Използвайте обичайната си банкова регистрация."
3
+ "Trustly - Instant bank payment", "Trustly - Незабавно плащане по банков път"
4
+ "What is Trustly?", "Какво е Trustly?"
app/locale/cs_CZ/Trustly_Trustly.csv ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Rychlá platba. Zdarma. Bez registrace."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Rychlá online platba. Podporuje všechny české banky. Zdarma. Přihlášení jako u internetbankingu."
3
+ "Trustly - Instant bank payment", "Trustly - Rychlá platba"
4
+ "What is Trustly?", "Co je to Trustly?"
5
+
app/locale/da_DK/Trustly_Trustly.csv CHANGED
@@ -1,35 +1,4 @@
1
- "Amount expected: %s %s","Amount expected: %s %s"
2
- "Amount received: %s %s","Amount received: %s %s"
3
- "Authorized payment.","Authorized payment."
4
- "Cancel payment","Cancel payment"
5
- "Cannot connect to Trustly services.","Cannot connect to Trustly services."
6
- "Cannot find the order %s.","Cannot find the order %s."
7
- "Cannot find the relation of Trustly order %s for user %s.","Cannot find the relation of Trustly order %s for user %s."
8
- "Cannot verify the authenticity of Trustly communication.","Cannot verify the authenticity of Trustly communication."
9
- "Could not connect to Trustly.","Could not connect to Trustly."
10
- "Credit memo has been created automatically","Credit memo has been created automatically"
11
- "Date of transaction: %s","Date of transaction: %s"
12
- "Debit amount: %s %s","Debit amount: %s %s"
13
- "Error processing Trustly communication.","Error processing Trustly communication."
14
- "Failed to communicate with Trustly.","Failed to communicate with Trustly."
15
- "Failed to display the payment method.","Failed to display the payment method."
16
  "Instant bank payment. Free. No registration.", "Øjeblikkelig bankoverførsel. Intet gebyr. Ingen tilmelding."
17
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Øjeblikkelig bankoverførsel via nettet. Omfatter alle danske banker. Intet gebyr. Du bruger dit normale banklogin."
18
- "Invalid payment.","Invalid payment."
19
- "Invoice for Trustly OrderId #%s created","Invoice for Trustly OrderId #%s created"
20
- "Invoice: %s","Invoice: %s"
21
- "Invoiced from Trustly payment","Invoiced from Trustly payment"
22
- "Notification id: %s","Notification id: %s"
23
- "Payment amount: %s %s","Payment amount: %s %s"
24
- "Payment failed, debit received.","Payment failed, debit received."
25
- "Pending payment.","Pending payment."
26
- "Trustly order has been canceled.", "Trustly order has been canceled."
27
- "Trustly orderid: %s","Trustly orderid: %s"
28
- "Trustly payment module has not been configured.","Trustly payment module has not been configured."
29
- "Trustly payment","Trustly payment"
30
- "Trustly","Trustly"
31
- "Unable to cancel Trustly order.", "Unable to cancel Trustly order."
32
- "Unable to set payment method.","Unable to set payment method."
33
- "Use order currency", "Use order currency"
34
- "Use the currency the user has selected in the store when placing the order rather then the store base currency.", "Use the currency the user has selected in the store when placing the order rather then the store base currency."
35
  "What is Trustly?","Hvad er Trustly?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  "Instant bank payment. Free. No registration.", "Øjeblikkelig bankoverførsel. Intet gebyr. Ingen tilmelding."
2
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Øjeblikkelig bankoverførsel via nettet. Omfatter alle danske banker. Intet gebyr. Du bruger dit normale banklogin."
3
+ "Trustly - Instant bank payment", "Trustly - Øjeblikkelig bankoverførsel"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "What is Trustly?","Hvad er Trustly?"
app/locale/de_DE/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Sofortige Bankeinzahlung. Kostenlos. Keine Registrierung."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Sofortige Zahlung über Online-Banking. Unterstützt alle deutschen Banken. Kostenlos. Sie verwenden Ihre normalen."
3
+ "Trustly - Instant bank payment", "Trustly - Sofortige Bankeinzahlung"
4
+ "What is Trustly?", "Was ist Trustly?"
app/locale/el_GR/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Άμεση τραπεζική πληρωμή. Δωρεάν. Δεν χρειάζεται εγγραφή."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Άμεση online τραπεζική πληρωμή. Υποστηρίζονται όλες οι ελληνικές τράπεζες. Χωρίς χρέωση.  Χρησιμοποίησε τα συνηθισμένα σου στοιχεία τραπεζικής σύνδεσης."
3
+ "Trustly - Instant bank payment", "Trustly - Άμεση τραπεζική πληρωμή"
4
+ "What is Trustly?", "Τι είναι η Trustly;"
app/locale/en_US/Trustly_Trustly.csv CHANGED
@@ -14,7 +14,7 @@
14
  "Failed to communicate with Trustly.","Failed to communicate with Trustly."
15
  "Failed to display the payment method.","Failed to display the payment method."
16
  "Instant bank payment. Free. No registration.", "Instant bank payment. Free. No registration."
17
- "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login."
18
  "Invalid payment.","Invalid payment."
19
  "Invoice for Trustly OrderId #%s created","Invoice for Trustly OrderId #%s created"
20
  "Invoice: %s","Invoice: %s"
@@ -23,6 +23,7 @@
23
  "Payment amount: %s %s","Payment amount: %s %s"
24
  "Payment failed, debit received.","Payment failed, debit received."
25
  "Pending payment.","Pending payment."
 
26
  "Trustly order has been canceled.", "Trustly order has been canceled."
27
  "Trustly orderid: %s","Trustly orderid: %s"
28
  "Trustly payment module has not been configured.","Trustly payment module has not been configured."
14
  "Failed to communicate with Trustly.","Failed to communicate with Trustly."
15
  "Failed to display the payment method.","Failed to display the payment method."
16
  "Instant bank payment. Free. No registration.", "Instant bank payment. Free. No registration."
17
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login."
18
  "Invalid payment.","Invalid payment."
19
  "Invoice for Trustly OrderId #%s created","Invoice for Trustly OrderId #%s created"
20
  "Invoice: %s","Invoice: %s"
23
  "Payment amount: %s %s","Payment amount: %s %s"
24
  "Payment failed, debit received.","Payment failed, debit received."
25
  "Pending payment.","Pending payment."
26
+ "Trustly - Instant bank payment", "Trustly - Instant bank payment"
27
  "Trustly order has been canceled.", "Trustly order has been canceled."
28
  "Trustly orderid: %s","Trustly orderid: %s"
29
  "Trustly payment module has not been configured.","Trustly payment module has not been configured."
app/locale/es_ES/Trustly_Trustly.csv CHANGED
@@ -23,6 +23,7 @@
23
  "Payment amount: %s %s", "Cantidad transferida: %s %s"
24
  "Payment failed, debit received.","Error en el pago, abono recibido."
25
  "Pending payment.","Pago pendiente."
 
26
  "Trustly order has been canceled.", "Para Trustly ha sido cancelada."
27
  "Trustly orderid: %s","Trustly orderid: %s"
28
  "Trustly payment module has not been configured.","El módulo de pago de Trustly no se ha configurado."
23
  "Payment amount: %s %s", "Cantidad transferida: %s %s"
24
  "Payment failed, debit received.","Error en el pago, abono recibido."
25
  "Pending payment.","Pago pendiente."
26
+ "Trustly - Instant bank payment", "Trustly - Pago inmediato"
27
  "Trustly order has been canceled.", "Para Trustly ha sido cancelada."
28
  "Trustly orderid: %s","Trustly orderid: %s"
29
  "Trustly payment module has not been configured.","El módulo de pago de Trustly no se ha configurado."
app/locale/et_EE/Trustly_Trustly.csv CHANGED
@@ -1,35 +1,4 @@
1
- "Amount expected: %s %s","Amount expected: %s %s"
2
- "Amount received: %s %s","Amount received: %s %s"
3
- "Authorized payment.","Authorized payment."
4
- "Cancel payment","Cancel payment"
5
- "Cannot connect to Trustly services.","Cannot connect to Trustly services."
6
- "Cannot find the order %s.","Cannot find the order %s."
7
- "Cannot find the relation of Trustly order %s for user %s.","Cannot find the relation of Trustly order %s for user %s."
8
- "Cannot verify the authenticity of Trustly communication.","Cannot verify the authenticity of Trustly communication."
9
- "Could not connect to Trustly.","Could not connect to Trustly."
10
- "Credit memo has been created automatically","Credit memo has been created automatically"
11
- "Date of transaction: %s","Date of transaction: %s"
12
- "Debit amount: %s %s","Debit amount: %s %s"
13
- "Error processing Trustly communication.","Error processing Trustly communication."
14
- "Failed to communicate with Trustly.","Failed to communicate with Trustly."
15
- "Failed to display the payment method.","Failed to display the payment method."
16
  "Instant bank payment. Free. No registration.", "Kohene pangamakse. Tasuta. Registreerimine ei ole vajalik."
17
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Kohene pangamakse online. Toimib kõigi Eestis tegutsevate pankadega. Tasuta. Kasutage oma tavalisi panga sisselogimisandmeid."
18
- "Invalid payment.","Invalid payment."
19
- "Invoice for Trustly OrderId #%s created","Invoice for Trustly OrderId #%s created"
20
- "Invoice: %s","Invoice: %s"
21
- "Invoiced from Trustly payment","Invoiced from Trustly payment"
22
- "Notification id: %s","Notification id: %s"
23
- "Payment amount: %s %s","Payment amount: %s %s"
24
- "Payment failed, debit received.","Payment failed, debit received."
25
- "Pending payment.","Pending payment."
26
- "Trustly order has been canceled.", "Trustly order has been canceled."
27
- "Trustly orderid: %s","Trustly orderid: %s"
28
- "Trustly payment module has not been configured.","Trustly payment module has not been configured."
29
- "Trustly payment","Trustly payment"
30
- "Trustly","Trustly"
31
- "Unable to cancel Trustly order.", "Unable to cancel Trustly order."
32
- "Unable to set payment method.","Unable to set payment method."
33
- "Use order currency", "Use order currency"
34
- "Use the currency the user has selected in the store when placing the order rather then the store base currency.", "Use the currency the user has selected in the store when placing the order rather then the store base currency."
35
  "What is Trustly?","Mis on Trustly?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  "Instant bank payment. Free. No registration.", "Kohene pangamakse. Tasuta. Registreerimine ei ole vajalik."
2
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Kohene pangamakse online. Toimib kõigi Eestis tegutsevate pankadega. Tasuta. Kasutage oma tavalisi panga sisselogimisandmeid."
3
+ "Trustly - Instant bank payment", "Trustly - Kohene pangamakse"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "What is Trustly?","Mis on Trustly?"
app/locale/fi_FI/Trustly_Trustly.csv CHANGED
@@ -1,35 +1,4 @@
1
- "Amount expected: %s %s","Amount expected: %s %s"
2
- "Amount received: %s %s","Amount received: %s %s"
3
- "Authorized payment.","Authorized payment."
4
- "Cancel payment","Cancel payment"
5
- "Cannot connect to Trustly services.","Cannot connect to Trustly services."
6
- "Cannot find the order %s.","Cannot find the order %s."
7
- "Cannot find the relation of Trustly order %s for user %s.","Cannot find the relation of Trustly order %s for user %s."
8
- "Cannot verify the authenticity of Trustly communication.","Cannot verify the authenticity of Trustly communication."
9
- "Could not connect to Trustly.","Could not connect to Trustly."
10
- "Credit memo has been created automatically","Credit memo has been created automatically"
11
- "Date of transaction: %s","Date of transaction: %s"
12
- "Debit amount: %s %s","Debit amount: %s %s"
13
- "Error processing Trustly communication.","Error processing Trustly communication."
14
- "Failed to communicate with Trustly.","Failed to communicate with Trustly."
15
- "Failed to display the payment method.","Failed to display the payment method."
16
  "Instant bank payment. Free. No registration.", "Pikamaksu. Ilmainen. Ilman rekisteröitymistä."
17
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Pikamaksu online. Tukee kaikkia suomalaisia pankkeja. Ilman palkkiota. Käytä tavallista käyttäjätunnustasi."
18
- "Invalid payment.","Invalid payment."
19
- "Invoice for Trustly OrderId #%s created","Invoice for Trustly OrderId #%s created"
20
- "Invoice: %s","Invoice: %s"
21
- "Invoiced from Trustly payment","Invoiced from Trustly payment"
22
- "Notification id: %s","Notification id: %s"
23
- "Payment amount: %s %s","Payment amount: %s %s"
24
- "Payment failed, debit received.","Payment failed, debit received."
25
- "Pending payment.","Pending payment."
26
- "Trustly order has been canceled.", "Trustly order has been canceled."
27
- "Trustly orderid: %s","Trustly orderid: %s"
28
- "Trustly payment module has not been configured.","Trustly payment module has not been configured."
29
- "Trustly payment","Trustly payment"
30
- "Trustly","Trustly"
31
- "Unable to cancel Trustly order.", "Unable to cancel Trustly order."
32
- "Unable to set payment method.","Unable to set payment method."
33
- "Use order currency", "Use order currency"
34
- "Use the currency the user has selected in the store when placing the order rather then the store base currency.", "Use the currency the user has selected in the store when placing the order rather then the store base currency."
35
  "What is Trustly?","Mikä on Trustly?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  "Instant bank payment. Free. No registration.", "Pikamaksu. Ilmainen. Ilman rekisteröitymistä."
2
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Pikamaksu online. Tukee kaikkia suomalaisia pankkeja. Ilman palkkiota. Käytä tavallista käyttäjätunnustasi."
3
+ "Trustly - Instant bank payment", "Trustly - Pikamaksu"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "What is Trustly?","Mikä on Trustly?"
app/locale/fr_FR/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Paiement bancaire immédiat. Gratuit. Aucune inscription."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Paiement bancaire en ligne immédiat. Prend en charge toutes les banques françaises. Gratuit.  Utilisez votre connexion bancaire habituelle."
3
+ "Trustly - Instant bank payment", "Trustly - Paiement bancaire immédiat"
4
+ "What is Trustly?", "Qu'est-ce que Trustly?"
app/locale/ga_IE/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Íocaíocht mheandrach bhainc. Saor in aisce. Gan chlárú."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Caíocht mheandrach trí bhaincéireacht ar líne. Tacaíonn seo leis na bainc go léir in Éirinn. Saor in aisce. Bain úsáid as an logáil isteach bhainc rialta atá agat."
3
+ "Trustly - Instant bank payment", "Trustly - Íocaíocht mheandrach bhainc"
4
+ "What is Trustly?", "Céard é Trustly?"
app/locale/it_IT/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Pagamento bancario istantaneo. Gratuito. Non è necessaria la registrazione."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Pagamento bancario online istantaneo. Supporta tutte le banche in Italia. Nessuna commissione. Utilizza le tue informazioni di login con la tua banca."
3
+ "Trustly - Instant bank payment", "Trustly - Pagamento bancario istantaneo"
4
+ "What is Trustly?", "Cos'è Trustly?"
app/locale/lt_LT/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Tiesioginis mokėjimas internetinės bankininkystės būdu. Nemokama. Nėra jokios registracijos."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Tiesioginis mokėjimas internetinės bankininkystės būdu. Sistema remia visus Lietuvos bankus. Nemokama. Naudokite savo įprastą internetinės bankininkystės prisijungimą."
3
+ "Trustly - Instant bank payment", "Trustly - Tiesioginis mokėjimas internetinės bankininkystės būdu"
4
+ "What is Trustly?", "Kas yra „Trustly“?"
app/locale/lv_LV/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Ātrais bankas maksājums. Bezmaksas. Nekādas reģistrācijas."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Ātrā tiešsaistes banku sistēma. Atbalsta Latvijas bankas. Bezmaksas.  Lietojiet savu pastāvīgo bankas pieteikumvārdu."
3
+ "Trustly - Instant bank payment", "Trustly - Ātrais bankas maksājums"
4
+ "What is Trustly?", "Kas ir Trustly?"
app/locale/mt_MT/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Ħlas bankarju immedjat. Mingħajr ħlas. L-ebda reġistrazzjoni."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Ħlas bankarju onlajn immedjat. Jappoġġja l-banek maltin kollha. Mingħajr ħlas.  Uża l-login regolari tal-bank tiegħek."
3
+ "Trustly - Instant bank payment", "Trustly - Ħlas bankarju immedjat"
4
+ "What is Trustly?", "X'inhu Trustly?"
app/locale/nb_NO/Trustly_Trustly.csv CHANGED
@@ -23,6 +23,7 @@
23
  "Payment amount: %s %s","Betalings beløp: %s %s"
24
  "Payment failed, debit received.","Betalingen mislyktes, debet er mottatt."
25
  "Pending payment.","Utestående betaling."
 
26
  "Trustly order has been canceled.","Trustly ordre er kansellert"
27
  "Trustly orderid: %s","Trustly ordreid: %s"
28
  "Trustly payment module has not been configured.","Trustly betaling modul er ikke konfigurert enda."
23
  "Payment amount: %s %s","Betalings beløp: %s %s"
24
  "Payment failed, debit received.","Betalingen mislyktes, debet er mottatt."
25
  "Pending payment.","Utestående betaling."
26
+ "Trustly - Instant bank payment", "Trustly - Omgående bankbetaling"
27
  "Trustly order has been canceled.","Trustly ordre er kansellert"
28
  "Trustly orderid: %s","Trustly ordreid: %s"
29
  "Trustly payment module has not been configured.","Trustly betaling modul er ikke konfigurert enda."
app/locale/nl_NL/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Direct betalen via uw bank. Gratis. Geen registratie."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Directe betaling via internet-banking. Ondersteunt alle Nederlandse banken. Gratis. U gebruikt de gewone logingegevens van uw bank."
3
+ "Trustly - Instant bank payment", "Trustly - Direct betalen via uw bank"
4
+ "What is Trustly?", "Wat is trustly?"
app/locale/pl_PL/Trustly_Trustly.csv CHANGED
@@ -1,35 +1,4 @@
1
- "Amount expected: %s %s","Amount expected: %s %s"
2
- "Amount received: %s %s","Amount received: %s %s"
3
- "Authorized payment.","Authorized payment."
4
- "Cancel payment","Cancel payment"
5
- "Cannot connect to Trustly services.","Cannot connect to Trustly services."
6
- "Cannot find the order %s.","Cannot find the order %s."
7
- "Cannot find the relation of Trustly order %s for user %s.","Cannot find the relation of Trustly order %s for user %s."
8
- "Cannot verify the authenticity of Trustly communication.","Cannot verify the authenticity of Trustly communication."
9
- "Could not connect to Trustly.","Could not connect to Trustly."
10
- "Credit memo has been created automatically","Credit memo has been created automatically"
11
- "Date of transaction: %s","Date of transaction: %s"
12
- "Debit amount: %s %s","Debit amount: %s %s"
13
- "Error processing Trustly communication.","Error processing Trustly communication."
14
- "Failed to communicate with Trustly.","Failed to communicate with Trustly."
15
- "Failed to display the payment method.","Failed to display the payment method."
16
  "Instant bank payment. Free. No registration.", "Natychmiastowa płatność bankowa. Bezpłatnie. Bez rejestracji."
17
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Natychmiastowa płatność bankowa online. Obsługa wszystkich polskich banków. Bez opłat. Zastosuj swój zwykły login do banku."
18
- "Invalid payment.","Invalid payment."
19
- "Invoice for Trustly OrderId #%s created","Invoice for Trustly OrderId #%s created"
20
- "Invoice: %s","Invoice: %s"
21
- "Invoiced from Trustly payment","Invoiced from Trustly payment"
22
- "Notification id: %s","Notification id: %s"
23
- "Payment amount: %s %s","Payment amount: %s %s"
24
- "Payment failed, debit received.","Payment failed, debit received."
25
- "Pending payment.","Pending payment."
26
- "Trustly order has been canceled.", "Trustly order has been canceled."
27
- "Trustly orderid: %s","Trustly orderid: %s"
28
- "Trustly payment module has not been configured.","Trustly payment module has not been configured."
29
- "Trustly payment","Trustly payment"
30
- "Trustly","Trustly"
31
- "Unable to cancel Trustly order.", "Unable to cancel Trustly order."
32
- "Unable to set payment method.","Unable to set payment method."
33
- "Use order currency", "Use order currency"
34
- "Use the currency the user has selected in the store when placing the order rather then the store base currency.", "Use the currency the user has selected in the store when placing the order rather then the store base currency."
35
- "What is Trustly?","Co to jest Trustly?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  "Instant bank payment. Free. No registration.", "Natychmiastowa płatność bankowa. Bezpłatnie. Bez rejestracji."
2
  "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Natychmiastowa płatność bankowa online. Obsługa wszystkich polskich banków. Bez opłat. Zastosuj swój zwykły login do banku."
3
+ "Trustly - Instant bank payment", "Trustly - Natychmiastowa płatność bankowa"
4
+ "What is Trustly?","Czym jest Trustly?"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/locale/pt_PT/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Pagamento bancário instantâneo. Gratuito. Sem registo."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Pagamento instantâneo do seu banco online. Trabalhamos com todos os bancos em Portugal. É gratuito. Use o seu login bancário normal."
3
+ "Trustly - Instant bank payment", "Trustly - Pagamento bancário instantâneo"
4
+ "What is Trustly?", "O que é a Trustly?"
app/locale/ro_RO/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Plată bancară instantanee. Gratuit. Fără înregistrare."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Plată instantanee prin contul bancar online. Acceptă toate băncile româneşti. Gratuit.  Folosiţi datele dumneavoastră obişnuite de autentificare bancară."
3
+ "Trustly - Instant bank payment", "Trustly - Plată bancară instantanee"
4
+ "What is Trustly?", "Ce este Trustly?"
app/locale/sk_SK/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Okamžitá banková platba. Bez poplatkov. Žiadna registrácia."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Okamžitá on-line banková platba. Podporuje všetky banky zo Slovenska. Bez poplatkov.  Použite svoje bežné prihlásenie sa k banke."
3
+ "Trustly - Instant bank payment", "Trustly - Okamžitá banková platba"
4
+ "What is Trustly?", "Čo je to Trustly?"
app/locale/sl_SI/Trustly_Trustly.csv ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ "Instant bank payment. Free. No registration.", "Takojšnje bančno plačilo. Brezplačno. Brez registracije."
2
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Takojšnje spletno bančno plačilo. Podpira vse Banke v Sloveniji. Brezplačno. Brez registracije. Uporabite svoje običajne podatke za prijavo na svojo banko."
3
+ "Trustly - Instant bank payment", "Trustly - Takojšnje bančno plačilo"
4
+ "What is Trustly?", "Kaj je Trustly?"
app/locale/sv_SE/Trustly_Trustly.csv CHANGED
@@ -13,8 +13,8 @@
13
  "Error processing Trustly communication.", "Kunde inte tolka kommunikationen från Trustly"
14
  "Failed to communicate with Trustly.", "Misslyckades att kommunicera med Trustly."
15
  "Failed to display the payment method.", "Kunde inte visa betalningsmetoden."
16
- "Instant bank payment. Free. No registration.", "Direktbetalning över nätet. Gratis. Ingen registrering."
17
- "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Direktbetalning över nätet. Stödjer alla svenska banker. Gratis. Använd inloggningen till din vanliga bank."
18
  "Invalid payment.", "Ogiltig betalning"
19
  "Invoice for Trustly OrderId #%s created", "Faktura för Trustly OrderId #%s skapad"
20
  "Invoice: %s", "Faktura: %s"
@@ -23,6 +23,7 @@
23
  "Payment amount: %s", "Betalning: %s %s"
24
  "Payment failed, debit received.", "Betalningen misslyckades, debitering mottagen."
25
  "Pending payment.", "Inkommande betalning."
 
26
  "Trustly order has been canceled.", "Trustly betalningen har avbrutits."
27
  "Trustly orderid: %s", "Trustly OrderId: %s"
28
  "Trustly payment module has not been configured.","Betalningsmodulen för Trustly har inte blivit konfigurerad."
13
  "Error processing Trustly communication.", "Kunde inte tolka kommunikationen från Trustly"
14
  "Failed to communicate with Trustly.", "Misslyckades att kommunicera med Trustly."
15
  "Failed to display the payment method.", "Kunde inte visa betalningsmetoden."
16
+ "Instant bank payment. Free. No registration.", "Bankbetalning. Gratis. Ingen registrering. Mobilt bank ID."
17
+ "Instant online banking payment. Supports all banks. Free of charge. Use your regular bank login.", "Bankbetalning. Stödjer alla svenska banker. Gratis.  Ingen registrering. Mobilt bank ID."
18
  "Invalid payment.", "Ogiltig betalning"
19
  "Invoice for Trustly OrderId #%s created", "Faktura för Trustly OrderId #%s skapad"
20
  "Invoice: %s", "Faktura: %s"
23
  "Payment amount: %s", "Betalning: %s %s"
24
  "Payment failed, debit received.", "Betalningen misslyckades, debitering mottagen."
25
  "Pending payment.", "Inkommande betalning."
26
+ "Trustly - Instant bank payment", "Trustly - Bankbetalning. Mobilt bank ID"
27
  "Trustly order has been canceled.", "Trustly betalningen har avbrutits."
28
  "Trustly orderid: %s", "Trustly OrderId: %s"
29
  "Trustly payment module has not been configured.","Betalningsmodulen för Trustly har inte blivit konfigurerad."
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Trustly</name>
4
- <version>2.0.12</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.gnu.org/copyleft/gpl.html">GPL 3</license>
7
  <channel>community</channel>
@@ -16,33 +16,78 @@
16
  <email>info@trustly.com</email>
17
  </author>
18
  </authors>
19
- <date>2015-03-30</date>
20
- <time>10:51:35</time>
21
  <contents>
22
  <target name="magelocale">
 
 
 
 
 
 
23
  <dir name="da_DK">
24
- <file name="Trustly_Trustly.csv" hash="aa7575d1864e3c170de228d4fa75c229"/>
 
 
 
 
 
 
25
  </dir>
26
  <dir name="en_US">
27
- <file name="Trustly_Trustly.csv" hash="fe6921283721d8c6b8997f1c9a7b7371"/>
28
  </dir>
29
  <dir name="es_ES">
30
- <file name="Trustly_Trustly.csv" hash="7f514be9aa9464b2453d6e07680a602a"/>
31
  </dir>
32
  <dir name="et_EE">
33
- <file name="Trustly_Trustly.csv" hash="88c537233c244dd3cc56ea0de17ed259"/>
34
  </dir>
35
  <dir name="fi_FI">
36
- <file name="Trustly_Trustly.csv" hash="206f9edc661ec84821f445baf67c182c"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  </dir>
38
  <dir name="nb_NO">
39
- <file name="Trustly_Trustly.csv" hash="5c8ca8d390b57d01e4263d165ed5aaf2"/>
 
 
 
40
  </dir>
41
  <dir name="pl_PL">
42
- <file name="Trustly_Trustly.csv" hash="27e5174213fd321aa0ae5ee7cbbc575d"/>
 
 
 
 
 
 
 
 
 
 
 
 
43
  </dir>
44
  <dir name="sv_SE">
45
- <file name="Trustly_Trustly.csv" hash="7de5f07ea934b3b2c22cb27b7197720d"/>
46
  </dir>
47
  </target>
48
  <target name="magecommunity">
@@ -54,7 +99,7 @@
54
  <file name="About.php" hash="718a3e0e730ee688077363403f30b60e"/>
55
  </dir>
56
  </dir>
57
- <file name="Form.php" hash="a65f1b111fde8a0fe0a57427b5cd7e38"/>
58
  <file name="Redirect.php" hash="83601b40dbb62de16aad76eaa0374b16"/>
59
  </dir>
60
  <dir name="Helper">
@@ -65,13 +110,13 @@
65
  <file name="Ordermappings.php" hash="2646cf5a89931567877c586f69b605cb"/>
66
  </dir>
67
  <file name="Ordermappings.php" hash="53b9f4afef2fb240d35528f06c5e3c19"/>
68
- <file name="Standard.php" hash="be676893109e766431dd8075377aceb4"/>
69
  </dir>
70
  <dir name="controllers">
71
- <file name="PaymentController.php" hash="e18d29bad284fba48e21f23f0970c407"/>
72
  </dir>
73
  <dir name="etc">
74
- <file name="config.xml" hash="bb6b558e932db1cee5bc43b39acd9641"/>
75
  <file name="system.xml" hash="1d05a6c9e2698de58e9f86ed172a8d43"/>
76
  </dir>
77
  <dir name="lib">
@@ -82,23 +127,23 @@
82
  <file name="trustly.com.public.pem" hash="b2c821ad10c085a40b6c4e36ee6b8c9e"/>
83
  </dir>
84
  <file name="api.php" hash="36d19f4adb8150687911b9faf3a56923"/>
85
- <file name="signed.php" hash="a7bbd8708169d0f7021d90ede76694f7"/>
86
- <file name="unsigned.php" hash="949ef7542850d212eb3147368bf02070"/>
87
  </dir>
88
  <dir name="Data">
89
- <file name="data.php" hash="7fbe26e12fd5df330f9172ff4ca1465b"/>
90
- <file name="jsonrpcnotificationrequest.php" hash="eb9276016f46c497b27cbbd5a2daeed8"/>
91
- <file name="jsonrpcnotificationresponse.php" hash="7783639307db8f310808dfc15d2a3d59"/>
92
  <file name="jsonrpcrequest.php" hash="757d93b0b5957a8593a3d70889df106c"/>
93
  <file name="jsonrpcresponse.php" hash="0520907f00771ff37762ebbac6c969dd"/>
94
  <file name="jsonrpcsignedresponse.php" hash="bb858b420fb9d11261a33e6a30337cc0"/>
95
- <file name="request.php" hash="1665da7d553a2ca518de94e2d4280bfe"/>
96
- <file name="response.php" hash="bdc3fb5c03619346dd2131158f2253eb"/>
97
  </dir>
98
  <file name="exceptions.php" hash="490d32bc3fe7a4fb9ef6c92aa9dc7ceb"/>
99
  </dir>
100
  <file name="LICENCE" hash="8713032dd477873c84ed4ff4b7da5f70"/>
101
- <file name="README.md" hash="9a8b951a089ee6cab156bce818f4e1b5"/>
102
  <file name="Trustly.php" hash="f3eb105285128246ce17dbec90746a8e"/>
103
  <file name="composer.json" hash="ff37bbc26dbeb509061ab2f42e9228e2"/>
104
  </dir>
@@ -123,19 +168,29 @@
123
  <dir name="base">
124
  <dir name="default">
125
  <dir name="layout">
126
- <file name="trustly.xml" hash="defb5e5450f4f02d4bf8c53fd7fac3ef"/>
127
  </dir>
128
  <dir name="template">
129
  <dir name="trustly">
130
- <file name="form.phtml" hash="056ea0ceb0b4fb89c5b10e6146b84a9f"/>
131
  <file name="iframe.phtml" hash="4805a2e6d22d3d9c4df5c05864f09d3a"/>
132
- <file name="mark.phtml" hash="e535d84b06bb079e098e94d4b6430abd"/>
133
  </dir>
134
  </dir>
135
  </dir>
136
  </dir>
137
  </dir>
138
  </target>
 
 
 
 
 
 
 
 
 
 
 
139
  </contents>
140
  <compatible/>
141
  <dependencies>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Trustly</name>
4
+ <version>2.0.16</version>
5
  <stability>stable</stability>
6
  <license uri="http://www.gnu.org/copyleft/gpl.html">GPL 3</license>
7
  <channel>community</channel>
16
  <email>info@trustly.com</email>
17
  </author>
18
  </authors>
19
+ <date>2015-07-14</date>
20
+ <time>11:11:27</time>
21
  <contents>
22
  <target name="magelocale">
23
+ <dir name="bg_BG">
24
+ <file name="Trustly_Trustly.csv" hash="225a52365b69e73876089fe536ae7222"/>
25
+ </dir>
26
+ <dir name="cs_CZ">
27
+ <file name="Trustly_Trustly.csv" hash="fea04a45a8d2fe98ff1227d090f5bbf5"/>
28
+ </dir>
29
  <dir name="da_DK">
30
+ <file name="Trustly_Trustly.csv" hash="89b0a13ce30d7caddf103289debd6d1f"/>
31
+ </dir>
32
+ <dir name="de_DE">
33
+ <file name="Trustly_Trustly.csv" hash="cc2c66739284ff61809b644c4d7d6518"/>
34
+ </dir>
35
+ <dir name="el_GR">
36
+ <file name="Trustly_Trustly.csv" hash="6964395a9e72276e11426c2ccd80f955"/>
37
  </dir>
38
  <dir name="en_US">
39
+ <file name="Trustly_Trustly.csv" hash="d9a7372cf92c1b19352d5939901f7797"/>
40
  </dir>
41
  <dir name="es_ES">
42
+ <file name="Trustly_Trustly.csv" hash="be7302b16528006cf71ab75d7c166984"/>
43
  </dir>
44
  <dir name="et_EE">
45
+ <file name="Trustly_Trustly.csv" hash="2dbb3f363efe67e035e8e7f8924c5117"/>
46
  </dir>
47
  <dir name="fi_FI">
48
+ <file name="Trustly_Trustly.csv" hash="0227c7abdad00c44145f84cc934edd7d"/>
49
+ </dir>
50
+ <dir name="fr_FR">
51
+ <file name="Trustly_Trustly.csv" hash="b47d303a645d5ed1293d4a1d462f59f1"/>
52
+ </dir>
53
+ <dir name="ga_IE">
54
+ <file name="Trustly_Trustly.csv" hash="7e2b099c5e1dd4441d701a1cd41a2790"/>
55
+ </dir>
56
+ <dir name="it_IT">
57
+ <file name="Trustly_Trustly.csv" hash="9f7ca6efbdd820177dc3a5d521771287"/>
58
+ </dir>
59
+ <dir name="lt_LT">
60
+ <file name="Trustly_Trustly.csv" hash="64cad3460f1421dd65bc9ec91c0a26e1"/>
61
+ </dir>
62
+ <dir name="lv_LV">
63
+ <file name="Trustly_Trustly.csv" hash="329433e081d78a56d39a4ba480497670"/>
64
+ </dir>
65
+ <dir name="mt_MT">
66
+ <file name="Trustly_Trustly.csv" hash="55f4fd934eb87f5a8d28e112fe9fdd25"/>
67
  </dir>
68
  <dir name="nb_NO">
69
+ <file name="Trustly_Trustly.csv" hash="1911dd904a1647b519c0d4969a5f66fa"/>
70
+ </dir>
71
+ <dir name="nl_NL">
72
+ <file name="Trustly_Trustly.csv" hash="296dbe477091d29467687ad10fc8687f"/>
73
  </dir>
74
  <dir name="pl_PL">
75
+ <file name="Trustly_Trustly.csv" hash="1fc964f36bda1d22798304cdd8146e37"/>
76
+ </dir>
77
+ <dir name="pt_PT">
78
+ <file name="Trustly_Trustly.csv" hash="0d7f239f4c7307625bc54cf567b3e2af"/>
79
+ </dir>
80
+ <dir name="ro_RO">
81
+ <file name="Trustly_Trustly.csv" hash="496a438e312ad6c958479f595dab35f1"/>
82
+ </dir>
83
+ <dir name="sk_SK">
84
+ <file name="Trustly_Trustly.csv" hash="5d07aa5fbe8b9cab06784ee3fa3ce3d2"/>
85
+ </dir>
86
+ <dir name="sl_SI">
87
+ <file name="Trustly_Trustly.csv" hash="dac997521022da3a1630be59a3c869eb"/>
88
  </dir>
89
  <dir name="sv_SE">
90
+ <file name="Trustly_Trustly.csv" hash="9a062e9f0d031556fd8a65033d42f075"/>
91
  </dir>
92
  </target>
93
  <target name="magecommunity">
99
  <file name="About.php" hash="718a3e0e730ee688077363403f30b60e"/>
100
  </dir>
101
  </dir>
102
+ <file name="Form.php" hash="37a867c050ee978080d45907948ba7fc"/>
103
  <file name="Redirect.php" hash="83601b40dbb62de16aad76eaa0374b16"/>
104
  </dir>
105
  <dir name="Helper">
110
  <file name="Ordermappings.php" hash="2646cf5a89931567877c586f69b605cb"/>
111
  </dir>
112
  <file name="Ordermappings.php" hash="53b9f4afef2fb240d35528f06c5e3c19"/>
113
+ <file name="Standard.php" hash="9879016b8eb12ecd59b5f2206d3197df"/>
114
  </dir>
115
  <dir name="controllers">
116
+ <file name="PaymentController.php" hash="e144f60ec9c61e2477b11199412e69cb"/>
117
  </dir>
118
  <dir name="etc">
119
+ <file name="config.xml" hash="dfbdbc89e0933d51cb1812571edfa379"/>
120
  <file name="system.xml" hash="1d05a6c9e2698de58e9f86ed172a8d43"/>
121
  </dir>
122
  <dir name="lib">
127
  <file name="trustly.com.public.pem" hash="b2c821ad10c085a40b6c4e36ee6b8c9e"/>
128
  </dir>
129
  <file name="api.php" hash="36d19f4adb8150687911b9faf3a56923"/>
130
+ <file name="signed.php" hash="d8aaa789cc8140c70aab17d0c52b2f9c"/>
131
+ <file name="unsigned.php" hash="7d5b664736bc717488af6924cbf1ded5"/>
132
  </dir>
133
  <dir name="Data">
134
+ <file name="data.php" hash="3b4f8d6a754078323de3fc178558d1b9"/>
135
+ <file name="jsonrpcnotificationrequest.php" hash="96bfc92ab112e26091881c5a09febc95"/>
136
+ <file name="jsonrpcnotificationresponse.php" hash="8e03d52bf9c1e72aa62eaf8d6327640e"/>
137
  <file name="jsonrpcrequest.php" hash="757d93b0b5957a8593a3d70889df106c"/>
138
  <file name="jsonrpcresponse.php" hash="0520907f00771ff37762ebbac6c969dd"/>
139
  <file name="jsonrpcsignedresponse.php" hash="bb858b420fb9d11261a33e6a30337cc0"/>
140
+ <file name="request.php" hash="c9d99190941c0e93cdf847b11107a66f"/>
141
+ <file name="response.php" hash="de751b9b04eaaede8843b79f1a53592e"/>
142
  </dir>
143
  <file name="exceptions.php" hash="490d32bc3fe7a4fb9ef6c92aa9dc7ceb"/>
144
  </dir>
145
  <file name="LICENCE" hash="8713032dd477873c84ed4ff4b7da5f70"/>
146
+ <file name="README.md" hash="fc11bd0f9f42163689381882c878f454"/>
147
  <file name="Trustly.php" hash="f3eb105285128246ce17dbec90746a8e"/>
148
  <file name="composer.json" hash="ff37bbc26dbeb509061ab2f42e9228e2"/>
149
  </dir>
168
  <dir name="base">
169
  <dir name="default">
170
  <dir name="layout">
171
+ <file name="trustly.xml" hash="a7f926ffe5e9f8cbe59f509258c7fd53"/>
172
  </dir>
173
  <dir name="template">
174
  <dir name="trustly">
175
+ <file name="form.phtml" hash="a7b2be50244dacab62d5016ab1d93983"/>
176
  <file name="iframe.phtml" hash="4805a2e6d22d3d9c4df5c05864f09d3a"/>
 
177
  </dir>
178
  </dir>
179
  </dir>
180
  </dir>
181
  </dir>
182
  </target>
183
+ <target name="mageskin">
184
+ <dir name="frontend">
185
+ <dir name="base">
186
+ <dir name="default">
187
+ <dir name="css">
188
+ <file name="trustly.css" hash="d41d434f500cec7ea229d8880e88e20d"/>
189
+ </dir>
190
+ </dir>
191
+ </dir>
192
+ </dir>
193
+ </target>
194
  </contents>
195
  <compatible/>
196
  <dependencies>
skin/frontend/base/default/css/trustly.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ .sp-methods .form-list li.trustly-logo {
2
+ }
3
+
4
+ .sp-methods .form-list li.trustly-text {
5
+ }
6
+
7
+ .sp-methods .form-list li.trustly-whatis {
8
+ margin: 0;
9
+ }