Hello,
i am trying to setup PayPal on my new Magento shop.
Everything seems to be configured: products, taxes, shipping origin, shipping method, payments.
As soon as i add a test product to my cart (10 € + 22% VAT) i have the right total 12,20€ i go to paypal and i see everything correct (10€+2,20 € VAT).
I go on with payment but i get an error:
10413 Transaction refused because of an invalid argument. See additional error messages for details.
The totals of the cart item amounts do not match order amounts.
Here is the Paypal log:
2015-05-12T07:13:37+00:00 DEBUG (7): Array ( [url] => https://api-3t.sandbox.paypal.com/nvp [SetExpressCheckout] => Array ( [PAYMENTACTION] => Sale [AMT] => 12.20 [CURRENCYCODE] => EUR [RETURNURL] => https://www.mydomain.com/index.php/paypal/express/return/ [CANCELURL] => https://www.mydomain.com/index.php/paypal/express/cancel/ [INVNUM] => 145000012 [SOLUTIONTYPE] => Sole [GIROPAYCANCELURL] => https://www.mydomain.com/index.php/paypal/express/cancel/ [GIROPAYSUCCESSURL] => https://www.mydomain.com/index.php/checkout/onepage/success/ [BANKTXNPENDINGURL] => https://www.mydomain.com/index.php/checkout/onepage/success/ [LOCALECODE] => it_IT [ITEMAMT] => 10.00 [TAXAMT] => 2.20 [SHIPPINGAMT] => 0.00 [L_NUMBER0] => 1 [L_NAME0] => prova [L_QTY0] => 1 [L_AMT0] => 10.00 [BUSINESS] => [NOTETEXT] => [EMAIL] => customer@email.com [FIRSTNAME] => Mario [LASTNAME] => Rossi [MIDDLENAME] => [SALUTATION] => [SUFFIX] => [COUNTRYCODE] => IT [STATE] => MI [CITY] => Milano [STREET] => Via Prova 1 [ZIP] => 20124 [PHONENUM] => 021234567 [SHIPTOCOUNTRYCODE] => IT [SHIPTOSTATE] => MI [SHIPTOCITY] => Milano [SHIPTOSTREET] => Via Prova 1 [SHIPTOZIP] => 20124 [SHIPTOPHONENUM] => 021234567 [SHIPTOSTREET2] => [STREET2] => [SHIPTONAME] => Mario Rossi [ADDROVERRIDE] => 1 [METHOD] => SetExpressCheckout [VERSION] => 72.0 [USER] => **** [PWD] => **** [SIGNATURE] => **** [BUTTONSOURCE] => Magento_Cart_Community ) [response] => Array ( [TOKEN] => EC-1M8707294L986462R [TIMESTAMP] => 2015-05-12T07:13:37Z [CORRELATIONID] => 263efbcb7541a [ACK] => Success [VERSION] => 72.0 [BUILD] => 16619266 ) [__pid] => 28425 ) 2015-05-12T07:14:26+00:00 DEBUG (7): Array ( [url] => https://api-3t.sandbox.paypal.com/nvp [GetExpressCheckoutDetails] => Array ( [TOKEN] => EC-1M8707294L986462R [METHOD] => GetExpressCheckoutDetails [VERSION] => 72.0 [USER] => **** [PWD] => **** [SIGNATURE] => **** [BUTTONSOURCE] => Magento_Cart_Community ) [response] => Array ( [TOKEN] => EC-1M8707294L986462R [BILLINGAGREEMENTACCEPTEDSTATUS] => 0 [CHECKOUTSTATUS] => PaymentActionNotInitiated [TIMESTAMP] => 2015-05-12T07:14:26Z [CORRELATIONID] => 42572b8a7dc08 [ACK] => Success [VERSION] => 72.0 [BUILD] => 16619266 [EMAIL] => paypalaccount@email.com [PAYERID] => NEFQP77Y6WEU4 [PAYERSTATUS] => unverified [FIRSTNAME] => Mario [LASTNAME] => Rossi [COUNTRYCODE] => IT [SHIPTONAME] => Mario Rossi [SHIPTOSTREET] => Via Prova 1 [SHIPTOCITY] => Milano [SHIPTOSTATE] => MI [SHIPTOZIP] => 20124 [SHIPTOCOUNTRYCODE] => IT [SHIPTOPHONENUM] => 021234567 [SHIPTOCOUNTRYNAME] => Italy [ADDRESSSTATUS] => Unconfirmed [CURRENCYCODE] => EUR [AMT] => 12.20 [ITEMAMT] => 10.00 [SHIPPINGAMT] => 0.00 [HANDLINGAMT] => 0.00 [TAXAMT] => 2.20 [INVNUM] => 145000012 [INSURANCEAMT] => 0.00 [SHIPDISCAMT] => 0.00 [L_NAME0] => prova [L_NUMBER0] => 1 [L_QTY0] => 1 [L_TAXAMT0] => 0.00 [L_AMT0] => 10.00 [L_ITEMWEIGHTVALUE0] => 0.00000 [L_ITEMLENGTHVALUE0] => 0.00000 [L_ITEMWIDTHVALUE0] => 0.00000 [L_ITEMHEIGHTVALUE0] => 0.00000 [PAYMENTREQUEST_0_CURRENCYCODE] => EUR [PAYMENTREQUEST_0_AMT] => 12.20 [PAYMENTREQUEST_0_ITEMAMT] => 10.00 [PAYMENTREQUEST_0_SHIPPINGAMT] => 0.00 [PAYMENTREQUEST_0_HANDLINGAMT] => 0.00 [PAYMENTREQUEST_0_TAXAMT] => 2.20 [PAYMENTREQUEST_0_INVNUM] => 145000012 [PAYMENTREQUEST_0_INSURANCEAMT] => 0.00 [PAYMENTREQUEST_0_SHIPDISCAMT] => 0.00 [PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED] => false [PAYMENTREQUEST_0_SHIPTONAME] => Mario Rossi [PAYMENTREQUEST_0_SHIPTOSTREET] => Via Prova 1 [PAYMENTREQUEST_0_SHIPTOCITY] => Milano [PAYMENTREQUEST_0_SHIPTOSTATE] => MI [PAYMENTREQUEST_0_SHIPTOZIP] => 20124 [PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE] => IT [PAYMENTREQUEST_0_SHIPTOPHONENUM] => 021234567 [PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME] => Italy [PAYMENTREQUEST_0_ADDRESSSTATUS] => Unconfirmed [L_PAYMENTREQUEST_0_NAME0] => prova [L_PAYMENTREQUEST_0_NUMBER0] => 1 [L_PAYMENTREQUEST_0_QTY0] => 1 [L_PAYMENTREQUEST_0_TAXAMT0] => 0.00 [L_PAYMENTREQUEST_0_AMT0] => 10.00 [L_PAYMENTREQUEST_0_ITEMWEIGHTVALUE0] => 0.00000 [L_PAYMENTREQUEST_0_ITEMLENGTHVALUE0] => 0.00000 [L_PAYMENTREQUEST_0_ITEMWIDTHVALUE0] => 0.00000 [L_PAYMENTREQUEST_0_ITEMHEIGHTVALUE0] => 0.00000 [PAYMENTREQUESTINFO_0_ERRORCODE] => 0 ) [__pid] => 23098 ) 2015-05-12T07:14:36+00:00 DEBUG (7): Array ( [url] => https://api-3t.sandbox.paypal.com/nvp [DoExpressCheckoutPayment] => Array ( [TOKEN] => EC-1M8707294L986462R [PAYERID] => NEFQP77Y6WEU4 [PAYMENTACTION] => Sale [AMT] => 17.20 [CURRENCYCODE] => EUR [BUTTONSOURCE] => Magento_Cart_Community [NOTIFYURL] => https://www.mydomain.com/index.php/paypal/ipn/ [RETURNFMFDETAILS] => 1 [ITEMAMT] => 10.00 [TAXAMT] => 2.20 [SHIPPINGAMT] => 0.00 [L_NUMBER0] => 1 [L_NAME0] => prova [L_QTY0] => 1 [L_AMT0] => 10.00 [METHOD] => DoExpressCheckoutPayment [VERSION] => 72.0 [USER] => **** [PWD] => **** [SIGNATURE] => **** ) [response] => Array ( [TIMESTAMP] => 2015-05-12T07:14:35Z [CORRELATIONID] => 478f1608bebaf [ACK] => Failure [VERSION] => 72.0 [BUILD] => 16619266 [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 ) [__pid] => 28424 )
Thanks for any suggestion!
hey there
Did you manage to fix this?
I had this problem start 2 days ago and have now had 6 transactions I know of with this error code.
Paypal support told me there is a plugin to fix this but dont know what the hell he's talking about. Cant see anything for it.
We are a version behind now and wonder if its that. Seen in the list of fixes its mention 1p differances and rounding up/down,
Plan to upgrade now as a fix but wanted to know if there is anything else.
I also have the problem with this Error:
Das PayPal Gateway hat die Anfrage abgewiesen. The totals of the cart item amounts do not match order amounts (#10413: Transaction refused because of an invalid argument. See additional error messages for details).""
Pls help
We tried even setting "Transfer Cart Line Items" to "No" as a few mentioned should work but upon further testing that didn't help on Magento v1.9.1.1. Sometimes the error appears sometimes it doesn't.
We are now changing Tax settings since it looks like it might have somehting to do with the way the totals are reported.
Let you know how it went.
Hello,
I also getting same issue in checkout with paypal express.
Did you find any solution?
Thanks.
Did You find any solutions for this issue? I have faced this same issue. Sometimes it's showing issue or sometimes not.
The issue you faced is related to Magento bug due to which the logic of actions of TAX calculation is performed in the wrong order.
To resolve the problem, you just need to navigate to file:
app/code/core/Mage/Sales/Model/Config/Ordered.php
find _getSortedCollectorCodes() function and replace with below code
protected function _getSortedCollectorCodes() { if (Mage::app()->useCache('config')) { $cachedData = Mage::app()->loadCache($this->_collectorsCacheKey); if ($cachedData) { return unserialize($cachedData); } } $configArray = $this->_modelsConfig; // invoke simple sorting if the first element contains the "sort_order" key reset($configArray); $element = current($configArray); if (isset($element['sort_order']) && false) { uasort($configArray, array($this, '_compareSortOrder')); $sortedCollectors = array_keys($configArray); } else { $sortedCollectors = array_keys($configArray); foreach ($configArray as $code => &$data) { foreach ($data['before'] as $positionCode) { if (!isset($configArray[$positionCode])) { continue; } if (!in_array($code, $configArray[$positionCode]['after'], true)) { // Also add additional after condition for related total, // to keep it always after total with before value specified $configArray[$positionCode]['after'][] = $code; } $currentPosition = array_search($code, $sortedCollectors, true); $desiredPosition = array_search($positionCode, $sortedCollectors, true); if ($currentPosition > $desiredPosition) { // Only if current position is not corresponding to before condition array_splice($sortedCollectors, $currentPosition, 1); // Removes existent array_splice($sortedCollectors, $desiredPosition, 0, $code); // Add at new position } } } // Sort out totals with after position specified foreach ($configArray as $code => &$data) { $maxAfter = null; $currentPosition = array_search($code, $sortedCollectors, true); foreach ($data['after'] as $positionCode) { $maxAfter = max($maxAfter, array_search($positionCode, $sortedCollectors, true)); } if ($maxAfter !== null && $maxAfter > $currentPosition) { // Moves only if it is in front of after total array_splice($sortedCollectors, $maxAfter + 1, 0, $code); // Add at new position array_splice($sortedCollectors, $currentPosition, 1); // Removes existent } } } if (Mage::app()->useCache('config')) { Mage::app()->saveCache(serialize($sortedCollectors), $this->_collectorsCacheKey, array( Mage_Core_Model_Config::CACHE_TAG ) ); } return $sortedCollectors; }
Note : Please override core file. Do not change core file. Clear cache
Hello,
I understand the issue you're facing while setting up PayPal on your new Magento shop. The error message indicates a problem with the totals of the cart item amounts not matching the order amounts. Here are some steps to troubleshoot the problem:
Ensure Consistency: Double-check that the product prices, taxes, and shipping amounts in your Magento vape shop match the values sent to PayPal in the API request. Ensure there are no discrepancies.
Check Tax Configuration: Verify that the tax settings in your Magento shop are correctly applied to the products and that they align with the tax amounts sent to PayPal.
Update PayPal Credentials: Make sure you have entered the correct PayPal API credentials (USER, PWD, SIGNATURE) in your Magento settings.
Greetings,
I comprehend the challenge you're encountering during the setup of PayPal on your fresh Magento store. The error message signifies an issue with the alignment of cart item amounts and order amounts. Here are troubleshooting steps to address the concern:
Verify Accuracy: Double-check that the prices of products, taxes, and shipping amounts in your Magento NTS NAT align with the values transmitted to PayPal in the API request. Confirm there are no disparities.
Validate Tax Settings: Ensure that the tax configurations in your Magento store are accurately applied to the products and are consistent with the tax amounts transmitted to PayPal.
Review PayPal Credentials: Validate that the PayPal API credentials (USER, PWD, SIGNATURE) entered in your Magento settings are accurate and up to date.