2

This issue has been driving us up the wall for a number of months now and is a common/known issue in various versions of Magento but frustratingly, we have not been able to rectify this.

Every time a customer switches the currency to a non-base currency such as EUR or USD and checks out via Paypal, the order is marked as suspected fraud.

  • Magento: CE 1.9.2.3
  • Payment Method: Paypal Website Standard Payment
  • Base Currency: GBP
  • Accepted Currencies: GBP, EUR, USD
  • Checkout: Magento Default Onepage Checkout (no extension used)

Now, I am aware of numerous 'problems' in Magento of varying nature, including the following:-

Along with 3rd party extensions to rectify such problems:-

I have also scoured the web and read umpteen similar situations and scenarios including other similar Magento SE questions like:-

We have also tried implementing countless local code pool modifications and/or extensions to rectify this issue but nothing has preventing these suspected fraud orders from occurring.

We have already implemented a means for the selected currency to remain throughout the checkout process, including Paypal. So if a customer switches to EUR currency on the website, they can check out via Paypal and still see all prices in EUR.

We have tested countless test check outs in different currencies with modifications enabled/disabled and as the store currently is, have not managed to identify a discrepancy at all which would be causing orders in non-base currencies to come back as 'suspected fraud'.

As far as I can make out, the captured amount is in fact correct...

We even upgraded the store from 1.6 to 1.9 recently on a completely fresh instance of Magento and still the issue has just cropped up.

Here is an example order with it's associated debugging info:-

Suspected Fraud Order via Paypal in Magento

  2016-04-27T16:57:41+00:00 DEBUG (7): Array
  (
      [ipn] => Array
          (
              [address_city] => Stutt­gart
              [address_country] => Germany
              [address_country_code] => DE
              [address_name] => *removed*
              [address_state] => DE
              [address_status] => unconfirmed
              [address_street] => *removed*
              [address_zip] => 70469
              [business] => *removed*
              [charset] => windows-1252
              [custom] => 
              [discount] => 4.68
              [first_name] => Anastasia
              [insurance_amount] => 0.00
              [invoice] => 100010039
              [ipn_track_id] => 2efb037512ebf
              [item_name1] => Inlight Organic Floral Face Tonic 200ml
              [item_number1] => IN021
              [last_name] => *removed*
              [mc_currency] => EUR
              [mc_fee] => 1.57
              [mc_gross] => 42.12
              [mc_gross_1] => 39.00
              [mc_handling] => 0.00
              [mc_handling1] => 0.00
              [mc_shipping] => 0.00
              [mc_shipping1] => 0.00
              [notify_version] => 3.8
              [num_cart_items] => 1
              [payer_email] => *removed*
              [payer_id] => QHL4BEYTWZD2L
              [payer_status] => verified
              [payment_date] => 09:54:46 Apr 27, 2016 PDT
              [payment_fee] => 
              [payment_gross] => 
              [payment_status] => Completed
              [payment_type] => instant
              [protection_eligibility] => Eligible
              [quantity1] => 1
              [receiver_email] => *removed*
              [receiver_id] => 7A9JWJP27SJYE
              [residence_country] => DE
              [shipping_discount] => 0.00
              [shipping_method] => Default
              [tax] => 7.80
              [transaction_subject] => 
              [txn_id] => 6G488924AA393051S
              [txn_type] => cart
              [verify_sign] => APclMDPdWaSSAOtbaJrWk-DEAcR8AdfyENutTE1vDCnfyB-tBK4AQNQm
          )

      [postback_to] => https://www.paypal.com/cgi-bin/webscr
      [__pid] => 26892
  )

Can anyone spot an issue or suggest anything that may be causing this? We're rapidly running out of ideas and struggling to think where to actually begin debugging this further.

  • same problem here - although im using onestepcheckout extension... – fbtb Jun 23 '16 at 7:18
  • 1
    I actually got to the bottom of this, forgot to come back and add answer, I shall try to do so shortly. :) – zigojacko Jun 23 '16 at 10:40
  • Any chance you could post even a quick answer to what you did? Thanks – vbak Aug 11 '16 at 11:30
  • Sorry, forgot to come back to this so thank you for the prompt. Just added the answer now. – zigojacko Aug 12 '16 at 9:38
2

I finally got to the bottom of this issue after months of testing/debugging but of course, this may not be the answer for others that experience this issue. Definitely worth checking though.

In this case, our client was using a manually entered conversion rate in Magento (System > Manage Currency > Rates) as opposed to importing the recent conversion rates from a third party source.

When a customer was checking out via Paypal Express after converting the currency on the Magento website to either EUR or USD (from GBP), Paypal was handling the conversion within its own website (see below #figures).

Figure 1

When a foreign currency is being passed through the (GBP) Paypal account, it is handling the conversion inside of Paypal which differs from the fixed preset exchange rate in Magento.

Tested this by trying to checkout of the store with a bag total of €88.40 (figure 1) (note the GBP equivalent of £68.00) but when logged into Paypal and about to complete payment, it shows the conversion which converts to £69.81 (figure 2).

Magento Checkout Currency Conversion from Base Currency

Figure 2

Paypal Express Checkout in Magento with Currency Conversion

This subsequently causes a discrepancy between the capture amounts (Magento is expecting £68.00 but Paypal actually captures £69.81), a difference of £1.81 in this particular instance. There only has to be a difference of £0.01 to trigger a suspected fraud transaction.

There are likely a number of different methods to resolve this but the first thing to try is to import the latest conversion rates on a cron job (System > Configuration > GENERAL > Currency Setup > Scheduled Import Settings) or you can set up a third party extension like Paypal All Currencies from Mageoxy which allows you to override the exchange rate Paypal uses.

Figure 3

Paypal All Currencies Override Currency Exchange Rate

===

If you find this to not be of much help or use to your scenario, then you should find that some of the discussions linked to in the original question should help resolve your case.

Otherwise, hopefully this sheds some light on those experiencing suspected fraudulent transactions in Magento when customers check out via Paypal Express after converting the currency from the base currency set.

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.