magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.5k stars 9.31k forks source link

Paypal checkout error : 10413-The totals of the cart item amounts do not match order amounts. #6897

Closed sneha-sukumaran closed 7 years ago

sneha-sukumaran commented 8 years ago

Preconditions

  1. Magento version 2.0.7

    Steps to reproduce

1.Add a new product "Silver Ring" with price 53.68 2.Create a new coupon "OCT10" with Apply to Shipping Amount to yes and 10% discount. 3.Add 8 quantity of Silver ring product to cart. Proceed to checkout. 4.Apply coupon. 5.Select Paypal payment method and continue.

Expected result

  1. Navigate to paypal page and complete the payment.

    Actual result

  2. Navigates to shopping cart with 10413-The totals of the cart item amounts do not match order amounts. error.
alena-marchenko commented 7 years ago

Hi @sneha-sukumaran

Are you able to reproduce this issue on the latest develop branch? Thank you.

sneha-sukumaran commented 7 years ago

@alena-marchenko I did not check it on the latest branch. But i think it should be reproducible.

alena-marchenko commented 7 years ago

Hi @sneha-sukumaran

I was unable to reproduce the issue on both develop and 2.1 branch. Please provide us with debug logs that contains request to PayPal and response from it for further investigation.

joni-jones commented 7 years ago

Hi, @sneha-sukumaran . We are closing this issue because it hasn’t been updated in more than two weeks.

If you can still reproduce this issue, please, be free to reopen it.

jaywilliams commented 7 years ago

I've just encountered this issue with a Magento v2.1 store, when applying a site-wide discount.

output_log

See Also: http://stackoverflow.com/questions/10191209/paypal-api-the-totals-of-the-cart-item-amounts-do-not-match-order-amounts

So yes, this issue is still a problem. As a temporary solution, I followed the advice in issue https://github.com/magento/magento2/issues/5735#issuecomment-243097801 to disable transferring cart items to PayPal.

JerryLosey commented 7 years ago

Just ran across this problem as well. Haven't tried the above "fix".

cvocke commented 6 years ago

Still running into this issue on 2.1.9 EE with Paypal Express for Payflow Pro. Setting "Transfer cart items" to No is working as a temporary fix for us as well

ghost commented 6 years ago

We face this same issue after applying discount copon. I am using paypal express checkout. Paypal Request:

'url' => 'https://api-3t.paypal.com/nvp',
  'SetExpressCheckout' => 
  array (
    'PAYMENTACTION' => 'Sale',
    'AMT' => '440.16',
    'CURRENCYCODE' => 'USD',
    'RETURNURL' => 'https://www.example.com/paypal/express/return/',
    'CANCELURL' => 'https://www.example.com/paypal/express/cancel/',
    'INVNUM' => '000014534',
    'SOLUTIONTYPE' => 'Sole',
    'GIROPAYCANCELURL' => 'https://www.example.com/paypal/express/cancel/',
    'GIROPAYSUCCESSURL' => 'https://www.example.com/checkout/onepage/success/',
    'BANKTXNPENDINGURL' => 'https://www.example.com/checkout/onepage/success/',
    'SHIPPINGAMT' => '0.00',
    'ITEMAMT' => '393.00',
    'TAXAMT' => '47.16',
    'L_NUMBER0' => NULL,
    'L_NAME0' => 'Volume Collection ',
    'L_QTY0' => 3,
    'L_AMT0' => '22.00',
    'L_NUMBER1' => NULL,
    'L_NAME1' => 'Volume Collection ',
    'L_QTY1' => 3,
    'L_AMT1' => '22.00',
    'L_NUMBER2' => NULL,
    'L_NAME2' => 'Volume Collection ',
    'L_QTY2' => 3,
    'L_AMT2' => '22.00',
    'L_NUMBER3' => NULL,
    'L_NAME3' => 'Volume Collection ',
    'L_QTY3' => 3,
    'L_AMT3' => '22.00',
    'L_NUMBER4' => NULL,
    'L_NAME4' => 'Volume Collection ',
    'L_QTY4' => 1,
    'L_AMT4' => '22.00',
    'L_NUMBER5' => NULL,
    'L_NAME5' => 'Volume Collection ',
    'L_QTY5' => 1,
    'L_AMT5' => '22.00',
    'L_NUMBER6' => NULL,
    'L_NAME6' => 'Volume Collection ',
    'L_QTY6' => 1,
    'L_AMT6' => '22.00',
    'L_NUMBER7' => NULL,
    'L_NAME7' => 'Volume Collection ',
    'L_QTY7' => 1,
    'L_AMT7' => '22.00',
    'L_NUMBER8' => NULL,
    'L_NAME8' => 'Volume Collection ',
    'L_QTY8' => 1,
    'L_AMT8' => '22.00',
    'L_NUMBER9' => NULL,
    'L_NAME9' => 'Volume Collection ',
    'L_QTY9' => 1,
    'L_AMT9' => '22.00',
    'L_NUMBER10' => NULL,
    'L_NAME10' => 
    Magento\Framework\Phrase::__set_state(array(
       'text' => 'Discount',
       'arguments' => 
      array (
      ),
    )),
    'L_QTY10' => 1,
    'L_AMT10' => '-3.00',
    'BUSINESS' => NULL,
    'NOTETEXT' => NULL,
    'EMAIL' => 'test@test.ca',
    'FIRSTNAME' => 'Test',
    'LASTNAME' => 'Test',
    'MIDDLENAME' => NULL,
    'SALUTATION' => NULL,
    'SUFFIX' => NULL,
    'COUNTRYCODE' => 'CA',
    'STATE' => 'BC',
    'CITY' => 'Mission',
    'STREET' => '207-12345 abc def',
    'ZIP' => 'V2V 1G5',
    'PHONENUM' => '123-456-6696',
    'SHIPTOCOUNTRYCODE' => 'CA',
    'SHIPTOSTATE' => 'BC',
    'SHIPTOCITY' => 'Mission',
    'SHIPTOSTREET' => '207-45121 est Test',
    'SHIPTOZIP' => 'V2V 1G5',
    'SHIPTOPHONENUM' => '123-456-6696',
    'SHIPTOSTREET2' => '',
    'STREET2' => '',
    'SHIPTONAME' => 'Test Test',
    'ADDROVERRIDE' => 1,
    'METHOD' => 'SetExpressCheckout',
    'VERSION' => '72.0',
    'USER' => '****',
    'PWD' => '****',
    'SIGNATURE' => '****',
    'BUTTONSOURCE' => 'Magento_Cart_Community',
  ),

