News:

Looking for documentation? Take a look on our wiki

Main Menu

MOD to resolve "payments not accepted in USD"

Started by w259lkt, February 03, 2009, 14:19:17 PM

Previous topic - Next topic

w259lkt

FOR VIRTUEMART 1.1.x (tested only on VIRTUEMART 1.1.2)
THIS IS A VERSION BASED ON PAYPAL - Currency Converter by Deneb RELEASED for VirtueMart 1.0.x

DO YOU NEED THIS?
--------------------------------
If you use a shop currency that is not one of these:
U.S. Dollar (USD)
Australian Dollar (AUD)
Canadian Dollar (CAD)
British Pounds Sterling (GBP)
Japanese Yen (JPY)
Euro (EUR)

...AND you wish to accept PayPal payments.
...BUT you can install this anyway and just disable it from the config.
...OR Dev Team can merge this into the next release.
--------------------------------

This payment Method:
->Converts the cart Total Amount and Shipping charges to one of the supported currencies that PayPal allows.
  TIP: The allowed currencies are viewable in your PayPal account, under 'Profile' > Financial Information - 'Currency Balances' links.
  TIP: For more payment receiving options related to currency, See 'Profile' > Selling Preferences - 'Payment Receiving Preferences' (make sure you are not blocking payments that you do not want blocked!)
