[v3.0.2.0 - Fix] - Admin Payment Extension - Free Checkout
Posted: Thu Oct 12, 2017 4:24 am
The following steps are for Opencart v3.0.2.0 release. If your site is running in production, put your site under maintenance.
1 - Take a screenshot of your admin free checkout payment module configurations.
2 - Uninstall the free checkout payment module.
3 - In admin/controller/extension/payment/free_checkout.php file,
find:
replace with:
In admin/view/template/extension/payment/free_checkout.twig file,
find:
replace with:
4 - Reinstall the free checkout payment module.
5 - Reconfigure the free checkout payment module.
6 - Test a transaction during checkout.
7 - When successful, disable the site maintenance (if running in production).
This should overall resolve the status issues along with other variables.
1 - Take a screenshot of your admin free checkout payment module configurations.
2 - Uninstall the free checkout payment module.
3 - In admin/controller/extension/payment/free_checkout.php file,
find:
Code: Select all
if (isset($this->request->post['free_checkout_order_status_id'])) {
$data['free_checkout_order_status_id'] = $this->request->post['free_checkout_order_status_id'];
} else {
$data['free_checkout_order_status_id'] = $this->config->get('free_checkout_order_status_id');
}
Code: Select all
if (isset($this->request->post['payment_free_checkout_order_status_id'])) {
$data['payment_free_checkout_order_status_id'] = $this->request->post['payment_free_checkout_order_status_id'];
} else {
$data['payment_free_checkout_order_status_id'] = $this->config->get('payment_free_checkout_order_status_id');
}
find:
Code: Select all
<select name="free_checkout_order_status_id" id="input-order-status" class="form-control">
{% for order_status in order_statuses %}
{% if order_status.order_status_id == free_checkout_order_status_id %}
<option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option>
{% else %}
<option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option>
{% endif %}
{% endfor %}
Code: Select all
<select name="payment_free_checkout_order_status_id" id="input-order-status" class="form-control">
{% for order_status in order_statuses %}
{% if order_status.order_status_id == payment_free_checkout_order_status_id %}
<option value="{{ order_status.order_status_id }}" selected="selected">{{ order_status.name }}</option>
{% else %}
<option value="{{ order_status.order_status_id }}">{{ order_status.name }}</option>
{% endif %}
{% endfor %}
5 - Reconfigure the free checkout payment module.
6 - Test a transaction during checkout.
7 - When successful, disable the site maintenance (if running in production).
This should overall resolve the status issues along with other variables.