0

I've a problem in the order resume when a user is applying a discount code.

The total amound is wrong

In fact the subtotal is 68 + 8 (shipment) and - 6.80 (discount code) = €69.2 and not €76.0 like what's written in the page.

The payment is made with paypal and the total is correct (€69.2) but magento is putting the order in Subspected Fraud - IPN "Completed". Order is suspended as its capture amount 69,20 € is suspected to be fraudulent.

Actually the problem is happening with any discount code. How can I solve this problem?

  • discount code means coupon code or any custom discount programmatically ? – Gopal Patel Dec 9 '16 at 6:56
  • Coupon code man, sorry – Giacomo Torricelli Dec 9 '16 at 17:33
  • @GopalPatel no ideas? – Giacomo Torricelli Dec 13 '16 at 10:42
  • Such issue arise after applying programmatically custom discount. As you have applied coupon then must be you have change core code of coupon or in observer you have change the quote. – Gopal Patel Dec 13 '16 at 10:49
  • @GopalPatel the problem is that I've not changed anything in the source code of magento... – Giacomo Torricelli Dec 13 '16 at 11:45
1
+50

Are you by any chance running this on PHP7?

If so, you might be looking at error due to order in which totals are calculated. If so, please refer to this.

0

Check the setting :

Admin->System->Configuration->Sales->Tax->Calculation Setting->Tax Calculation Method Based On

Change this setting as on Total.

Also I think you are not updating grand total and base grand total when applying custom discount programmatically.

You have to update these 2 values when calculating discount.

  • "Tax Calculation Method Based On" was already "Total". I don't know where to find the grand total and base grand total options. Otherwise I tried to set "Enable Cross Border Trade" on Yes but it still doesn't change. – Giacomo Torricelli Dec 14 '16 at 7:57
  • @GiacomoTorricelli, Please put your discount calculation code in your question, then only I can help you. – Ashish Jagnani Dec 14 '16 at 9:16
  • Actually I'm using the IWD One Page checkout iwdagency.com/extensions/one-step-page-checkout.html – Giacomo Torricelli Dec 14 '16 at 9:24
  • @GiacomoTorricelli, IWD is just a checkout process. Its not calculating discount. How you are offering discount on any order ? – Ashish Jagnani Dec 14 '16 at 9:34
  • Yes IWD is the checkout extension but it integrate the discount code textbox in that page so I think it's in their code the coupon management. I'm generating coupons with Shopping Cart Price Rules obv. – Giacomo Torricelli Dec 14 '16 at 9:39
0

Try this:-

Replace the following in Mage_Paypal_Model_Hostedpro_Request

protected function _getOrderData(Mage_Sales_Model_Order $order)

     {
                $request = array(
                    'subtotal'      => $this->_formatPrice($order->getBaseSubtotal()),
                    'tax'           => $this->_formatPrice($order->getBaseTaxAmount()),
                    'shipping'      => $this->_formatPrice($order->getBaseShippingAmount()),
                    'invoice'       => $order->getIncrementId(),
                    'address_override' => 'true',
                    'currency_code'    => $order->getBaseCurrencyCode(),
                    'buyer_email'      => $order->getCustomerEmail(),
                    'discount'         => $this->_formatPrice(
                        $order->getBaseGiftCardsAmount()
                        + abs($order->getBaseDiscountAmount())
                        + $order->getBaseCustomerBalanceAmount()
                    ),
                );

with this

protected function _getOrderData(Mage_Sales_Model_Order $order)
    {
        $request = array(
            'subtotal'      => $this->_formatPrice($order->getBaseGrandTotal()),
            'invoice'       => $order->getIncrementId(),
            'address_override' => 'true',
            'currency_code'    => $order->getBaseCurrencyCode(),
            'buyer_email'      => $order->getCustomerEmail(),
            ),
        );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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