Response:

'response' => 
  array (
    'TIMESTAMP' => '2017-10-30T15:40:29Z',
    'CORRELATIONID' => '96261ae3eb89f',
    'ACK' => 'Failure',
    'VERSION' => '72.0',
    'BUILD' => '40402625',
    'L_ERRORCODE0' => '10413',
    'L_SHORTMESSAGE0' => 'Transaction refused because of an invalid argument. See additional error messages for details.',
    'L_LONGMESSAGE0' => 'The totals of the cart item amounts do not match order amounts.',
    'L_SEVERITYCODE0' => 'Error',
ghost commented 6 years ago

I got this reply from Paypal Team for this issue.

Unfortunately, the problem you're experiencing may be caused by technical issues with the PayPal system.

I have escalated this ticket to our internal engineering team for resolution.

This is paypal default issue. And paypal technical team working on it.

germaike commented 6 years ago

@magentoprince

Did you get any response?

mageprince commented 6 years ago

@germaike This issue happened, when we install any third party extension which has extra order attribute. Which is add or subtract an amount from the order total. The temporary solution for this issue that, you can disable transfer cart line items from admin. Stores->Configuration->Sales->Payment Method->Paypal->Configure->Advanced Settings->Transfer Cart Line Items

Which means that PayPal only receives Subtotal, Tax, Discount and shipping amount not receive cart items amount.

sskulkarni commented 6 years ago

@mageprince The "Transfer Cart Line Items" option will not work with the custom module. If we add extra fee in Order Total, The paypal will show the error.

outoftheboxsol commented 6 years ago

Same issue here.

shajithabanua commented 5 years ago

@sskulkarni Is there any other solution for this now???

milch-shake commented 4 years ago

Hi,

i've got the same Problem here.

My Problem was, that we had two shooping cart rules on the same priority - one with 3% discount and second with 4% discount. M2 will collect them to 7% and the paypal module will first take 3% and after that 4% - because of this, the total value and the collected shipping-/tax- & item-values are not the same.

to fix this, (VERY QUICK AND DIRTY): goto module-paypal/Model/Apiu/Nvp.php

function callSetExpressCheckout at Line 812 add before "$response = $this->call(self::SET_EXPRESS_CHECKOUT, $request);" this snipped:

$request['ITEMAMT'] = $request['AMT'] - $request['TAXAMT'] - $request['SHIPPINGAMT'];

ArunRackron commented 2 years ago

Hi,

i've got the same Problem here.

My Problem was, that we had two shooping cart rules on the same priority - one with 3% discount and second with 4% discount. M2 will collect them to 7% and the paypal module will first take 3% and after that 4% - because of this, the total value and the collected shipping-/tax- & item-values are not the same.

to fix this, (VERY QUICK AND DIRTY): goto module-paypal/Model/Apiu/Nvp.php

function callSetExpressCheckout at Line 812 add before "$response = $this->call(self::SET_EXPRESS_CHECKOUT, $request);" this snipped:

$request['ITEMAMT'] = $request['AMT'] - $request['TAXAMT'] - $request['SHIPPINGAMT'];