->Shows a warning to the customer that the currency will be different in PayPal.(configurable!)
->Updates the payment variables sent to PayPal (Post Variables) with the new values. (Or in the case of customer viewing the order from 'Account Maintenance'...it formats the PayPal button correctly.

->Adds PayPal config option to:
  => Enable/Disable the converter
  => Set the supported PayPal currencies
  => Select the PayPal currency to use.
  => Enable/Disable a currency convert warning on Order View
  => Set the Pre text on the warning (HTML OK)
  => Set the Post text on the warning (HTML OK)

One thing to think about...
The current functionality of VM allows customers to checkout with PayPal payment selected, and not immediately fulfill payment.
Also, the currency converter is pulled from daily exchage rates and converts using those rates on the fly.
...The PayPal button on the order.
...Exchange Rates change.
So, an order where the PayPal payment is still 'pending' (whether marked as such or not) could be converted later at a
substantially different rate than when purchsed. This may / may not be advantagous / disadvantagous to the vendor / customer.
--------------------------------

Install Steps:
1. First, back-up some files:
  a. PayPal class files
    ->folder: /administrator/components/com_virtuemart/classes/payment/
    ->file: ps_paypal.php
    ->file: ps_paypal.cfg.php
  b. Language file
    ->folder: /administrator/components/com_virtuemart/languages/common
    ->file: english.php (and romanian.php for romanian users)
2. Figure out if you have any hacks currently applied to your PayPal files.
   You may or may not need to merge them into the code supplied with this hack.
3. Back-up your PayPal - 'Payment Extra Info'
  ->Login to Joomla admin and go to the VirtueMart admin.
  ->Select 'Store' > 'List Payment Methods' menu item,
  ->Find PayPal method on the list and click it's name to Edit.
  ->Go to 'Configuration' tab
  ->Copy all text in the 'Payment Extra Info' textbox at the bottom.
  ->Paste it into a text editor and save it somewhere local.
4. Figure out if you have any hacks currently applied to your PayPal 'Payment Extra Info' code.
   You may or may not need to merge them into the code supplied with this hack.
5. Upload the language files and overwrite with the file supplied in this attached archive: english.php (and romanian.php for romanian users)
6. Upload the class files (ps_paypal.php, ps_paypal.cfg.php) to folder: /administrator/components/com_virtuemart/classes/payment/
7. Configure your new PayPal method, and 'Payment Extra Info'
  ->Login to Joomla admin and go to the VirtueMart admin.
  ->Select 'Store' > 'List Payment Methods' menu item.
  ->Find PayPal on the list and click name to Edit.
  ->Go to 'Configuration' tab.
  ->Re-enter your old settings (look in your backed-up config file), and Choose the new settings you want for currency converter section.
  ->Copy all text from the file supplied in this attached archive (extrainfonew.txt)
    and Paste it into the 'Payment Extra Info' textbox at the bottom.
  ->Click the SAVE button.
8. Test it.

[attachment cleanup by admin]

bigheadmall

Thank You very much ,I Find long time for Method Covert currency
http://www.bigheadmall.com  Shopping Online
http://www.bigheadmall.us buy blackberry online
http://www.nextrix.com Software & Website for Business

sundar

i did al those thisngs as u said but still am getting

This recipient does not accept payments denominated in WS_Error_XClick_Pref_Foreign_Currency. Please contact the seller and ask him to update his payment receiving preferences to accept this currency.

dragaodepapel

I'm getting a problem like that too, but my store works with Brazilian Real (BRL) and US Dolar (USD). PayPal don't have BRL in their accepted currencies list.

So, I follow the steps above, but I found a little problem here.
The vendor_currency in my case is "BRL", and I put in options that PayPal work with USD. In this case, the conversion works very, very well. But when the order is made with "USD" currency, selected by user, it's try to convert the value again, because it's using the vendor_currency, not the order currency.

So, I changed the file from w259lkt to use the order currency. The file is attached.

And, it's only the problem. Most of my orders is for downloadable goodies, so there is no shipping, so I make another change when it's verify if amount AND shipping isn't null. In my case, the shipping is.

So, when an order is made with BRL, this will convert to USD the value; and when an order is made with USD, the value remain correct.

Well, my english isn't so good, but I think that I can show the idea.

[attachment cleanup by admin]

Reincha

i have a problem: everything works except when customer pays i receive e-mail:
----
PayPal IPN Error: Order Total/Currency Check failed:

During a paypal transaction on your site the received amount didn't match the order total.
                   Order ID: 49.
                   Order Number: 68_d2891ba92e9c09f90a00359d71673.
                   The amount received was: 0.15 EUR.
                   It should be: 0.11 LVL.
---------
Everything is correct 0.11 LVL is 0.15EUR , i receive correct amount, but order status stays the same

Hope you can help!
Thanks

rdavilamx

#5
Hi,

I was made all the steps that you  posted to accept foreign currencies but I still have the same error.

"This recipient does not accept payments denominated in WS_Error_XClick_Pref_Foreign_Currency. Please contact the seller and ask him to update his payment receiving preferences to accept this currency."

My currency is Mexican Peso  (MXP)

any idea what could be wrong?

Thank you very much for your Help

Regards

Ricardo


[attachment cleanup by admin]

w259lkt

Hi rdavilamx!

what version of virtuemart are you using? the mod was tested only on ver 1.1.2.

pls also verify your paypal payement preferences.

rdavilamx

Hi,

Thank you for your help,

I am using  the version 1.1.3, but i have found the error.

for Mexico we must to use MXN not MXP code.

regards

Ricardo


sazz

Hi i have mistake somewhere, please can you tell me the right configuration?

This is what i done: take a look at screenshot

And in store configuration the currency is USD, tell me what i`m missing!

My store is bulgarian - BGN as country and BGL as currency ;)

When i complete payment step the store redirects me to paypal, but the prise is not conwerted. Plese take a look to my configuration!

[attachment cleanup by admin]

w259lkt

first of all, I wish to thank everyone of you for your interest in my little mod to DENEBs mod.

Attached I have posted 3 screenshots from my configuration.

1. In store configuration choose your currency (RON for me as we operate in Romania) and the list of accepted currencies  (EUR and USD for our store - this is the price we use for items - but displayed in RON) - screen1
2. edit english.php and save it asa your_language.php (it is romanian.php in my case). edit your_language.php and translate all the fields. then, apply the procedure form the first/initial post in this thread, replacing the occurencies of romanian.php with your_language.php in the procedure.
3. Choose the payement method paypal (as configured before) and edit in payement method form your paypal commission rate (3.5% for me, written with a minus sign to be added as "negative discount") screen2.
4. do not edit anything in the next screen (configuration) except the warning texts in local language. screen3

[attachment cleanup by admin]

sazz

i reccieve paypal screen as "This recipient does not accept payments denominated in WS_Error_XClick_Pref_Foreign_Currency. Please contact the seller and ask him to update his payment receiving preferences to accept this currency."

Maybe becouse of the language.php file. My is bulgarian.php but i don`t know what to change on it.

w259lkt

what currency you use in store? please try to do the steps i outlined in last post.

rename english.php (provided by me ) to bulgarian.php.
there are some new fields inside.
after you check that it works, translate the fields inside in bulgarian.

it should do the trick.

sazz

Its not about the language. I change the language but still reccieve that message in paypal.

My configuration is: screenshot

when i change currenci in euro it works

[attachment cleanup by admin]

omdawe

I want to use this function for IDR (Indonesian Rupiah).. i use "VirtueMart 1.1.4 stable" and tried everything on this thread even the wrong turns but im still getting:

This recipient either does not accept payments denominated in IDR or has specified an invalid currency code on his web site. Please contact the seller and ask him either to update his payment receiving preferences to accept this currency or to correct his web site to specify a valid currency code.

If im not wrong, somewhere before for the client gets to PayPal they should get a "Pre Text for warning:" where should this come up?

girishkumar518

I am using VirtueMart 1.1.3 stable  version
i follow the above steps but still i am getting following warning message on paypal site

This recipient either does not accept payments denominated in INR or has specified an invalid currency code on his web site. Please contact the seller and ask him either to update his payment receiving preferences to accept this currency or to correct his web site to specify a valid currency code.

I am using INR as a currency

Thanks
Girish