Trying to setup payment methods. Cash On Delivery for a start.
This is what I have done so far:
Countries: Deleted them all except South Africa
Zones: All but South Africa Zones
Taxes: Setup
Shipping: Local Pickup Only
When I checkout I get:
Warning: No Payment options are available. Please contact us for assistance!
What am I missing?
Thanks.
Regards,
Barry
Running on my local machine as I am new to opencart. Once I have this I will setup on domain.
XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart
I set the Geo Zone to South Africa - All Zones. No luck.
Here can be no confusion as to the Country or the Zones. I have removed every single country with their respective zones except that of South Africa.
Yet no payment method. And Cash On Delivery is the only one installed.and enabled.
XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart
2nd - Make sure that the module Cash on Delivery is set to your desired zone
3rd - Make sure that this module is enabaled
Whether your module is enabled,
And configured correctly?
South China
Opencart development team
wechat/QQ:1132932051
E-mail:webmaster@opencarts.cn
Websize:http://www.opencarts.cn
Introduction:
We have 30 full-time Opencart development engineer, is the largest Opencart development team in Southern China District, has rich experience in Opencart and ERP integrated development, we provide the electricity supplier industry solutions and ERP solutions.
pipoy wrote:1st - check if your test customer is registered with address meeting the zone condition "All but South Africa Zones"
2nd - Make sure that the module Cash on Delivery is set to your desired zone
3rd - Make sure that this module is enabaled
Test Customer is Country South Africa
Cash On Delivery is set to South Africa
Module is Installed and Enabled
Thank you for your input. Appreciated.
XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart
Thanks again. Really appreciate the questions. Double checking everything.opencartmart wrote:Is there any module installed that is restricting it to appear? I mean, are you using any payment modules filter or restrictor?
Short answer to both questions: No.
I installed opencart.
I removed all references to any Country but South Africa.
Rand (ZAR) is Default currency
COD is set to South Africa
There are no other Zones available but South Africa
All payment modules have been uninstalled except COD.
No new modules have been installed. No restrictions.
Here is a breakdown:
Payment COD Setup:
Total: 0.01
Order Status: Pending
Geo Zone: South Africa
Status: Enabled
Sort Order: 5
Settings System Setup - Local:
Country: South Africa
Currency: Rand
Settings System Setup - Option:
Use Store Tax Address: Shipping Address
Use Customer Tax Address: Shipping Address
Checkout:
Order Status: Pending
Settings Localisation - Currencies:
Rand (Default)
Settings Localisation - Countries:
South African (Default)
Settings Localisation - Zones:
South African States listed only. 9 states in total
Settings Localisation - Geo Zones:
South Africa
Geo Zone Name: South Africa
Description: South Africa
Country: South Africa
Zone: All Zones
All Taxes use South Africa. No other countries in DB to reference.
Code: Select all
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('cod_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
if ($this->config->get('cod_total') > 0 && $this->config->get('cod_total') > $total) {
$status = false;
} elseif (!$this->cart->hasShipping()) {
$status = false;
} elseif (!$this->config->get('cod_geo_zone_id')) {
$status = true;
} elseif ($query->num_rows) {
$status = true;
} else {
$status = false;
}
1. COD limit amount is greater than order total
2. If the product you are trying to purchase does not need shipping option
3. If COD GEO zone does not match with customer GEO zone.
Do you think all three conditions are valid during checkout?
XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart
Oh man after all that!!!! It added the item to the cart without it asking about the product Options. Then this means a bug. Something to be fixed. I created a new product with no options and it all worked.opencartmart wrote:Look at code inside COD:
According to code, COD can be validated to false any of following reason:
1. COD limit amount is greater than order total
2. If the product you are trying to purchase does not need shipping option
3. If COD GEO zone does not match with customer GEO zone.
Do you think all three conditions are valid during checkout?
Perfect! Thanks a stack.
Where do I report this as a bug?
XForm - Opencart Form Builder
Xshippingpro - An advanced Shipping Module
Need Professional support? Skype: opencartmart
opencartmart wrote:It is not bug. If product option is not required, then it should be optional. Was it mandatory option?
I will play around and if not sorted I will open a new discussion. Thanks again for your help!
Not sure how to mark this as SOLVED.
If there is no shipping required then the COD module assumes that cash will never be taken on delivery because it can't be delivered. Makes sense, but over thinks it!!
Easy to comment out the few lines of code in the modules' PHP where its second if() statement looks for whether there is any shipping. Get rid of that and COD works the same as any other payment method.
Great for testing.
Users browsing this forum: No registered users and 288 guests