Thursday, July 01, 2021

Netflix Won't Take My Money

Fry from Futurama holing out a wad of cash saying 'Shut up and take my money!'

I want my own Netflix account. I don't particularely want most of the other streaming services for reasons beyond the scope of this post. I want Netflix.

A few years ago I had a roommate living here. When he moved in, he brought his Netflix account with him. My TV has a Netflix app built right in. He put his credentials into the TV, and set up a profile for me so either of us could use the account. Then he moved away, but continued to let me use his account. After a while he cancelled it. So I decided it was time to get my own.

On I went to Netflix.ca and created an account. When it came time to pay, I noticed they no longer offered the free one-month trial. I was disappointed, but decided to carry on anyway.

As part of the registration process, I had to give an email and password, and it knew I was in Canada, but didn't ask for a postal code.

When it came time to make the payment, I selected the cheapest option ($9.99/month) and filled in the form. After filling in my credit card information and clicking "Submit" I got a vague error: "There appears to be a problem with the payment method you are trying to use." Netflix error saying There appears to be a problem with the payment method you are trying to use. Update your credit or debit card.

That's not very specific. I tried a different credid card, a different browser, a different device, etc. etc. Here are the different things I've tried: (Note Netflix Canada only accepts Visa, Mastercard, American Express, and gift cards.)

  1. My laptop
  2. Two different desktops
  3. Firefox
  4. Brave browser
  5. Chrome
  6. The Netflix app built into my TV (which just told me to do payment details in my computer)
  7. The Netflix app built into my BlueRay player (which just told me to do payment details in my computer)
  8. MasterCard
  9. Visa
  10. Putting my middle initial at the end of my first name
  11. Putting my middle initial at the beginning of my last name
  12. Leaving my middle initial out completely
  13. MY NAME IN ALL CAPS
  14. My name with only the first letter in capitals

Here are the things I have not tried:

  1. A more expensive plan. Maybe this problem only exists on the cheapest plan?
  2. A gift card...which may always leave some money on the card.
  3. I switched from DSL to Cable Internet (temporarily) so I'm on a different network. Perhaps with this different network I can hit a different Netflix server that may work.
  4. I recently got an AppleTV and upgraded my iOS. I can install the Netflix app on each, and the app store says it accepts in-app payments. If I can get Netflix to charge my app-store account, which will charge me, then it's not ideal, but I'd go for that.
  5. Use a VPN to try to access Netflix in a different region to see if things could work there. (But they may block a lot of VPNs.)
  6. A friend once told me that you can get these "anonymous" credit cards online and use one of those to try. It seems super-sketchy....but perhaps it's something to investigate.

If you Google "Netflix won't accept my credit card" you see that this is a huge problem, and Netflix refuses to acknowledge that the problem may be on their end.

I called Netflix and they sent me a list of questions to ask my credit card companies (and along with the answers of both cards:

Are there enough available funds to cover the charge from Netflix?
Yes
For credit and debit cards, is the card still valid, or has the financial institution recently issued a replacement?
They're all still valid and no recent replacements were issued
For credit and debit cards, can the card be used for recurring billing?
Absolutely
Does the card or account support e-commerce transactions?
Absolutely
Was the transaction processed as an international charge? Does your account support this?
It was processed as a local charge, and I'll return to this question below.
Was the transaction declined for any security reasons?
No, it wasn't declined. More on this below.
Does your financial institution see the transaction attempt from Netflix? Can they explain why it was declined?
They see it as accepted. More on this below

I called both my credit card companies about this. And my cards are both properly set up to accept Netflix. The problem is 100% on Netflix's end. Above I mentioned that Netflix no longer offers the 1-month free trial. I think this may have something to do with it.

One of my banks told me they saw a few Approved charges from Netflix for $0.00.

Very interesting. Here's what I think is what's happening:

Netflix Canada, years ago, sets up a one-month free trial. But before they give out any free trials to a new customer, they need to make sure that customer can pay in the second month. So they ask for credit card details. They charge that card for $0.00 to make sure it works. I figure the psuedo-code could look something like:

At Netflix


// planRate and ccInfo would be from elsewhere.
// I'm just making them global here so you can visually see it.
global planRate = $9.99;
global ccInfo;

function checkCreditCard () {
  planRate = 0;  // temporarily set planRate to 0 for the free trial
  let approval = getMastercardApproval(ccInfo, planRate);
  // the 0 is the $0.00 for a free trial
}

At Mastercard


function chargeCard (Amount) {
  if (applyCharge(ccInfo, Amount)) {
    // It worked!
    sender.sendMessage(true, ccInfo.number, Amount);
  } else {
    sender.sendMessage(false, ccInfo.number, Amount);
  }

Back at Netflix


function checkApproval(success, number, Amount) {
  planRate = 0;  // temporarily set planRate to 0 for the free trial
  if (success == true && number == ccInfo.number && Amount == planRate) {
      successFunction ();
  } else {
      fail ("There was a problem with your credit card.");
  }

If you follow that code through you'll see that Netflix is charging $0.00 and then checking to see if $0.00 was charged. Then when the free trial ended, Netflix Canada removed the planRate = 0; // temporarily set planRate to 0 for the free trial from both functions, and somehow the first function didn't make it to every production server. So on some servers, the planRate (say $9.99) is being charged. On others, $0.00 is being charged. Then in the last function, it's checking if the amount charged is the same as planRate. It won't be on the servers that never got the updated code. Since some people hit a server with the updated code they're able to sign up. Netflix sees that some people can sign up, so they don't notice the problem. They see fewer people have signed up than before, but that's to be expected after prices go up, and a free trial goes away. And I suspect the tech support (no doubt outsourced to a private firm in India) has no way of telling Netflix "We're getting a lot of complaints about this. You might want to look into it."

If I'm right about this, then it's the loss of free trial that's the problem. Some people who have complained about this said that the tech support was able to put a one-time charge through and it worked. Someone else mentioned that using the live-chat feature, the tech support guy was able to have the customer fill out a separate form somewhere.

Aside from the list of questions to ask my credit card companies, tech support suggested I use gift cards. I don't want to use gift cards because the amounts you can buy are never exact multiples of the plan amounts! As of this writing, a basic plan in Canada is $9.99 + HST: $11.29/month. If I could get a gift card for $11.29, or $22.58, or $33.87, etc. then okay. Instead I could get one for $30 and charge 2 months to it and have $7.42 left over. If my above suspicions are correct, then I'd be beyond the free trial part so I could switch payment details to my credit card and it would work. Is it worth $7.42 to find out? If it doesn't work then I'll be forever buying gift cards and always having a bit left over.

UPDATE

In order to get the actual text of the credit card error for this blog, I decided to try signing up again. Just to get the error! But the registration worked! I now have Netflix!

I don't know why. I must be a poor scientist. I altered two variables:

  1. I used Chrome instead of Brave or Netflix (maybe Netflix only specifically supports Chrome and not Chromium browsers like Brave. If this is the case, I should abandon Netflix.)
  2. I tried using my Cable Internet connection (different networks could hit different servers. I'm now on TekSavvy's network instead of Bell's. (I'm not linking to Bell because I don't want to give them any more traffic.)

Now I'll never know if my suspicions about the new code not making it to all servers are correct. Nevermind! I have some serious watchin' to do.