Customers to my website who are from the USA need to pay more P&P then UK customers. How do I make a PayPal button which charges a different amount depending on the country the user is from?
You should have two pages that sell the product. One that targets US customers and has the price listed in USD, and another that targets UK customers and has the price listed in GBP. Then you can have two different buttons based on the page they are on.
This can be done with encrypted non-hosted PayPal buttons. You can construct data for such buttons dynamically based on user's country.