Post by tinaf » Thu Jun 07, 2018 9:32 am

Hello, I've decided to stop banging my head on the wall and ask for help.
I'm using OC 3.0.2.0 and I'm trying to use the "Free Checkout" extension.

I keep getting the checkout warning "No Payment Options Are Available". I got the same error when trying to use the "Cash on Delivery" extension, thinking that would also basically end up with a free checkout. Same error for both extensions.

Here's what I've already done: Keep in mind this cart is only for local ordering and local pickup.
  • Uninstalled and reinstalled Free Checkout Extension / The order status is set to "Processing", Status = Enabled and Sort Order = 1
  • System > Settings > Option Tab: Order Status = Processing | Processing Order Status = Processing | Complete Order Status = Complete |
  • I've cached the Theme, SAAS (Dashboard) and I've cached the Extensions > Modification. / Only one item on list (Export/Import Tool by .com)
  • System > Settings > Store: Geocode is set for Cody, Wyoming: 44.5263422, -109.0565308 N44° 31.5805', W109° 3.3918'
  • System > Localisation > Currencies: US Dollar (default)
  • System > Localisation > Countries: United States (default)
  • System > Localisation > Zones: United States | Wyoming(default) | WY
  • System > Localisation > Geo Zones: USA-WY (Country: United States | Zone: Wyoming)
  • System > Localisation > Taxes > Tax Classes: Taxable Goods > Tax Rate: WY Tax | Based on "Store Address" | Priority: "1"
  • System > Localisation > Taxes > Tax Rates: WY Tax | 0.0500 | USA-WY (Customer Group: Default)
  • Initially I couldn't get the Free Checkout Status to stay on Processing, so I did this to update now it works: viewtopic.php?t=192113
Here's the website: http://www.webportfolio.com/acms/spirit ... /index.php
Local Zip is 82414

I feel like I'm just missing something super obvious. Some immediate and thorough help would be greatly appreciated!!
Thanks! Tina

Newbie

Posts

Joined
Thu Jun 07, 2018 7:46 am

Post by Johnathan » Thu Jun 07, 2018 10:14 pm

One thing to note about Free Checkout is that it will only show up if the order total is 0.00. It's hard-coded into the extension, though it doesn't state that. If you're testing with an order over 0.00, it's not going to show up. If you need a payment method in that case, use COD.

If COD doesn't appear either, then it's a separate issue. I don't see any issues in what you described, but maybe someone else can comment.

Image Image Image Image Image


User avatar
Administrator

Posts

Joined
Fri Dec 18, 2009 3:08 am


Post by tinaf » Fri Jun 08, 2018 1:37 am

Switching to COD and trying now, because yes, non of the items were $0.00. Thanks for letting me know that this is how free checkout works!

Newbie

Posts

Joined
Thu Jun 07, 2018 7:46 am

Post by tinaf » Fri Jun 08, 2018 2:17 am

Johnathan wrote:
Thu Jun 07, 2018 10:14 pm
One thing to note about Free Checkout is that it will only show up if the order total is 0.00. It's hard-coded into the extension, though it doesn't state that. If you're testing with an order over 0.00, it's not going to show up. If you need a payment method in that case, use COD.

If COD doesn't appear either, then it's a separate issue. I don't see any issues in what you described, but maybe someone else can comment.
Thanks Johnathan!
I changed it to COD (Cash on Delivery) Total= 0.01 | Order Status = Processing | Geo Zone = USA-WY | Status= Enabled | Sort Order= 1
I cleared the caches and got the same result (error) so I tried a new browser and that was the same.

Still getting the error: No Payment Options Are Available.

I found this on another topic ( viewtopic.php?t=170475
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.
1) My cart amount was $48 and COD amount is 0.01
2) For shipping, I had it set to "Flat Rate" which isn't even right. I uninstalled "Flat Rate" and installed "Free Shipping". There isn't any shipping. It's all local pickup. Free shipping set to Total= 0.01 | Geo Zone= USA-WY | Status=Enabled. I tried it again with "Free Shipping" disabled. Same error.
3) The COD GEO zone does match the customer GEO zone.

So, my guess is that it might be in the shipping settings somewhere, but I'm just guessing :) I didn't see any shipping options in the individual products or anywhere else.

