Error 10444 DoExpressCheckoutPayment API call failed.
-
Hello, Thank you for your wonderful plugin.
Unfortunatelly since I installed PayPal for Woocommerce, my shop emails me the following error when international orders are placed, I am based in Australia, so orders from anywhere else do this. However the payment is actually processed a few minutes later. I have called PayPal and they do not see a problem in their end. I would like to get to the bottom of the problem and remove this error.
==================================================
DoExpressCheckoutPayment API call failed.
Error Code: 10444
Error Severity Code: Error
Short Error Message: Transaction refused because of an invalid argument. See additional error messages for details.
Detailed Error Message: The transaction currency specified must be the same as previously specified.===================================================
Please note the following, prices are shown and charged to Australian customers in Australian dollars AUD and international customers in USD.
This is done by using another plugin called “WooCommerce Product Price Based on Countries” by Oscar Garcia Arenas.I look forward to your reply and thank you in advance for your support.
Nick Azar
-
Hi Nick,
This is not something I’ve had reported from anybody else, so I think there must be a compatibility issue with our plugin and the “based on countries” plugin that you are using to manage your currencies.
We are currently working to get our 1.1.6.3.8 update released (which will hopefully be done here in about a week or so) and then we’ll be moving on to 1.2, which will be a pretty big update adding lots of new features.
I can certainly get this added to that list so that we can ensure it will work with that plugin, but I cannot give you any solid time-frame on when it’ll be ready to go, unfortunately.
I’d like to say we’d have 1.2 released by the end of next month at the latest, but things like WooCommerce updates (I see they just released 2.4.7, actually) can force us to stop our current plans and make adjustments sometimes, so I can’t promise anything.
Hi,
Any news about this issue?Thanks you.
Are you getting this error with the latest version of WooCommerce and PayPal for WooCommerce?
This versions of plugins:
WordPress 4.5.3
WooCommerce 2.6.1
PayPal for WooCommerce 1.2.3@oscargare, are you using the same WooCommerce Product Price Based on Countries plugin that @nicolasazar mentioned?
Hi,
I’m the plugin author of WooCommerce Product Price Based on Countries.
I would like to do WCPBC compatible with your plugin.How can I help to fix the bug? Any idea where is the source of bug?
Thank you.
Do you have logging enabled in the plugin? Can you provide a copy of the log for review?
Hi, the log:
07-12-2016 @ 20:39:18 - Start Review Order 07-12-2016 @ 20:39:18 - ...Token:EC-3JT38898YK1724216 07-12-2016 @ 20:39:18 - ...PayerID: N5Y2D5KXT56PS 07-12-2016 @ 20:39:19 - Test Mode: no 07-12-2016 @ 20:39:19 - Endpoint: https://api-3t.paypal.com/nvp 07-12-2016 @ 20:39:19 - Request: Array ( [USER] => ***** [PWD] => ***** [VERSION] => 124.0 [BUTTONSOURCE] => AngellEYE_SP_WooCommerce [SIGNATURE] => ***** [METHOD] => GetExpressCheckoutDetails [TOKEN] => EC-3JT38898YK1724216 ) 07-12-2016 @ 20:39:19 - Response: Array ( [TOKEN] => EC-3JT38898YK1724216 [BILLINGAGREEMENTACCEPTEDSTATUS] => 0 [CHECKOUTSTATUS] => PaymentActionNotInitiated [TIMESTAMP] => 2016-07-13T01:39:19Z [CORRELATIONID] => affb1281aead [ACK] => Success [VERSION] => 124.0 [BUILD] => 23255924 [EMAIL] => ******** [PAYERID] => ******** [PAYERSTATUS] => verified [FIRSTNAME] => J******** [LASTNAME] => K********er [COUNTRYCODE] => US [SHIPTONAME] => J********er [SHIPTOSTREET] => 7********e [SHIPTOSTREET2] => #1********06 [SHIPTOCITY] => Tampa [SHIPTOSTATE] => FL [SHIPTOZIP] => 33606 [SHIPTOCOUNTRYCODE] => US [SHIPTOCOUNTRYNAME] => United States [ADDRESSSTATUS] => Confirmed [CURRENCYCODE] => EUR [AMT] => 6.84 [ITEMAMT] => 6.84 [SHIPPINGAMT] => 0.00 [HANDLINGAMT] => 0.00 [TAXAMT] => 0.00 [INSURANCEAMT] => 0.00 [SHIPDISCAMT] => 0.00 [INSURANCEOPTIONOFFERED] => false [L_NAME0] => L********op [L_NAME1] => P********ts [L_NAME2] => Cart Discount [L_NUMBER2] => k********l [L_QTY0] => 1 [L_QTY1] => 1 [L_QTY2] => 1 [L_TAXAMT0] => 0.00 [L_TAXAMT1] => 0.00 [L_TAXAMT2] => 0.00 [L_AMT0] => 99.00 [L_AMT1] => 129.00 [L_AMT2] => -221.16 [PAYMENTREQUEST_0_CURRENCYCODE] => EUR [PAYMENTREQUEST_0_AMT] => 6.84 [PAYMENTREQUEST_0_ITEMAMT] => 6.84 [PAYMENTREQUEST_0_SHIPPINGAMT] => 0.00 [PAYMENTREQUEST_0_HANDLINGAMT] => 0.00 [PAYMENTREQUEST_0_TAXAMT] => 0.00 [PAYMENTREQUEST_0_INSURANCEAMT] => 0.00 [PAYMENTREQUEST_0_SHIPDISCAMT] => 0.00 [PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID] => company@********.com [PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED] => false [PAYMENTREQUEST_0_SHIPTONAME] => J********er [PAYMENTREQUEST_0_SHIPTOSTREET] => 7********e [PAYMENTREQUEST_0_SHIPTOSTREET2] => #1********6 [PAYMENTREQUEST_0_SHIPTOCITY] => Tampa [PAYMENTREQUEST_0_SHIPTOSTATE] => FL [PAYMENTREQUEST_0_SHIPTOZIP] => 33606 [PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE] => US [PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME] => United States [PAYMENTREQUEST_0_ADDRESSSTATUS] => Confirmed [L_PAYMENTREQUEST_0_NAME0] => L********op [L_PAYMENTREQUEST_0_NAME1] => P********ts [L_PAYMENTREQUEST_0_NAME2] => Cart Discount [L_PAYMENTREQUEST_0_NUMBER2] => k********al [L_PAYMENTREQUEST_0_QTY0] => 1 [L_PAYMENTREQUEST_0_QTY1] => 1 [L_PAYMENTREQUEST_0_QTY2] => 1 [L_PAYMENTREQUEST_0_TAXAMT0] => 0.00 [L_PAYMENTREQUEST_0_TAXAMT1] => 0.00 [L_PAYMENTREQUEST_0_TAXAMT2] => 0.00 [L_PAYMENTREQUEST_0_AMT0] => 99.00 [L_PAYMENTREQUEST_0_AMT1] => 129.00 [L_PAYMENTREQUEST_0_AMT2] => -221.16 [PAYMENTREQUESTINFO_0_ERRORCODE] => 0 ) 07-12-2016 @ 20:39:20 - Start Pay Action 07-12-2016 @ 20:39:22 - ...Order ID: 16082 07-12-2016 @ 20:39:22 - ...Order Total: 7 07-12-2016 @ 20:39:22 - ...Cart Total: <span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>7</span> 07-12-2016 @ 20:39:22 - ...Token:EC-3JT38898YK1724216 07-12-2016 @ 20:39:23 - Test Mode: no 07-12-2016 @ 20:39:23 - Endpoint: https://api-3t.paypal.com/nvp 07-12-2016 @ 20:39:23 - Request: Array ( [USER] => ***** [PWD] => ***** [VERSION] => 124.0 [BUTTONSOURCE] => AngellEYE_SP_WooCommerce [SIGNATURE] => ***** [METHOD] => DoExpressCheckoutPayment [TOKEN] => EC-3JT38898YK1724216 [PAYERID] => ******** [RETURNFMFDETAILS] => 1 [PAYMENTREQUEST_0_AMT] => 7.00 [PAYMENTREQUEST_0_CURRENCYCODE] => USD [PAYMENTREQUEST_0_INVNUM] => 16082 [PAYMENTREQUEST_0_PAYMENTACTION] => Sale [PAYMENTREQUEST_0_ITEMAMT] => 7.00 [L_PAYMENTREQUEST_0_NAME0] => L********p [L_PAYMENTREQUEST_0_AMT0] => 99 [L_PAYMENTREQUEST_0_QTY0] => 1 [L_PAYMENTREQUEST_0_NAME1] => P********s [L_PAYMENTREQUEST_0_AMT1] => 129 [L_PAYMENTREQUEST_0_QTY1] => 1 [L_PAYMENTREQUEST_0_NAME2] => Total Discount [L_PAYMENTREQUEST_0_AMT2] => -221 [L_PAYMENTREQUEST_0_NUMBER2] => k********l [L_PAYMENTREQUEST_0_QTY2] => 1 ) 07-12-2016 @ 20:39:23 - Response: Array ( [TOKEN] => EC-3JT38898YK1724216 [SUCCESSPAGEREDIRECTREQUESTED] => false [TIMESTAMP] => 2016-07-13T01:39:23Z [CORRELATIONID] => 8afe0ec3d4474 [ACK] => Failure [VERSION] => 124.0 [BUILD] => 23255924 [L_ERRORCODE0] => 10444 [L_SHORTMESSAGE0] => Transaction refused because of an invalid argument. See additional error messages for details. [L_LONGMESSAGE0] => The transaction currency specified must be the same as previously specified. [L_SEVERITYCODE0] => Error ) 07-12-2016 @ 20:39:23 - ...Error confirming order 16082 with PayPal 07-12-2016 @ 20:39:23 - DoExpressCheckoutPayment API call failed. 07-12-2016 @ 20:39:23 - Detailed Error Message: The transaction currency specified must be the same as previously specified. 07-12-2016 @ 20:39:23 - Short Error Message: Transaction refused because of an invalid argument. See additional error messages for details. 07-12-2016 @ 20:39:23 - Error Code: 10444 07-12-2016 @ 20:39:23 - Error Severity Code: ErrorMy plugin add woocommerce_currency filter in woocommerce_init hook, Could be that the payment process is launched before woocommerce_init hook?
Thank you in advance.
Hello oscargare and angelleye,
Thank you for your support and both of your amazing plugins, glad to see you are trying to resolve this issue together. Unfortunately I still get the error on international orders, and payments are still processed normally a few minutes later. So it is annoying but still works.
@angelleye, I think that the problem is in this code from line 831 of wc-gateway-paypal-express-angelleye.php:
if (isset($result['SHIPTOSTREET'])) WC()->customer->set_address($result['SHIPTOSTREET']); if (isset($result['SHIPTOSTREET2'])) WC()->customer->set_address_2($result['SHIPTOSTREET2']); if (isset($result['SHIPTOCITY'])) WC()->customer->set_city($result['SHIPTOCITY']); if (isset($result['SHIPTOCOUNTRYCODE'])) WC()->customer->set_country($result['SHIPTOCOUNTRYCODE']); if (isset($result['SHIPTOSTATE'])) WC()->customer->set_state($this->get_state_code($result['SHIPTOCOUNTRYCODE'], $result['SHIPTOSTATE'])); if (isset($result['SHIPTOZIP'])) WC()->customer->set_postcode($result['SHIPTOZIP']);My plugin get currency from country of customer, this code change country of customer to shipping country. It might better to use set_shipping_country, set_shipping_address instead of set_country.
Let me know. Thanks!
Thanks for the feedback. I’ll have my lead dev take a look at this and make any necessary adjustments. I’ll update here when we have that prepared on GitHub so you can grab it before the next official release if you want to.
It may be a week or so before we’re able to focus on this, so if you want to make the adjustment on your end to get it working that may be quicker, and then if you can confirm (or even submit a pull request) we’ll get it done asap. Thanks!
Just wanted to update you that we’ve made this adjustment in our GitHub repo and it will be included in the 1.2.4 update coming soon!
Great, I look forward to the update. Unfortunately, I’ve had to disable PayPal express check out recently due to loosing a couple of customers who where not able to check out due to this error. I will consider re-activating once the update is online.
Hi @nicolasazar,
new update of PBC (version 1.6) adds a integration with PayPal Express by AngellEYE, can you give some feedback about?Thank you in advance.
The topic ‘Error 10444 DoExpressCheckoutPayment API call failed.’ is closed to new replies.