0

I'm having an issue on my Magento 1.7 that is related to this one (Paypal Express not including Tax with OneStepCheckout) but it's not the same. In that case, the total is incorrect in paypal, in my case, the totals are correct in paypal, but the new order in magento doesn't include any taxes. These are the steps to reproduce and the problems I have:

  • Non registered customer adds a product to the basket and goes to checkout (onestepcheckout)
  • Customer introduces all the data, including passwords (it's mandatory to register before purchasing)
  • Selects Paypal Express and proceeds with the payment.
  • In Paypal window, the totals are correct (product price + taxes)
  • Payment is OK and the customer returns to the website

Errors:

  1. When the customer goes to his account, the order total doesn't include any taxes
  2. The customer is assigned to the group 'Not logged in', even though it's registered during the checkout

Has anyone experienced the same issue?

Thanks

1
  • Please contact extension support, they will solve this for you
    – Anton S
    May 24, 2014 at 6:55

1 Answer 1

1

After some investigation I found that when the class

app/code/core/Mage/Paypal/Model/Express/Checkout.php

creates the new user, it doesn't assign it to any group. The result is the problem I described below.

The solution is simple then:

· Rewrite that class:

<global>
    <models>
        <paypal>
            <rewrite> 
                <express_checkout>Bqreaders_Paypal_Model_Express_Checkout</express_checkout>
            </rewrite>
        </paypal>
    </models>
</global>

· Rewrite the function _prepareNewCustomerQuote(). Just add:

    $customer->setGroupId(Mage::getStoreConfig('customer/create_account/default_group'));

At the section where it sets all the customer data.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.