Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Filin86

Новачок
  
  • Публікації

    36
  • З нами

  • Відвідування

Усі публікації користувача Filin86

  1. Запостил тему в общих вопросах, но там не отвечают. Портирую на Opencart 1.5.1.3 Админка и передача параметров в РБК работают нормально. НО! После оплаты не регистрирует заказ. Не могу понять на какой адрес возвращаться. Если возвращаемся в 'checkout/success', то просто отображается сообщение что все хорошо, а заказа в списке заказов не появляется. Если возвращаемся в 'paymnet/rbkmoney/callback', то файл не найден или время ожидания истекло. Попробовал добавить функцию confirm - ноль внимания. Подскажите, что не так делаю? /catalog/controller/payment/rbkmoney.php <?php class ControllerPaymentRbkmoney extends Controller { protected function index() { $this->data['button_confirm'] = $this->language->get('button_confirm'); $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $this->data['action'] = 'https://rbkmoney.ru/acceptpurchase.aspx'; $this->data['eshopId'] = $this->config->get('rbkmoney_eshopid'); $this->data['orderId'] = $this->session->data['order_id']; $this->data['recipientAmount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false); $this->data['recipientCurrency'] = $order_info['currency_code']; $this->data['successUrl'] = $this->url->link('checkout/success'); $this->data['failUrl'] = $this->url->link('checkout/checkout', '', 'SSL'); $products = ''; foreach ($this->cart->getProducts() as $product) { $products .= $product['quantity'] . ' x ' . $product['name'] . ', '; } $this->data['serviceName'] = $products; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/rbkmoney.tpl')) { $this->template = $this->config->get('config_template') . '/template/payment/rbkmoney.tpl'; } else { $this->template = 'default/template/payment/rbkmoney.tpl'; } $this->render(); } public function confirm() { $this->load->model('checkout/order'); $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('rbkmoney_order_status_id')); } public function callback() { if (isset($this->request->post['hash'])) { $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->request->post['orderId']); if ( ! $order_info) { echo 'ERROR: Нет такого заказа!'; return; } $hash = $this->config->get('rbkmoney_eshopid') . '::' . $order_info['order_id'] . '::' . $this->request->post['serviceName'] . '::' . $this->request->post['eshopAccount'] . '::' . $this->request->post['recipientAmount'] . '::' . $this->request->post['recipientCurrency'] . '::' . $this->request->post['paymentStatus'] . '::' . $this->request->post['userName'] . '::' . $this->request->post['userEmail'] . '::' . $this->request->post['paymentData'] . '::' . $this->config->get('rbkmoney_secret_key'); $hash = md5($hash); if($this->request->post['hash'] != $hash ) { return; } $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('rbkmoney_order_status_id'), 'RBKmoney', true); if( $order_info['order_status_id'] != $this->config->get('rbkmoney_order_status_id')) { $this->model_checkout_order->update($order_info['order_id'], $this->config->get('rbkmoney_order_status_id'),'RBKmoney', true); } } } } ?>
  2. Портирую на Opencart 1.5.1. Админка и передача параметров в РБК работают нормально. НО! После оплаты не регистрирует заказ. Не могу понять на какой адрес возвращаться. Если возвращаемся в 'checkout/success', то просто отображается сообщение что все хорошо, а заказа в списке заказов не появляется. Если возвращаемся в 'paymnet/rbkmoney/callback', то файл не найден или время ожидания истекло. Попробовал добавить функцию confirm - ноль внимания. Подскажите, что не так делаю? /catalog/controller/payment/rbkmoney.php <?php class ControllerPaymentRbkmoney extends Controller { protected function index() { $this->data['button_confirm'] = $this->language->get('button_confirm'); $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $this->data['action'] = 'https://rbkmoney.ru/acceptpurchase.aspx'; $this->data['eshopId'] = $this->config->get('rbkmoney_eshopid'); $this->data['orderId'] = $this->session->data['order_id']; $this->data['recipientAmount'] = $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false); $this->data['recipientCurrency'] = $order_info['currency_code']; $this->data['successUrl'] = $this->url->link('checkout/success'); $this->data['failUrl'] = $this->url->link('checkout/checkout', '', 'SSL'); $products = ''; foreach ($this->cart->getProducts() as $product) { $products .= $product['quantity'] . ' x ' . $product['name'] . ', '; } $this->data['serviceName'] = $products; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/rbkmoney.tpl')) { $this->template = $this->config->get('config_template') . '/template/payment/rbkmoney.tpl'; } else { $this->template = 'default/template/payment/rbkmoney.tpl'; } $this->render(); } public function confirm() { $this->load->model('checkout/order'); $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('rbkmoney_order_status_id')); } public function callback() { if (isset($this->request->post['hash'])) { $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->request->post['orderId']); if ( ! $order_info) { echo 'ERROR: Нет такого заказа!'; return; } $hash = $this->config->get('rbkmoney_eshopid') . '::' . $order_info['order_id'] . '::' . $this->request->post['serviceName'] . '::' . $this->request->post['eshopAccount'] . '::' . $this->request->post['recipientAmount'] . '::' . $this->request->post['recipientCurrency'] . '::' . $this->request->post['paymentStatus'] . '::' . $this->request->post['userName'] . '::' . $this->request->post['userEmail'] . '::' . $this->request->post['paymentData'] . '::' . $this->config->get('rbkmoney_secret_key'); $hash = md5($hash); if($this->request->post['hash'] != $hash ) { return; } $this->model_checkout_order->confirm($this->session->data['order_id'], $this->config->get('rbkmoney_order_status_id'), 'RBKmoney', true); if( $order_info['order_status_id'] != $this->config->get('rbkmoney_order_status_id')) { $this->model_checkout_order->update($order_info['order_id'], $this->config->get('rbkmoney_order_status_id'),'RBKmoney', true); } } } } ?>
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.