Handling multiple currencies in Magento - php

In Magento, we have multiple stores. Two of these stores share the same products but they have different prices. Store 1 uses Japanese Yen while Store 2 uses US Dollar. I'm using Japanese Yen as the base currency for both stores so that we don't need to input 2 prices, 1 for Yen and 1 for Dollar. I was able to convert all the prices in Store 2 frontend-wise to dollar by making some changes in the html code.
We use Paypal as the payment method. Since we use yen as the base currency the currency for Store 2 also displays as yen. I converted this also to dollar. Everything works well up to this point. The problem comes in when I go to the admin panel. Under Sales/Orders. I try to process the order and Invoice the specified order. The problem is, the order details now show 2 prices (1 in yen, 1 in dollar) like so:
Order Totals
Grand Total ¥21,200.00
[$218.36]
Total Paid ¥0.00
[$0.00]
Total Refunded ¥0.00
[$0.00]
So if I try to invoice the order, I end up with this error:
PayPal gateway has rejected request. Currency of capture must be the same as currency of authorization (#10613: Currency mismatch).
Is there anyway I can make Magento handle both currencies while the base currency is Japanese Yen?

As i know paypal is not accepting Yen directly there two alternative here i can suggest you to follow this two link and i am sure you will find solution depends on that
http://www.magentocommerce.com/boards/viewthread/270952/
follow this thread and may be you will get better idea,
however you can also go throw this Documentation to create some customization in model file to make it happen in your case
http://inchoo.net/ecommerce/magento/magento-checkout/magento-paypal-standard-how-to-pay-with-currency-other-than-base-one-and-do-it-in-your-language/
hope this will sure help you.

Related

Woocommerce - display price in two currencies at the same time?

For legal reasons I'll soon have to display all prices in local currency + EUR at the same time.
I have WPML with multicurrency enabled, and I can set an exchange rate there. Problem is - it only works with currency switcher widget, and doesn't allow me to display both currencies at the same time (one under other). So, the other price is already calculated somewhere, but I don't know how to retrieve it and display it by adding something to functions.php of child theme.
Alternatively, there is no need to use WMPL Multicurrency here. Exchange rate is fixed, so it would be sufficient to just somehow divide the original price with fixed exchange rate and display it with other currency symbol. I'm aware that original price is already HTML formatted and contains the original currency symbol. Hence - no arithmetic operations can be used unless it's converted to number and currency symbol is stripped.
I've tried using this solution: Display prefixed price and additional unit price in Woocommerce simple products, but I end up with prices like this:
Original price: 99.00 $
Calculated price with fixed "exchange rate" entered in $unit_divider = 1.1;: 90.00 $ €
Note that here I managed to do the calculation and conversion, but I'm stuck with $ symbol.
P.S. I only need to display the price on product pages and archives - it's not necessary to have both currencies in cart and checkout (but it would be great to have that too!).
Thanks for help!

Magento 1 wrong Shipping rates

we are using Webshopapps Product Matrix Rates pro version
after asking the developers of this extension they are saying that it's NOT the extension that is causing the issues as the logs say it's returning the correct values.
We have a shipping matrix setup for UK postcodes that requires a delivery charge for certain UK postcodes this is on a multi site setup which as 2 sites.
What should happen is per pallet added to the cart it should add £4.80 where a charge is required based on the postcode entered, so If I have 2 pallets the shipping cost to the postcode would be £9.60 and £4.80 for each extra pallet added there after, for the economical 2-3 day delivery.
On site one if I add 5 pallets the shipping cost is coming back at £28.80 where it should be £24
On site two If I add 5 Items the shipping cost is coming back at £9.60
I have no Idea why it is doing this as both sites are using the same code / theme apart from the logo and CSS for the colours of the site.
If anyone has any suggestions for a fix it would be much appreciated.
sorry I can't put code here or setting as I have no idea what I need to post for you to view.
Regards
Mal
Sorted, turns out after the developers going through the logs and a lengthy chat, which the boss remembered something very important they had done on the products on the other site I was trying to match, once I found this out it all made sense and got it working correctly, so there wasn't any bugs and it's working correctly all along ARGH!!!!
Basically any products on the first site where the weight was over 850KG was set to 850KG regardless.
on the new site the correct weights have been added, so anything over 850KG was adding the extra cost, then they didn't update the CSV to reflect this.

Opencart: Different price per country or zone?

Can i have different price in each product based on the country of a registered customer? (im talking about the base price, not shipping or tax or special price)
Any ideas or any module to suggest?
Assuming all your users are registered already, with an actual billing or shipping address, you could easily change the pricing according to the user's country.
There are 3 ways you can approach it. Since I am assuming you are familiar with how to customize OpenCart I will layout the guidelines with minimal code. I am also assuming all your users are already registered as you suggested.
The options are:
Customer Groups (Easy but not recommended).
Adding a price ratio column to the countries table. (Moderate but recommended).
Override your currencies (Easy but limited solution).
Use Customer Groups.
You will have to create a unique customer group for each country (or continent if you wish) and upon signup you will assign the correct customer group to the user. You can do it automatically by changing your registration model and controller files or manually by making sure that all new customers need to be approved first.
When setting a product discount, you can set up a different discount for each customer group.
This is A LOT OF WORK and will BE HARD to maintain but it’s possible.
Note that, by default, customers will be able to see the base price before discount (which can sometimes be lower than their customer group price). You can edit the product.tpl or your css file and remove it from showing.
Add a price_ratio column
The 2nd way (my recommended way) will be to modify your country mysql table and add a fixed price ratio for each country (i.e US is 1, UK is 1.2, Thailand, 0.8 etc). This will change base pricing for all products in a fixed ratio.
Edit database table 'country' and add column named 'price_ratio'.
Edit your model and controller files to calculate the effective price by price * price_ratio.
Send it to the view and show the effective price.
You will also need to modify your admin localization/country model, view and controller so you can make changes to the price_ratio directly from the Admin.
With this method, you only need to change the price_ratio once and all prices will be updated (in contrary to the first method where you’ll have to change pricing for each product and each country).
Also, technically if you are lazy about it, you could store all price ratios in an associative array in your code and avoid all other modifications, but that would be harder to modify down the road.
Use Currencies
3rd way will be to override your currencies but that would only give you limited control (i.e different countries in Europe share the same currency so you can not display different pricing).
Hope this helps!
There is no such extension, AFAIK, and asking for recommending of such an extension is a reason for closing Your question. But it is possible to implement it these ways:
check the IP address - find out the country of origin (via one of many free/paid services out there on the internet) and change the prices accordingly. This may not be 100% accurate as users may use proxies and thus user from USA may have IP from China in the end...
require users to log in first and then check their shipping/invoice address to get the country. This may also have some hacks considering the user may have more shipping addresses (to different countries) or his shipping and invoice address's country may be different
inform users that the prices are country-dependent and that they to pick up one country (a select box similar to language/currency chooser) where the shipping will be done and after this You can change the prices accordingly. Then there will have to be a check whether the selected country is the same as the country of shipping/invoice address...
Anyway, all methods will require a huge modification - maybe a new module for backend to set the product/country price ratio (similar to the currency) or a modification of product details to be able to set a concrete price for each country (keep in mind there are hundreds of countries so maybe it would be wise to allow just few of them) and of course a modification for frontend to calculate the prices correctly in regards to the country...
My opinion: this is useless waste of time... You can achieve similar behaviour when using ratios for different currencies (different country - different currency - until you want to set different prices for EU countries with EUR)...
Here is the list of extension i have found related to your problem
Assign Customer Group By IP (By D3MO)
Auto Price Increment / Reduction Rules By GeoIP (By D3MO)
There is another extension to set different prices for each currency
Currency Price (By ashwani_multi )
I hope these will help you. Following are the links for these extensions
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=34652&filter_search=Customer%20Group%20Price
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=29023
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=34754&filter_search=Customer%20Group%20Price

Can we use multiple currency type in a website using X-Cart

Can we use multiple currency type in a website using X-Cart. For example is it possible to use both USD price and AUD price for a single product or different products in a single web-site using X-Cart.
If you use X-Cart GoldPlus or Platinum, you may SHOW PRICES in several currencies. It's possible due to 'multicurrency' module ( which is built-in to the versions above, and is a separate paid add-on for X-Cart Gold): http://www.x-cart.com/extensions/modules/multicurrency.html
It's actually for customer's convenience - he will no longer need to recalculate the cost into his local currency.
However as I understand you want not only to SHOW, but also to PROCESS orders in different currencies. By default it's not possible, but you may want to consider such a custom modification ( from $549): http://mods.x-cart.com/Advanced-Multi-Currency-Support.html

Magento - adding special shipping rules?

Okay, so I am building a Magento store for a client who wants a fairly simple shipping setup, but one that I am not sure Magento supports.
She wants the customer to be billed:
5 dollars for 1 item
7 dollars for 2 items or
10 dollars for 3+ items
Is this something that can be added? If so, how do I go about it?
If you need anything about shipping, at first you have to check WebShopApps extensions
I believe that even their free Matrix Rate allow that
http://www.magentocommerce.com/magento-connect/webshopapps-matrixrate-1-multiple-table-rates-extension-certified-bug-free.html
http://wiki.webshopapps.com/extensions/matrix-rates
yes its possible
you have to build simple shipping module and in the collectRate Method you check how many items in the current checkout session
Mage::helper('checkout/cart')->getCart()->getItemsCount();
and based on this you assign the amount for the shipping.
its pretty much easy straight forward module.
http://www.magentocommerce.com/wiki/5_-_modules_and_development/shipping/create-shipping-method-module

Categories