As Fred Wilson points out in his blog post from 2011 - why not take this approach with every startup? 1) It isn't always possible to find a customer who will buy in advance 2) It takes great salesmanship to sell something that is not built.
The most common way customer financing is done is you sell the customer on the product before you've built it or before you've finished it. The customer puts up the money to build the product or finish the product and becomes your first customer. Usually the customer simply wants the product and nothing more. At times an early customer might ask for some exclusivity on the product or even some free equity in the business, but most of the time the early customer simply wants the product from you and nothing more.