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

Записать значение переменной из JavaScript в историю заказа при подтверждении заказа?


Recommended Posts

Приветствую! Возникла необходимость сделать свой модуль оплаты. Для удобства переделываю готовый модуль оплаты Bank transfer. Все практически доделал, только не могу разобраться, как при подтверждении заказа, записать значение переменной btc_input_address из JavaScript в историю заказа.

 

image.png.98373a7e55808993a9e6e5aa413f4646.png

 

JavaScript в /catalog/view/theme/default/template/extension/payment/bank_transfer.twid:

<script type="text/javascript">
  ...
  var btc_input_address = btc_adress[Math.floor(Math.random() * btc_adress.length)]
  ...
</script>

Функция подтверждения заказа в /catalog/controller/extension/payment/bank_transfer.php:

<?php
public function confirm() {
  $json = array();
  if ($this->session->data['payment_method']['code'] == 'bank_transfer') {
    $this->load->language('extension/payment/bank_transfer');

    $this->load->model('checkout/order');

    $comment  = $this->language->get('text_instruction') . "\n\n";
    $comment .= $this->config->get('payment_bank_transfer_bank' . $this->config->get('config_language_id')) . "\n\n";
    $comment .= $this->language->get('text_payment');

    // Добавление истории в заказ
    $this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('payment_bank_transfer_order_status_id'), $comment, true);

        $json['redirect'] = $this->url->link('checkout/success');
}

Заранее благодарю за помощь!

* Версия Opencart: 3.0.2.0

 

Змінено користувачем Genry12
Надіслати
Поділитися на інших сайтах


27 минут назад, Genry12 сказал:

var btc_input_address = btc_adress[Math.floor(Math.random() * btc_adress.length)]

Биткоины? смотри апи .blockchain.com/ - я когда-то делал такую систему приема платежей.

А для добавления бтс-адреса нужно изменить функцию addOrderHistory, добавив в нее бтс-адрес и организовать его запись в БД (в соответствующей таблице добавить поле для бтс-адреса).

Надіслати
Поділитися на інших сайтах

Не суть важно, что хранится в переменной, биткоин-адрес или что-то еще, переменная btc_input_address представлена для примера. Необходимо записать в историю заказа, некие данные, сгенерированные скриптом в файле *.twid. Понимаю, что для этого используется функция addOrderHistory в моем случае в файле bank_transfer.php, и за передачу комментария отвечает ее переменная $comment. Но не могу разобраться как записать значение переменной из JavaScript в переменную $comment.

Надіслати
Поділитися на інших сайтах


15 часов назад, Genry12 сказал:

как при подтверждении заказа, записать значение переменной btc_input_address из JavaScript в историю заказа

через ajax

 

смотрите как штатное добавление истории заказа сделано в admin\view\template\sale\order_info.twig

часть с

$('#button-history').on('click', function() {

Надіслати
Поділитися на інших сайтах

 

2 часа назад, Genry12 сказал:

Не суть важно, что хранится в переменной, биткоин-адрес или что-то еще, переменная btc_input_address представлена для примера. Необходимо записать в историю заказа, некие данные, сгенерированные скриптом в файле *.twid. Понимаю, что для этого используется функция addOrderHistory в моем случае в файле bank_transfer.php, и за передачу комментария отвечает ее переменная $comment. Но не могу разобраться как записать значение переменной из JavaScript в переменную $comment.

url: 'index.php?route=extension/payment/bank_transfer/confirm&comment=' + btc_input_address,

и в контроллере через $this->request->get['comment'] получить

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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