diff --git a/paynl_paymentmethods/controllers/front/payment.php b/paynl_paymentmethods/controllers/front/payment.php index 6b277a3..1cd98e5 100644 --- a/paynl_paymentmethods/controllers/front/payment.php +++ b/paynl_paymentmethods/controllers/front/payment.php @@ -130,14 +130,14 @@ public function initContent() } $arrEnduser['emailAddress'] = $customer->email; - + $arrEnduser['gender'] = $customer->id_gender == 2 ? 'F' : 'M'; // delivery address $arrAddress = array(); $strAddress = $deliveryAddress->address1 . $deliveryAddress->address2; $arrStreetHouseNr = Pay_Helper::splitAddress($strAddress); $arrAddress['streetName'] = $arrStreetHouseNr[0]; - $arrAddress['streetNumber'] = $arrStreetHouseNr[1]; + $arrAddress['streetNumber'] = !empty($arrStreetHouseNr[1]) ? substr($arrStreetHouseNr[1],0,44) : ''; $arrAddress['zipCode'] = $deliveryAddress->postcode; $arrAddress['city'] = $deliveryAddress->city; $country = new Country($deliveryAddress->id_country); @@ -153,7 +153,7 @@ public function initContent() $strAddress = $invoiceAddress->address1 . $invoiceAddress->address2; $arrStreetHouseNr = Pay_Helper::splitAddress($strAddress); $arrAddress['streetName'] = $arrStreetHouseNr[0]; - $arrAddress['streetNumber'] = $arrStreetHouseNr[1]; + $arrAddress['streetNumber'] = !empty($arrStreetHouseNr[1]) ? substr($arrStreetHouseNr[1],0,44) : ''; $arrAddress['zipCode'] = $invoiceAddress->postcode; $arrAddress['city'] = $invoiceAddress->city; $country = new Country($invoiceAddress->id_country); @@ -211,18 +211,17 @@ public function initContent() $description = trim($description); $apiStart->setDescription($description); $apiStart->setExtra1('CartId: ' . $cart->id); + $apiStart->setObject('prestashop16 ' . $module->getVersion()); + $apiStart->setOrderNumber($cart->id); $apiStart->setPaymentOptionId($paymentOptionId); $finishUrl = Context::getContext()->link->getModuleLink('paynl_paymentmethods', 'return'); $exchangeUrl = Context::getContext()->link->getModuleLink('paynl_paymentmethods', 'exchange'); - $apiStart->setFinishUrl($finishUrl); $apiStart->setExchangeUrl($exchangeUrl); - $apiStart->setAmount(round($total * 100)); - $apiStart->setCurrency($currencyCode); $result = $apiStart->doRequest(); @@ -238,7 +237,6 @@ public function initContent() Tools::redirect($result['transaction']['paymentURL']); -//$url = $paynl->startTransaction($cart); } catch (Exception $e) { echo $e->getMessage(); } diff --git a/paynl_paymentmethods/includes/classes/Pay/Api/Start.php b/paynl_paymentmethods/includes/classes/Pay/Api/Start.php index 9a8a6e6..5539d81 100644 --- a/paynl_paymentmethods/includes/classes/Pay/Api/Start.php +++ b/paynl_paymentmethods/includes/classes/Pay/Api/Start.php @@ -24,9 +24,10 @@ class Pay_Api_Start extends Pay_Api { private $_info; private $_tool; private $_object; + private $_ordernumber; private $_domainId; private $_transferData; - + private $_products = array(); public function setCurrency($currency){ @@ -44,7 +45,10 @@ public function setTool($tool){ public function setObject($object){ $this->_object = $object; } - + public function setOrderNumber($ordernumber) { + $this->_ordernumber = $ordernumber; + } + public function setTransferData($transferData){ $this->_transferData = $transferData; } @@ -232,11 +236,12 @@ protected function _getPostData() { if (!empty($this->_exchangeUrl)) { $data['transaction']['orderExchangeUrl'] = $this->_exchangeUrl; } - if (!empty($this->_description)) { $data['transaction']['description'] = $this->_description; } - + if (!empty($this->_ordernumber)) { + $data['transaction']['orderNumber'] = $this->_ordernumber; + } if (!empty($this->_paymentOptionSubId)) { $data['paymentOptionSubId'] = $this->_paymentOptionSubId; } @@ -270,6 +275,7 @@ protected function _getPostData() { $data['enduser'] = $this->_enduser; } + if (!empty($this->_extra1)) { $data['statsData']['extra1'] = $this->_extra1; } diff --git a/paynl_paymentmethods/includes/classes/Pay/Helper/Transaction.php b/paynl_paymentmethods/includes/classes/Pay/Helper/Transaction.php index 69a9afc..2124494 100644 --- a/paynl_paymentmethods/includes/classes/Pay/Helper/Transaction.php +++ b/paynl_paymentmethods/includes/classes/Pay/Helper/Transaction.php @@ -67,15 +67,8 @@ public static function processTransaction($transactionId, $dry_run = false) throw new Pay_Exception_Notice('Status already processed'); } - //update the transaction state - self::updateTransactionState($transactionId, $stateText); - - $statusPaid = Configuration::get('PAYNL_SUCCESS'); - $statusCancel = Configuration::get('PAYNL_CANCEL'); - - if ($stateText == 'PAID') { - $id_order_state = $statusPaid; + $id_order_state = Configuration::get('PAYNL_SUCCESS'); /** @var CartCore $cart */ $cart = new Cart($cartId); @@ -97,11 +90,8 @@ public static function processTransaction($transactionId, $dry_run = false) $cart->save(); $paymentMethodName = $module->getPaymentMethodName($transaction['option_id']); - - $paidAmount = $transactionAmount / 100; - $module->validateOrderPay((int)$cart->id, $id_order_state, $paidAmount, $extraFee, $paymentMethodName, null, array('transaction_id' => $transactionId), (int)$objCurrency->id, false, $customer->secure_key); @@ -121,11 +111,13 @@ public static function processTransaction($transactionId, $dry_run = false) $objOrder = new Order($real_order_id); $history = new OrderHistory(); $history->id_order = (int)$objOrder->id; - $history->changeIdOrderState((int)$statusCancel, $objOrder); + $history->changeIdOrderState((int)Configuration::get('PAYNL_CANCEL'), $objOrder); $history->addWithemail(); } } + self::updateTransactionState($transactionId, $stateText); + $real_order_id = Order::getOrderByCartId($cartId); return array( 'orderId' => $orderId, diff --git a/paynl_paymentmethods/paynl_paymentmethods.php b/paynl_paymentmethods/paynl_paymentmethods.php index 84ba9c1..561bc6b 100644 --- a/paynl_paymentmethods/paynl_paymentmethods.php +++ b/paynl_paymentmethods/paynl_paymentmethods.php @@ -34,6 +34,11 @@ public function __construct() } } + public function getVersion() + { + return $this->version; + } + public function getHighestVatRate(Cart $cart){ $highestVatRate = 0; $products = $cart->getProducts();