I have one product that I have options for ( Almond Cashew Cranberry Crunch ) and most of the others don't. I tested them separately - same result.

Any thoughts? TIA

Newbie

Posts

Joined
Thu Jun 07, 2018 7:46 am

Post by sw!tch » Fri Jun 08, 2018 5:23 am

What browser are you testing with? Do you have shipping required under the product settings?

You can see below the conditions required for it to be enabled.

Code: Select all

if ($this->config->get('payment_cod_total') > 0 && $this->config->get('payment_cod_total') > $total) {
			$status = false;
		} elseif (!$this->cart->hasShipping()) {
			$status = false;
		} elseif (!$this->config->get('payment_cod_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}

Full Stack Web Developer :: Send a PM for Custom Work.
Backup and learn how to recover before you make any changes!


Active Member

Posts

Joined
Sat Apr 28, 2012 2:32 pm

Post by Johnathan » Fri Jun 08, 2018 9:31 pm

If you have any mods installed, those could be affecting things. Double-check that you don't have anything related to payments or extensions, and if you do, try disabling those. Also, if you're using a quick checkout, make sure you turn that off. Some quick checkouts are just poorly coded, and they make it hard to isolate issues if they're part of the problem.

If you're using a standard installation, the usual issue is your geo zones. Some people just create the geo zone in System > Localisation > Geo Zones, but they don't assign any countries or zones to it. It sounds like you do, but double-check that to make sure that it saved properly. Also, make sure you're using WY for both your shipping and billing address (payment methods check the billing address).

If you still can't figure it out after that, you may need to hire someone to take a look at your installation. If you need to find a developer, you should post a request in the OpenCart "Commercial Support" forum, which is checked by a number of OpenCart developers. You can also try checking out the OpenCart "Partners" area.

Image Image Image Image Image


User avatar
Administrator

Posts

Joined
Fri Dec 18, 2009 3:08 am


Post by tinaf » Thu Jun 14, 2018 6:20 am

Johnathan wrote:
Fri Jun 08, 2018 9:31 pm
If you have any mods installed, those could be affecting things. Double-check that you don't have anything related to payments or extensions, and if you do, try disabling those. Also, if you're using a quick checkout, make sure you turn that off. Some quick checkouts are just poorly coded, and they make it hard to isolate issues if they're part of the problem.

If you're using a standard installation, the usual issue is your geo zones. Some people just create the geo zone in System > Localisation > Geo Zones, but they don't assign any countries or zones to it. It sounds like you do, but double-check that to make sure that it saved properly. Also, make sure you're using WY for both your shipping and billing address (payment methods check the billing address).

If you still can't figure it out after that, you may need to hire someone to take a look at your installation. If you need to find a developer, you should post a request in the OpenCart "Commercial Support" forum, which is checked by a number of OpenCart developers. You can also try checking out the OpenCart "Partners" area.
Hi Johnathan, Thanks for the reply!
• I have one extension Modification installed: Export/Import tool. I disabled it and cleared cache.

• As far as I know I have quick checkout disabled. The purchaser has to have an account.
setup via: System > Settings > Store > Option > Checkout > Guest Checkout = No

• I checked a few products that I've been testing with and made sure their "Tax Class = Taxable Goods" and that "Required Shipping = No"

For Zones, I double checked the following:
• System > Localisation > Zones > United States / WY (Default)
• System > Localisation > Geo Zones > USA-WY (country = united states / zone = wyoming)
• System > Settings > Store: Geocode is set for Cody, Wyoming: 44.5263422, -109.0565308 N44° 31.5805', W109° 3.3918'
• System > Localisation > Rates: WY Tax / 5.0 / Percentage / USA-WY
• System > Localisation > Tax Classes: Taxable Goods = WY Tax / Based on Store Address

My initial installation was via GoDaddy's Installatron.
Thanks for the advice!

Newbie

Posts

Joined
Thu Jun 07, 2018 7:46 am

Post by tinaf » Thu Jun 14, 2018 6:50 am

sw!tch wrote:
Fri Jun 08, 2018 5:23 am
What browser are you testing with? Do you have shipping required under the product settings?

You can see below the conditions required for it to be enabled.

Code: Select all

if ($this->config->get('payment_cod_total') > 0 && $this->config->get('payment_cod_total') > $total) {
			$status = false;
		} elseif (!$this->cart->hasShipping()) {
			$status = false;
		} elseif (!$this->config->get('payment_cod_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
Hi switch!
Thank you for the reply!
I've tried the checkout on Mac using Chrome, Firefox & Safari and got the same results each time.
I went through four of the products I've been testing with and all four products have been set to "Requires Shipping = No"
I set one of them to "Yes" and tried again. Now I get an additional step (Deliver Details) but when I get to Delivery Method, I still get the error: Warning: No Shipping options are available.

All items will be picked up locally and buyers will pay on pickup, no shipping is necessary.

Any other thoughts?
Thanks! Tina

Newbie

Posts

Joined
Thu Jun 07, 2018 7:46 am

Post by sw!tch » Thu Jun 14, 2018 8:36 am

Well, you enabled shipping, so now it expects that you have a valid shipping extension.

catalog/model/extension/payment/cod.php

In your COD extension model you can try replacing

Code: Select all

if ($this->config->get('payment_cod_total') > 0 && $this->config->get('payment_cod_total') > $total) {
			$status = false;
		} elseif (!$this->cart->hasShipping()) {
			$status = false;
		} elseif (!$this->config->get('payment_cod_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
with

Code: Select all

if ($this->config->get('payment_cod_total') > 0 && $this->config->get('payment_cod_total') > $total) {
		$status = false;
		} elseif (!$this->config->get('payment_cod_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
Untested, but might work for you. Disable shipping on that product again .

Backup try at your own risk, clear caches, etc.

Full Stack Web Developer :: Send a PM for Custom Work.
Backup and learn how to recover before you make any changes!


Active Member

Posts

Joined
Sat Apr 28, 2012 2:32 pm

Post by tinaf » Thu Jun 14, 2018 8:57 am

OMG! It worked!!! sw!tch - thank you!!

Newbie

Posts

Joined
Thu Jun 07, 2018 7:46 am

Post by shekharnagar » Sun Aug 11, 2019 5:11 pm

awesome!!!!!
it worked for me as well. thank you very much.
sw!tch wrote:
Thu Jun 14, 2018 8:36 am
Well, you enabled shipping, so now it expects that you have a valid shipping extension.

catalog/model/extension/payment/cod.php

In your COD extension model you can try replacing

Code: Select all

if ($this->config->get('payment_cod_total') > 0 && $this->config->get('payment_cod_total') > $total) {
			$status = false;
		} elseif (!$this->cart->hasShipping()) {
			$status = false;
		} elseif (!$this->config->get('payment_cod_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
with

Code: Select all

if ($this->config->get('payment_cod_total') > 0 && $this->config->get('payment_cod_total') > $total) {
		$status = false;
		} elseif (!$this->config->get('payment_cod_geo_zone_id')) {
			$status = true;
		} elseif ($query->num_rows) {
			$status = true;
		} else {
			$status = false;
		}
Untested, but might work for you. Disable shipping on that product again .

Backup try at your own risk, clear caches, etc.

Newbie

Posts

Joined
Tue Jun 07, 2016 6:23 pm

Post by rajshri » Fri Nov 01, 2019 3:28 pm

Its working!!! Thanks

Newbie

Posts

Joined
Fri Nov 01, 2019 3:26 pm

Post by HortiFruti » Fri Apr 03, 2020 3:29 am

O0
SWITCH
YOU ARE THE MAN
BEST 2020 to U.

Newbie

Posts

Joined
Tue Jan 21, 2020 12:23 am

Post by MysticKnight » Mon May 04, 2020 7:22 am

Thanks sw!tch!

Just when I was about to lose faith that there were people here that want to help, your information proved to be very helpful indeed. I want to say thanks not just for me, but for anyone else this helped and might not have said thanks directly.

It's community members like you that make the world a better place. I hope to pay it forward by unselfishly helping someone else the way you have.

Bill Elgin
Custom Website Design
www.billelgin.com


New member

Posts

Joined
Sat Jan 04, 2020 9:43 am

Who is online

Users browsing this forum: jagall, SohBH and 253 guests