Category Archives: Ecommerce

Netflix, Rushing Roulette?

Like many of us you might be wondering why Reed Hastings is tearing a great company in two. The company had had a solid decade of growth and now it seems to be faltering at every step. In the past decade Netflix has gone from ~$3 a share to ~$300 a share a 100x return, so investing $100 in the company would have made you $10,000, not bad. In fact that return is so good that you would find it hard to find a bet in Vegas that would give you a return like that. Roulette only nets a 35x return if you bet on a single number, and in Craps you can make an unlikely bet to earn 30x, by betting either on a 2 or a 12, both requiring a pair of doubles to come up.

In the case of Netflix though there are a number of pressures bearing down on them. Content providers see Netflix’s 25 million customers and feel like DVD/ BluRays are more secure and feel like they can turn content on and off to A/B test how consumers view content. The US Postal Service is thinking about cutting 238 offices nation wide, cutting out up to 5 post offices per state, or more likely up to 10 offices per metro region. Netflix has had to adjust content pricing to afford them the ability to bring in new content, while, other long standing partners have decided to take their content libraries elsewhere. And then add to that that there are Trillions of dollars of investment, yes Trillions, invested in the group of company’s competing with Netflix over the content war brewing in your living room and you might start to see why Netflix is being brash about this.

As a Netflix subsriber, I have been more than happy to have items sitting both in my streaming que, and in my dvd que, and honestly if everything on Netflix was available via streaming or download, I would opt for that format. The kicker however is that so much good content is left on disc for one reason or another. I have seen content appear on various outlets, like Netflix, XBox Live, Hulu, and Amazon to name a few, but rarely is all of the content in one place. This is probably why Google feels the need to provide a TV with a search bar, and why Apple has been trying to figure out how to own the channel as well. However in the end, the customer still looses. I think in this case, right or wrong Netflix is just tired of talking to content providers about what format the content will be available. I think the re-brand is more of a point of discussion in contracts, and negotiations than it is a consumer feature.

The next chamber of risk brings us to the pending demise of the post office. Currently the US government has been looking for ways to trim the budget and the US Postal Service has been operating at a loss for as long as I can remember, however, today they are preparing for being on their own. There are a few bills in the House and Senate that might require the Post Office to be profitable, and so the Post office has proposed a plan that will cut 7% ( 38,000 ) of it’s workers, and 1% ( 238 ) of it’s offices from it’s budget just before Christmas. I think Netflix, which is one of the largest users of the post office next to Amazon is probably concerned that the cost to ship DVDs this winter will increase, and the delivery times will too. Right now I get my DVDs in about 1 day, sometimes 2. Imagine now that those discs now take 2 days or maybe 3. How much more pressure will there be to stream. The odd part is that all of the disc rental sites will have the same problem. And for a 2hour film waiting 2 days for a film, and the having to wait another 2 days for it to get back to Netflix/Qwikster might cut the number of DVDs you have cycling through by half. I would expect Qwikster to play with pricing over the next year to account for that. Splitting the two companies means that while Qwikster finds it’s groove Netflix can focus on getting content.

On top of all that, Netflix is a 12 Billion, strike that 8 Billion dollar company that is competing with Google, Apple, Microsoft, Amazon, Comcast, Time Warner Fox, NBC, ShowTime, HBO, TNT, Viacom, Disney, etc… I think the market cap of their competition is near 2 Trillion dollars. Netflix needs to be more nimble than is competitors and if by doing this they can even gain a month or two on these companies it might be worth it. iPad beat several company’s by only 6 months, but by that time they had already sold enough devices to make it very expensive for other’s to compete there.

Finally companies like to manage their investors expectations and if the news was already bad, they have this habit of pilling on bad news or announcing bad news right before really good news. So if Netflix stock is already taking a hit, and you were going to separate the companies in q4, but now you can just do it in q3, you can write those numbers off earlier, you can push your bad books down into q3, and then you can set your self up for a decent q4. If Netflix wants to compare q4 of this year to q4 of next year, doing this now helps. I also thing that Netflix’s gross margins will skyrocket right now Netflix has a P/E of 40 at $150 a share, and it probably was a P/E of 80 at $300 a share which was probably a bit over priced with a gross margin of 15%, but let’s say that Netflix drops it’s DVD rental service, and it’s gross margins go from 15% to 50%? Even if the company looses customers it probably is better for the stock, and the company. The company would be cash rich and able to better acquire content. Right now Qwikster is expensive to run and competes on costs, and is probably constrained to 10-20% gross margins.

Netflix on the other hand has been experimenting with buying their own custom content and this may allow the company to do that more. I would love to know what the insider trading is doing with Netflix.

Paypal IPN Validation Fails with Adaptive Payments and PHP query/ post parameters

If you are looking for a solution you can find it here.
Thank you Gleb ( )

The problem comes in how the API is designed, and it takes advantage of a little known feature of query parameters and their allowed characters. Paypal uses array’ed parameters like:


The problem is that PHP does not know how to parse the query parameter and either skips it or stops processing the list. ( i can’t remember which ).

Paypal’s Adaptive Payments API is neat and freshens up their functionality, and additionally uses JSON as a communication layer, so I think it’s clearly their future, however, there are a number of little problems like this as you walk through getting up to speed on the API. I hope this helps anyone in the future by saving them an hour to day.

It kinda reminds me of some of the problems we had getting the MySpaceID API up and polished so I guess this is a nod to all of those APIs that do it right the first time.


Getting VerifyStatus API working in Sandbox

There are a few caviots to getting the API working.
I hope this saves someone a few hours/ days.

  • CallerServices.php has a small bug
  • Only Sandbox email accounts work in the sandbox. Thanks for confiming @ppalavilli
  • ALL Sandbox accounts have the First Name: Test Thanks @ppalavilli
  • ALL Sandbox accounts have the Last Name: User Thanks @ppalavilli

If you get a

PHP Warning: Missing argument 3 for CallerServices::callWebService()

On line 101 of CallerServices.php you have:

function callWebService($request,$serviceName,$simpleXML)

It should read: //(most of the calls that use callWebService are parent::callWebService( $request,$serviceName ) anyways.

function callWebService($request,$serviceName,$simpleXML=NULL)
$response = null;
try {
    $response = call($request, $endpoint, $this->sandBoxEmailAddress,$simpleXML);
catch(Exception $ex) {
throw new FatalException('Error occurred in call method');
   return $response;

Here is the code I used. Replace {email} with one of your sandbox email addresses.

public function verify_email($params){
$VstatusRequest = new GetVerifiedStatusRequest();
$VstatusRequest->emailAddress = '{email}';
$VstatusRequest->matchCriteria = 'NAME';
$VstatusRequest->firstName = 'Test';
$VstatusRequest->lastName = 'User';
$rEnvelope = new RequestEnvelope();
$rEnvelope->errorLanguage = "en_US";
$VstatusRequest->requestEnvelope = $rEnvelope ;
$aa = new AdaptiveAccounts();
$response = $aa->GetVerifiedStatus($VstatusRequest);
echo json_encode($response);

The JSON encoded object looks like such:



Paypal X Adaptive Pay FundingConstraint for PHP

The following code is an example of adding the FundingConstraint objects for a payRequest with Paypals new Adaptive Payments. I hope this helps.

$payRequest->fundingConstraint = new FundingConstraint();

//    ->fundingConstraint
//    ->allowedFundingType
//    ->fundingTypeInfo
//    ->fundingType = "BALANCE";

    ->fundingType = "ECHECK";