I have my CDN credit card working with a US PayPal account. I have confirmed this to work with my American Express and my Capital One MasterCard.
I came up with the idea to try this based upon a post that I read somewhere about using CDN credit cards to pay at the pump at US gas stations which require you to enter a zip code before you fill up. The trick is to use the three numbers from your postal code in order, and enter two following zeros. So, if your postal code is M1M 3C2, you would enter 13200 as your zip code. This trick worked for me on a recent road trip to Florida and back.
I discovered that I could adapt the trick to work with both a US PayPal account and a US iTunes account. Again, I did this with a Capital One Mastercard and an AMEX. Your mileage may vary if you try it with a card issued by a CDN bank.
I will also note that I did this trick with accounts that I already had open using conventional methods. I had opened the US PayPal account with an Entropay Visa as a back up funding source, and a US iTunes account with a Vanilla Mastercard. You may be able to open the account using the method I am about to describe, but I can't personally confirm that it will work. I simply updated by billing method on existing accounts, so my description will be from this point of view.
1. Go to the "account information" page in iTunes for your US based account and the click on the "edit" link beside your payment type, or for a US PayPal account go to Profile>My Money>Update Card.
2. In PayPal, you will select "add a card". In iTunes select your payment type from the icons to open up the account information window.
3. Everything is the same for both services from here on in. Enter your correct card number, expiry date, and CVV.
4. Enter your correct street address, and correct telephone number associated with your account (if prompted).
5. Figure out your fictional billing postal code by using the gas pump trick I described above. So, if your postal code was M3A-1C2, you'd start off with a zip code of 31200.
6. Don't enter that code into your billing info just yet. Go to:
Select search cities by zip code. If I enter 31200, I get an error message saying that no such postal code exists. Not good. However, if I enter 31201, I'm told that it's the postal code for Macon, GA.
7. Go back to your iTunes or PayPal billing page. Again, you want to enter your correct street address. However, your new city (in my example at least) would be Macon, GA with a billing postal code of 31201.
8. Click "submit" and you should be good to go.
It may take a few tries to come up with a real zip code. Just keep increasing the number by 1 until you come across a real zip code. It's important that you put in the matching city for that zip code in your billing information.
Again, I can confirm that this works for me. I have my Capital One linked to my US PayPal account, and I currently use this to pay for a US based Spotify account. Spotify uses PayPal to bill my Mastercard directly. NOTE: US iTunes will not let you bill this way. It wants a verified US PayPal account (linked to a US chequing account).
iTunes uses my AMEX to bill, but I've also used it with my Mastercard.
If you try my method with a CDN bank issued CC and it doesn't work, I'd definitely recommend that you consider opening up a Capital One or AMEX account. In the long run it's far easier than buying US iTunes cards, or Vanilla Mastercards, or relying on Entropay.