Harmonisation
This commit is contained in:
parent
3aca7c4e2e
commit
134af30198
@ -541,30 +541,35 @@ class Paybox extends PaymentModule
|
|||||||
{
|
{
|
||||||
global $cookie;
|
global $cookie;
|
||||||
|
|
||||||
if (Tools::getValue('noCancelHook')) {
|
if (Tools::getValue('noCancelHook')) {
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!in_array($cookie->profile, array(1,7,14,11))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if ($params['order']->module != $this->name) {
|
if (!($order = $params['order']) || !Validate::isLoadedObject($order)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!($order = $params['order']) OR !Validate::isLoadedObject($order)) {
|
if ($order->module != $this->name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strtolower($order->payment) != "paybox") {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$order->hasBeenPaid()) {
|
||||||
|
mail('karen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
|
mail('doreen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
|
mail('contact@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($cookie->profile, array(1,7,14,11))) {
|
$this->refundShipping($order);
|
||||||
if (!$order->hasBeenPaid()) {
|
|
||||||
// mail('thibault@antadis.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
|
||||||
mail('karen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
|
||||||
mail('doreen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
|
||||||
mail('contact@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
|
||||||
} else {
|
|
||||||
if (strtolower($order->payment) == "paybox") {
|
|
||||||
$this->refundShipping($order);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -575,36 +580,41 @@ class Paybox extends PaymentModule
|
|||||||
public function hookcancelProduct($params)
|
public function hookcancelProduct($params)
|
||||||
{
|
{
|
||||||
global $cookie;
|
global $cookie;
|
||||||
|
|
||||||
|
if (!Tools::isSubmit('generateCreditSlip')) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!in_array($cookie->profile, array(1,7,14,11))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if ($params['order']->module != $this->name) {
|
if (!($order = $params['order']) || !Validate::isLoadedObject($order)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!($order_detail = new OrderDetail((int)($params['id_order_detail'])))
|
if ($order->module != $this->name) {
|
||||||
|| !Validate::isLoadedObject($order_detail)) {
|
return false;
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
|
if (strtolower($order->payment) != "paybox") {
|
||||||
$employee = new Employee((int) $cookie->id_employee);
|
return false;
|
||||||
if (!Validate::isLoadedObject($employee)) {
|
}
|
||||||
return false;
|
|
||||||
}
|
if (!$order->hasBeenPaid()) {
|
||||||
|
mail('karen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
if (Tools::isSubmit('generateCreditSlip')) {
|
mail('doreen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
if (in_array($cookie->profile, array(1,7,14,11))) {
|
mail('contact@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
$order = new Order($order_detail->id_order);
|
|
||||||
if ($order->payment == "Paybox") {
|
return false;
|
||||||
if (!$order->hasBeenPaid()) {
|
}
|
||||||
// mail('thibault@antadis.com', 'Erreur remboursement la commande nest pas valide pour etre rembourse', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
|
||||||
mail('karen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
$order_detail = new OrderDetail((int)$params['id_order_detail']);
|
||||||
mail('doreen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
if (!$order_detail || !Validate::isLoadedObject($order_detail)) {
|
||||||
mail('contact@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
return false;
|
||||||
} else {
|
}
|
||||||
$this->refundProduct($params['id_order_detail']);
|
|
||||||
}
|
$this->refundProduct($params['id_order_detail']);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -625,8 +635,9 @@ class Paybox extends PaymentModule
|
|||||||
} else {
|
} else {
|
||||||
$products = $order->getProducts();
|
$products = $order->getProducts();
|
||||||
$quantity_available = $order_detail->product_quantity;
|
$quantity_available = $order_detail->product_quantity;
|
||||||
|
$cancel_quantity = Tools::getValue('cancelQuantity');
|
||||||
|
|
||||||
if ($_POST['cancelQuantity'][(int) $order_detail->id] <= $quantity_available) {
|
if ($cancel_quantity[(int) $order_detail->id] <= $quantity_available) {
|
||||||
|
|
||||||
// Frais de port
|
// Frais de port
|
||||||
$total_shipping = (int) Db::getInstance()->getValue('
|
$total_shipping = (int) Db::getInstance()->getValue('
|
||||||
@ -644,7 +655,7 @@ class Paybox extends PaymentModule
|
|||||||
AND `id_order_detail` != '.(int) $order_detail->id.'
|
AND `id_order_detail` != '.(int) $order_detail->id.'
|
||||||
');
|
');
|
||||||
|
|
||||||
$amt = $products[(int) $order_detail->id]['product_price_wt'] * (int) ($_POST['cancelQuantity'][(int) $order_detail->id]);
|
$amt = $products[(int) $order_detail->id]['product_price_wt'] * (int) ($cancel_quantity[(int) $order_detail->id]);
|
||||||
$montant = min($amt, $order->total_paid_real - ((int) $total_shipping * $order->total_shipping) - $total_refunded);
|
$montant = min($amt, $order->total_paid_real - ((int) $total_shipping * $order->total_shipping) - $total_refunded);
|
||||||
|
|
||||||
// Call Paybox and make the refund - shipping refund is made outside
|
// Call Paybox and make the refund - shipping refund is made outside
|
||||||
@ -695,7 +706,6 @@ class Paybox extends PaymentModule
|
|||||||
$refund = $this->sendRefundPaybox($montant, 978, $transaction['num_transaction'], $order->id_cart, $transaction['num_appel']);
|
$refund = $this->sendRefundPaybox($montant, 978, $transaction['num_transaction'], $order->id_cart, $transaction['num_appel']);
|
||||||
|
|
||||||
if (!$refund) {
|
if (!$refund) {
|
||||||
// mail('thibault@antadis.com', 'Erreur dans le remboursement des shippings', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
|
||||||
mail('karen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
mail('karen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
||||||
mail('doreen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
mail('doreen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
||||||
mail('contact@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
mail('contact@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order->id);
|
||||||
|
@ -690,69 +690,109 @@ class PayPal extends PaymentModule
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!in_array($cookie->profile, array(1,7,14,11))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$this->isPayPalAPIAvailable()) {
|
if (!$this->isPayPalAPIAvailable()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
elseif ($params['order']->module != $this->name
|
|
||||||
|| !($order = $params['order']) || !Validate::isLoadedObject($order)) {
|
if (!($order = $params['order']) || !Validate::isLoadedObject($order)) {
|
||||||
return false;
|
|
||||||
}
|
|
||||||
elseif (!$order->hasBeenPaid()) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($order->module != $this->name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strtolower($order->payment) != "paypal") {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$order->hasBeenPaid()) {
|
||||||
|
mail('karen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
|
mail('doreen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
|
mail('contact@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$paypal_order = PayPalOrder::getOrderById((int)$order->id);
|
$paypal_order = PayPalOrder::getOrderById((int)$order->id);
|
||||||
if (!$paypal_order) {
|
if (!$paypal_order) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($cookie->profile, array(1,7,14,11))) {
|
// Get product amount to refund
|
||||||
if (!$order->hasBeenPaid()) {
|
$amount = $order->total_shipping;
|
||||||
mail('karen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
|
||||||
mail('doreen@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
if ($amount > 0){
|
||||||
mail('contact@bebeboutik.com', 'Erreur remboursement', 'Erreur de remboursement sur la commande ' . $order_detail->id_order . ' la commande n\'a pas été payée.');
|
$refund = $this->_makeRefund($paypal_order['id_transaction'], (int)$order->id, $amount);
|
||||||
} else {
|
if (!$refund) {
|
||||||
if (strtolower($order->payment) == "paypal") {
|
mail('karen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order_detail->id_order);
|
||||||
|
mail('doreen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order_detail->id_order);
|
||||||
// Refund shipping
|
mail('contact@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order_detail->id_order);
|
||||||
//$refund = $this->_makeRefund($paypal_order['id_transaction'], (int)$order->id, $amount);
|
} else {
|
||||||
}
|
$this->refundSave($order->id, 0, $amount, $cookie->id_employee);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hookCancelProduct($params)
|
public function hookCancelProduct($params)
|
||||||
{
|
{
|
||||||
if (!$this->isPayPalAPIAvailable()) {
|
global $cookie;
|
||||||
|
|
||||||
|
if (!in_array($cookie->profile, array(1,7,14,11))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$this->isPayPalAPIAvailable()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!($order = $params['order']) || !Validate::isLoadedObject($order)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($order->module != $this->name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strtolower($order->payment) != "paypal") {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$order->hasBeenPaid()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
elseif ($params['order']->module != $this->name
|
|
||||||
|| !($order = $params['order']) || !Validate::isLoadedObject($order)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
elseif (!$order->hasBeenPaid()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$order_detail = new OrderDetail((int)$params['id_order_detail']);
|
|
||||||
if (!$order_detail || !Validate::isLoadedObject($order_detail))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
$paypal_order = PayPalOrder::getOrderById((int)$order->id);
|
$paypal_order = PayPalOrder::getOrderById((int)$order->id);
|
||||||
if (!$paypal_order) {
|
if (!$paypal_order) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$order_detail = new OrderDetail((int)$params['id_order_detail']);
|
||||||
|
if (!$order_detail || !Validate::isLoadedObject($order_detail)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$products = $order->getProducts();
|
$products = $order->getProducts();
|
||||||
$cancel_quantity = Tools::getValue('cancelQuantity');
|
$cancel_quantity = Tools::getValue('cancelQuantity');
|
||||||
$message = $this->l('Cancel products result:').'<br>';
|
$message = $this->l('Cancel products result:').'<br>';
|
||||||
|
|
||||||
// Get product amount to refund (HT)
|
// Get product amount to refund
|
||||||
$amount = (float)($products[(int)$order_detail->id]['product_price_wt'] * (int)$cancel_quantity[(int)$order_detail->id]);
|
$amount = (float)($products[(int)$order_detail->id]['product_price_wt'] * (int)$cancel_quantity[(int)$order_detail->id]);
|
||||||
|
|
||||||
if ($amount > 0){
|
if ($amount > 0){
|
||||||
$refund = $this->_makeRefund($paypal_order['id_transaction'], (int)$order->id, $amount);
|
$refund = $this->_makeRefund($paypal_order['id_transaction'], (int)$order->id, $amount);
|
||||||
|
if (!$refund) {
|
||||||
|
mail('karen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order_detail->id_order);
|
||||||
|
mail('doreen@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order_detail->id_order);
|
||||||
|
mail('contact@bebeboutik.com', 'Erreur dans le remboursement', 'Erreur remboursement échoué pour la commande ' . $order_detail->id_order);
|
||||||
|
} else {
|
||||||
|
$this->refundSave($order_detail->id_order, $order_detail->id, $amount, $cookie->id_employee);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$refund = array();
|
$refund = array();
|
||||||
$message .= $this->l('Transaction error because of the amount of the cancel product!').'<br>';
|
$message .= $this->l('Transaction error because of the amount of the cancel product!').'<br>';
|
||||||
@ -762,6 +802,28 @@ class PayPal extends PaymentModule
|
|||||||
$this->_addNewPrivateMessage((int)$order->id, $message);
|
$this->_addNewPrivateMessage((int)$order->id, $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save refund transaction in BDD when its OK
|
||||||
|
* @param int $id_order
|
||||||
|
* @param int $id_order_detail
|
||||||
|
* @param int $montant
|
||||||
|
* @param int $id_employee
|
||||||
|
*/
|
||||||
|
protected function refundSave($id_order, $id_order_detail = 0, $montant, $id_employee)
|
||||||
|
{
|
||||||
|
Db::getInstance()->execute('
|
||||||
|
INSERT INTO `'._DB_PREFIX_.'refund_transaction`
|
||||||
|
(`id_order`, `id_order_detail`, `amount`, `date`, `id_employee`)
|
||||||
|
VALUES (
|
||||||
|
'. (int)$id_order .',
|
||||||
|
'. (int)$id_order_detail .',
|
||||||
|
'. $montant * 100 .',
|
||||||
|
"'. date('Y-m-d H:i:s') .'",
|
||||||
|
'. (int)$id_employee .'
|
||||||
|
)'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public function hookBackOfficeHeader()
|
public function hookBackOfficeHeader()
|
||||||
{
|
{
|
||||||
if ((strcmp(Tools::getValue('configure'), $this->name) === 0) ||
|
if ((strcmp(Tools::getValue('configure'), $this->name) === 0) ||
|
||||||
|
Loading…
Reference in New Issue
Block a user