diff --git a/README.mdown b/README.mdown index 192276cf5..b493a3ad7 100644 --- a/README.mdown +++ b/README.mdown @@ -16,19 +16,22 @@ Met iDEAL kunt u vertrouwd, veilig en gemakkelijk uw online aankopen afrekenen. Via [Mollie](https://www.mollie.nl/) is iDEAL gemakkelijk aan te sluiten zonder de gebruikelijke technische en administratieve rompslomp. Mollie geeft u op ieder moment toegang tot uw transactieoverzichten en andere statistieken. Tevens is het mogelijk per e-mail of SMS een notificatie te ontvangen bij elke gelukte betaling. [Mollie](https://www.mollie.nl/) is hierdoor dus een perfecte partner op het gebied van iDEAL en is het dan ook niet verbazingwekkend dat [Mollie](https://www.mollie.nl/) ondertussen op meer dan 20.000 websites iDEAL-betalingen mag verzorgen. ### Creditcard ### -Creditcard is vrijwel de bekendste methode voor het ontvangen van betalingen met wereldwijde dekking. Doordat we onder andere de bekende merken Mastercard en Visa ondersteunen, zorgt dit direct voor veel potentiële kopers. +[Creditcard](https://www.mollie.nl/betaaldiensten/creditcard/) is vrijwel de bekendste methode voor het ontvangen van betalingen met wereldwijde dekking. Doordat we onder andere de bekende merken Mastercard en Visa ondersteunen, zorgt dit direct voor veel potentiële kopers. ### Mister Cash ### -Mister Cash maakt gebruik van een fysieke kaart die gekoppeld is aan tegoed op een Belgische bankrekening. Betalingen via Mister Cash zijn gegarandeerd en lijkt daarmee sterk op iDEAL in Nederland. Daarom is het uitermate geschikt voor uw webwinkel. +[Mister Cash](https://www.mollie.nl/betaaldiensten/mistercash/) maakt gebruik van een fysieke kaart die gekoppeld is aan tegoed op een Belgische bankrekening. Betalingen via Mister Cash zijn gegarandeerd en lijkt daarmee sterk op iDEAL in Nederland. Daarom is het uitermate geschikt voor uw webwinkel. + +### Overboekingen ### +[Overboekingen](https://www.mollie.nl/betaaldiensten/overboeking/) binnen de SEPA zone ontvangen via Mollie. Hiermee kun je betalingen ontvangen van zowel particulieren als zakelijke klanten in meer dan 35 Europese landen. ### PayPal ### -PayPal is wereldwijd een zeer populaire betaalmethode. In enkele klikken kunt u betalingen ontvangen via een bankoverschrijving, creditcard of het PayPal-saldo. +[PayPal](https://www.mollie.nl/betaaldiensten/paypal/) is wereldwijd een zeer populaire betaalmethode. In enkele klikken kunt u betalingen ontvangen via een bankoverschrijving, creditcard of het PayPal-saldo. -### paysafecard ### -paysafecard is de populairste prepaidcard voor online betalingen die veel door ouders voor hun kinderen wordt gekocht. +### Bitcoin ### +[Bitcoin](https://www.mollie.nl/betaaldiensten/bitcoin/) is een vorm van elektronisch geld. De bitcoin-euro wisselkoers wordt vastgesteld op het moment van de transactie waardoor het bedrag en de uitbetaling zijn gegarandeerd. -### Overboeking ### -Overboekingen binnen de SEPA zone ontvangen via Mollie. Hiermee kun je betalingen ontvangen van zowel particulieren als zakelijke klanten in meer dan 35 Europese landen. +### paysafecard ### +[paysafecard](https://www.mollie.nl/betaaldiensten/paysafecard/) is de populairste prepaidcard voor online betalingen die veel door ouders voor hun kinderen wordt gekocht. # Veel gestelde vragen # @@ -56,6 +59,7 @@ Contact: [www.mollie.nl](https://www.mollie.nl) — info@mollie.nl — +31 20-61 + [Meer informatie over Mister Cash via Mollie](https://www.mollie.nl/betaaldiensten/mistercash/) + [Meer informatie over Overboeking via Mollie](https://www.mollie.nl/betaaldiensten/overboeking/) + [Meer informatie over PayPal via Mollie](https://www.mollie.nl/betaaldiensten/paypal/) ++ [Meer informatie over Bitcoin via Mollie](https://www.mollie.nl/betaaldiensten/bitcoin/) + [Meer informatie over paysafecard via Mollie](https://www.mollie.nl/betaaldiensten/paysafecard/) ![Powered By Mollie](https://www.mollie.nl/images/badge-betaling-medium.png) diff --git a/mollie/controllers/front/payment.php b/mollie/controllers/front/payment.php index 23d6d932e..7d8a34589 100644 --- a/mollie/controllers/front/payment.php +++ b/mollie/controllers/front/payment.php @@ -118,9 +118,6 @@ public function initContent() $payment_data = $this->_getPaymentData($amount, $method, $issuer, $order_id); $payment = $this->_createPayment($payment_data); - // Save initial status - $this->module->setOrderStatus($order_id, Mollie_API_Object_Payment::STATUS_OPEN); - // Store payment Db::getInstance()->insert( 'mollie_payments', diff --git a/mollie/mollie.php b/mollie/mollie.php index fc24c3edb..573e9ab70 100644 --- a/mollie/mollie.php +++ b/mollie/mollie.php @@ -61,7 +61,7 @@ class Mollie extends PaymentModule public $statuses = array(); public $name = 'mollie'; public $tab = 'payments_gateways'; - public $version = '1.0.1'; + public $version = '1.0.2'; public $author = 'Mollie B.V.'; public $need_instance = TRUE; public $ps_versions_compliancy = array('min' => '1.5', 'max' => '2'); @@ -193,6 +193,12 @@ public function install() return FALSE; } + if (!$this->installOpenState()) + { + $this->_errors[] = 'Unable to install new OPEN state.'; + return FALSE; + } + $sql = sprintf(' CREATE TABLE IF NOT EXISTS `%s` ( `order_id` INT(64) NOT NULL PRIMARY KEY, @@ -320,7 +326,6 @@ protected function _initConfig() $this->initConfigValue('MOLLIE_STATUS_CANCELLED', 6) && $this->initConfigValue('MOLLIE_STATUS_EXPIRED', 8) && $this->initConfigValue('MOLLIE_STATUS_REFUNDED', 7) && - $this->initConfigValue('MOLLIE_MAIL_WHEN_OPEN', FALSE) && $this->initConfigValue('MOLLIE_MAIL_WHEN_PAID', TRUE) && $this->initConfigValue('MOLLIE_MAIL_WHEN_CANCELLED', FALSE) && $this->initConfigValue('MOLLIE_MAIL_WHEN_EXPIRED', FALSE) && @@ -565,15 +570,20 @@ protected function _getSaveResult($image_options = array(), $issuer_options = ar $this->updateConfigValue('MOLLIE_CSS', $_POST['Mollie_Css']); $this->updateConfigValue('MOLLIE_DISPLAY_ERRORS', (int) $_POST['Mollie_Errors']); $this->updateConfigValue('MOLLIE_DEBUG_LOG', (int) $_POST['Mollie_Logger']); + foreach ($this->statuses as $name => $old) { $new = (int) $_POST['Mollie_Status_' . $name]; $this->statuses[$name] = $new; $this->updateConfigValue('MOLLIE_STATUS_' . strtoupper($name), $new); - $this->updateConfigValue( - 'MOLLIE_MAIL_WHEN_' . strtoupper($name), - !empty($_POST['Mollie_Mail_When_' . $name]) ? TRUE : FALSE - ); + + if ($name != Mollie_API_Object_Payment::STATUS_OPEN) + { + $this->updateConfigValue( + 'MOLLIE_MAIL_WHEN_' . strtoupper($name), + !empty($_POST['Mollie_Mail_When_' . $name]) ? TRUE : FALSE + ); + } } $result_msg = $this->l('The configuration has been saved!'); } @@ -818,4 +828,45 @@ public function hookDisplayPayment() return $this->display(__FILE__, 'mollie_methods.tpl'); } + + public function installOpenState () + { + $order_state = new OrderState(); + $order_state->name = array(); + + foreach (Language::getLanguages() as $language) + { + switch (Tools::strtolower($language['iso_code'])) + { + case 'nl': + $translation = 'Wachten op betaling'; + break; + + case 'fr': + $translation = 'En attente de paiement'; + break; + + default: + $translation = 'Pending payment'; + break; + } + + $order_state->name[$language['id_lang']] = $translation; + } + + $order_state->send_email = FALSE; + $order_state->color = '#CCCCCC'; + $order_state->hidden = FALSE; + $order_state->delivery = FALSE; + $order_state->logable = FALSE; + $order_state->invoice = FALSE; + $order_state->paid = FALSE; + + if(!$order_state->add()) + return FALSE; + + Configuration::updateValue('MOLLIE_STATUS_OPEN', (int)$order_state->id); + + return TRUE; + } } diff --git a/mollie/upgrade/Upgrade-1.0.2.php b/mollie/upgrade/Upgrade-1.0.2.php new file mode 100644 index 000000000..82dd4c932 --- /dev/null +++ b/mollie/upgrade/Upgrade-1.0.2.php @@ -0,0 +1,12 @@ +installOpenState(); +} \ No newline at end of file diff --git a/mollie/views/templates/hook/mollie_config.tpl b/mollie/views/templates/hook/mollie_config.tpl index a4edc4cd5..527035044 100644 --- a/mollie/views/templates/hook/mollie_config.tpl +++ b/mollie/views/templates/hook/mollie_config.tpl @@ -171,15 +171,17 @@ - - - - - -
- - - + {if $name != Mollie_API_Object_Payment::STATUS_OPEN} + + + + + +
+ + + + {/if} {/foreach} {$title_debug} diff --git a/tests/unittests/mollieTest.php b/tests/unittests/mollieTest.php index d0504cdaa..60d79b5b4 100644 --- a/tests/unittests/mollieTest.php +++ b/tests/unittests/mollieTest.php @@ -14,6 +14,7 @@ public function setUp() 'updateConfigValue', 'display', '_getUpdateXML', + 'installOpenState', )); $this->mollie->version = '1.0.0'; @@ -36,6 +37,10 @@ public function testInstall() ->method('initConfigValue') ->will($this->returnValue(TRUE)); + $this->mollie->expects($this->once()) + ->method("installOpenState") + ->will($this->returnValue(TRUE)); + // execute $this->mollie->install(); }