Jump to content

Disable "sign In To See Payment Methods" Prestashop 1.5


remyessers

Recommended Posts

Hi,

 

I want to disable the "sign in to see payment methods" requirement on the checkout page. I always want the payment methods to be visible, because they are available in every country. It's not user friendly, especially not for guest checkout! They must save their account information first before they can see any payment methods.

 

Best regards,

 

Remy

Link to comment
Share on other sites

Agreed this is pretty off putting. As a customer I would never sign up to just to see if i have the means to pay.

 

In fact i usually check payment methods and shipping costs before anything else.

 

I'll have a look through the code and see where this is set, but it seems like an odd feature in the 1st place

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

Any update on this?

It's 2013, haven't seen any other shopping system where you have to first save your address and then see the payment options, for Guest Checkout.

 

There is the same question, but for older version of PS. File structure completely changed since then. Even though I hope this helps.

 

http://www.prestashop.com/forums/index.php?/topic/112752-solved-how-to-skip-sign-in-to-see-payment-methods-in-one-page-checkout/page__view__findpost__p__569042

Link to comment
Share on other sites

If you want to see payment methods without sign in, you need to edit controllers/front/OrderOpcController.php:431 (PS 1.5.4.1).

 

(You can easilly use overrides to do this)

 

Here you want to better handle condition:

if (!$this->isLogged) return '<p class="warning">'.Tools::displayError('Please sign in to see payment methods.').'</p>';

 

I changed mine to:

if (!$this->isLogged){
  if ($this->context->cart->OrderExists())
 return '<p class="warning">'.Tools::displayError('Error: This order has already been validated.').'</p>';
  if (!$this->context->cart->checkQuantities())
 return '<p class="warning">'.Tools::displayError('An item in your cart is no longer available. You cannot proceed with your order.').'</p>';
   $return = Hook::exec('displayPayment').'<p class="warning">'.Tools::displayError('Please sign in to see payment methods.').'</p>';
   if (!$return)
 return '<p class="warning">'.Tools::displayError('No payment method is available for use at this time. ').'</p>';

   }else{

 

I know this is horrible solution, but at least it's a solution. :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...