Slide 1

Slide 1 text

Building Ecommerce Projects with Moltin - DREW MCLELLAN - - PHPSW JULY 2015 -

Slide 2

Slide 2 text

Hello! I’m Drew McLellan. Lead dev on Perch CMS. Publisher of 24ways.org @drewm github.com/drewm

Slide 3

Slide 3 text

Ecommerce sucks.

Slide 4

Slide 4 text

Ecommerce sucks. Open Source and crappy!

Slide 5

Slide 5 text

Ecommerce sucks. Open Source and crappy! Hosted and restrictive!

Slide 6

Slide 6 text

Ecommerce sucks. Open Source and crappy! Hosted and restrictive! Enterprisey and useless!

Slide 7

Slide 7 text

Ecommerce sucks. Open Source and crappy! Hosted and restrictive! Enterprisey and useless! Bespoke and full of sadness :(

Slide 8

Slide 8 text

Time spent on wrangling ecommerce is time stolen from finessing the UX.

Slide 9

Slide 9 text

Payment gateways are all different.

Slide 10

Slide 10 text

Payment gateways are all different. (AND MOST ARE TERRIBLE)

Slide 11

Slide 11 text

Compromise all the way down To gain: Off-the-shelf functionality Ease of hosted SaaS Choice of gateway Web, app, PoS integration You lose: UX flexibility Seamless integration Your hair Entire contents of your bank account

Slide 12

Slide 12 text

What could the answer possibly be?

Slide 13

Slide 13 text

What could the answer possibly be?

Slide 14

Slide 14 text

Moltin is an ecommerce web service API.

Slide 15

Slide 15 text

Moltin is an ecommerce web service API.

Slide 16

Slide 16 text

Moltin is an ecommerce web service API.

Slide 17

Slide 17 text

Moltin is an ecommerce web service API. Products Inventory Carts Checkout Customers Promotions Shipping Orders & Receipts Currencies Taxes

Slide 18

Slide 18 text

It works like this 1. Sign up at moltin.com 2. Create a store 3. Get an API key & secret 4. Install PHP SDK with Composer 5. Start building your store

Slide 19

Slide 19 text

Install the SDK composer require moltin/php-sdk:dev-version1

Slide 20

Slide 20 text

Instantiate all the things use Moltin\SDK\Request\CURL as Request; use Moltin\SDK\Storage\Session as Storage; $moltin = new \Moltin\SDK\SDK(new Storage(), new Request());

Slide 21

Slide 21 text

Authenticate $result = \Moltin::Authenticate('ClientCredentials', [ 'client_id' => '', 'client_secret' => '', ]);

Slide 22

Slide 22 text

Get stuff done // Create a product $result = \Product::Create([…]); // Update a product $result = \Product::Update('', ['title' => 'Updated!')]; // Get a product $result = Product::Get(''); // Delete a product $result = Product::Delete('');

Slide 23

Slide 23 text

Forge Dashboard

Slide 24

Slide 24 text

Checkout

Slide 25

Slide 25 text

50+ Payment Providers authorize.Net DataCash GoCardless Mollie NetBanx PayPal SagePay SecPay / PayPoint.net Stripe WorldPay

Slide 26

Slide 26 text

Checkout Calculates shipping, taxes, discounts. Adjusts stock levels. Generates orders and invoices. Handles gateway API interactions*
 
 * sort of.

Slide 27

Slide 27 text

Gateways You don’t get total isolation from gateway weirdness. You can’t just swap one gateway for another. Still needs planning for payment flows to call the right Moltin API methods at the right times.

Slide 28

Slide 28 text

Moltin bills on API requests.

Slide 29

Slide 29 text

Billed on API requests Free up to 30,000 per month. 300,000 reqs is $49 600,000 reqs is $99 … 5,000,000 reqs $499

Slide 30

Slide 30 text

So.

Slide 31

Slide 31 text

Advantages You get almost complete control over the UX. You don’t need to build all the boring stuff. Multiple apps (website, mobile, PoS, etc) can all use the same backend with no extra work. Swap out your front end easily. Start adding inventory via Forge before site is built.

Slide 32

Slide 32 text

Disadvantages Creates a very large dependancy compared to something self-hosted. That comes with risk of downtime or service discontinuation. Introduces network latency into many operations. Not as flexible as something completely bespoke.

Slide 33

Slide 33 text

Questions?