RailsConf Panel: Selling Music in the 21st Century with Ben Curtis

!http://static.flickr.com/45/174612466_dc75eb189b_m.jpg!:http://flickr.com/photos/kastner/174612466/

Ben Curtis runs the plugin directory on rails

21st music is trying to fill the gap between 100% independent and 100% soul-sucking RIAA.
Ben’s major role was in making the shopping cart e-commerce site.

h3. Who is Ben Curtis?

* a startup guru
* worked at real networks
* worked at upscale USA (perl and php)
* March of ’05 he learned about Rails
* He’s not the Dell guy – even though they have the same name
* Also not the pro golfer
* “bencurtis.com”:http://bencurtis.com
* “agilewebdevelopment.com”:http://agilewebdevelopment.com
* “tesly.com”:http://tesly.com
* stympy on #ror

h4. He wrote a book – “http://www.agilewebdevelopment.com/book”:http://www.agilewebdevelopment.com/book

h3. Why build a store?

* Because you’d be out of a job if you told your client to just use Shopify!
* It’s hard.
* Do NOT build one of you want to sell one product tomorrow – use Shopify or PayPal
* But if you hate all the OSS ones, and need a real cart, write your own
* BoxCart is a Rails cart
* If you have specific business rules

h4. “It’s Just” – but it’s really not.

Ben thought it was going to be easier then it actually was.

Issues
* inventory
* attributes
* options
* payment methods
* shipping methods
* refunds
* affialiates

CDBaby and 21st both thought it would be easier then it actually was!
21st is some where around 6,000 LOC

Your client needs to do work for you! Product shots, product info, shipping info, etc etc.
Don’t forget your SSL cert.
Site design takes work also.

h4. Products and Variants

!http://static.flickr.com/53/174627666_1da2d949d6_m.jpg!:http://flickr.com/photos/kastner/174627666/

Make sure you have to write the cart.
Put all your business logic in your models!

h4. Payment Processing

TrustCommerce.com – Ben says they’re great.
PayPal’s API doesn’t like ruby (SOAP4R)
ActiveMerchant? (what is this?)

h3. Sensitive Data

* Objective: speedy check out for customer
* Problem: CC data is a liability
* Solution: Pass the buck
* Alternate solution: Encryption

h3. Gift Certificates suck.

h3. Working with Sales

h3. Taxes

h3. Returns and Refunds also suck

h3. Shipping – it’s a big deal.

h3. Affiliates

h3. Testing – DO IT and use Mocks with it