Ive read in more than one place that a payer can choose a different currency than the one specified in the buy button html, when at the payment details page.
However, when testing things on the sandbox, pressing the buy button, and logging in as the payer (fictitious), im never offered the possibility of paying in a different currency, nor is there any indication of a conversion taking place. I have even tried to remove the currency balances so that the payer does not have a balance in the same currency as the one specified in the button, but it still does not work. No option is given to me, nor is any conversion mentioned.
What am i missing? Does this mean that the currency I specify for the buy button is the only one I can get payed in?
[copied and pasted from my reply elsewhere - 'cuz I'm lazy ]
You will only ever receive a payment from the Buy Now button in the currency you specified. However, a buyer should have an option to convert from a foreign currency balance or pay with a credit card or bank that uses a foreign currency. The conversion rate should be displayed to the buyer during checkout.
I'm not quite sure how to test this in the Sandbox. Try creating a Buy Now button with a GBP currency code, then click on it and log in using a U.S. buyer account with a USD balance (and no GBP balance) - see if it displays conversion rate and a "conversion options" link on the Review page.
When you create a Buy Now button in the Button Factory on the PayPal site, you can select a specific currency for that button. It can be used to pay you in that currency even if your primary currency is something else - as long as you have not selected the Profile setting to block other currencies.
If you want to experiment with other currencies, another way to do it is to take an existing Buy Now button and add or change the "currency_code" variable. the currency_code variable can have the following values:
AUD = Australian Dollars
CAD = Canadian Dollars
GBP = Pounds Sterling
EUR = Euros
JPY = Yen
USD = US Dollars
Using the Sandbox on PayPal's Developer Central (developer.paypal.com), you can test accounts from different countries; however, I'm not sure how you can add credit cards and balances from other currencies. Try creating an account and going to the Credit Cards link in Profile; it may auto-fill the form with a test credit card number that is based on the default currency for that country.