How to build an Australian, Drupal shopping cart. Using Ubercart & recurring payments in Drupal. Covering topics like: Essential Drupal modules, Recommended third party services, Recommended payment options, Australian considerations, Payment Gateways, Subscriptions and recurring payments, Security, Costs
1. DrupalACT April 2012
Let's go shopping with Drupal!
Ubercart & Recurring Payments
Justin Freeman
DrupalACT April 2012
2. About Agileware
Canberra company
●
Drupal web developers
●
●Our clients include: Federal Government,
Agencies, Non-profits, Associations, Department
of Defence, SMEs, International organisations
Your friendly, local Drupal dudes
●
http://agileware.com.au
●
agileware.com.au * DrupalACT April 2012
3. What we'll cover
How to build an Australian, Drupal shopping cart
●
Essential Drupal modules
●
Recommended third party services
●
Recommended payment options
●
Australian considerations
●
Subscriptions and recurring payments
●
Security
●
Costs
●
agileware.com.au * DrupalACT April 2012
4. Shopping cart, WTF?
● Sell stuff on the Internet
● Accept payment, deliver something in return
● Sell things like: products, services, goods,
information, access, downloads, events, tickets,
auction sites
● Catalog → product → price → payment →
delivery
agileware.com.au * DrupalACT April 2012
6. The competition!
●Good selection of open source shopping cart
software is available
Lot of it is “not so good” – OSCOMMERCE
●
Some of it is good – Magneto Commerce
●
But mostly they're “not so good”:
●
● Poorly documented, no API
● Customisations, difficult
● Updates are PAINFUL
● Fragmented community
● No formal issue queue, standards etc.
agileware.com.au * DrupalACT April 2012
7. Why use Drupal?
Drupal has solved many of these project
●
management issues and QA is good.
(Don't take my word for it – try the competition!)
●
Highly customisable, extensible
●
Drupal does have good shopping cart modules:
●
● Ubercart (Drupal 6 & 7)
http://drupal.org/project/ubercart
●
● Commerce (Drupal 7 only)
● http://drupal.org/project/commerce
agileware.com.au * DrupalACT April 2012
8. Build your website
Do the usual Drupal build steps:
●
● Install Drupal and required modules
● Design or select required theme
● Customise installation, as required
● Test, test and test some more
Common areas for customisation:
●
● Catalog (less clicks)
● Product display (make it sexy!)
● Pricing options (making choice easier)
● Checkout process (reduce steps)
agileware.com.au * DrupalACT April 2012
9. Demos
1.Default Drupal, Ubercart site
2.Standard shopping cart workflow
3.Customised user experience and workflow
agileware.com.au * DrupalACT April 2012
10. Essential modules
Ubercart, http://drupal.org/project/ubercart
●
● Available for Drupal 6 or 7
Ubercart VAT, http://drupal.org/project/uc_vat
●
● Required for Ubercart, Drupal 6 only
Ubercart SSL, http://drupal.org/project/uc_ssl
●
● Force SSL connection on Ubercart pages
● Secure Pages is another option
agileware.com.au * DrupalACT April 2012
11. Recommended modules
Ubercart EWAY, http://drupal.org/project/uc_eway
●
● For EWAY integration to process credit card
transactions
●Google Analytics,
http://drupal.org/project/google_analytics
● Track conversions from Google Adwords
Ubercart Views, http://drupal.org/project/uc_views
●
● Views integration, custom reports
agileware.com.au * DrupalACT April 2012
12. For Australian carts
●Import “Australia” into Country data and disable
America & Canada (unless selling o/s).
● admin/store/settings/countries/edit
Change US currency, measurements
●
● admin/store/settings/store/edit/format
Configure UC_VAT, set up GST +10% tax.
●
● Required to display price as: $9.95 GST inc
● All prices should be stored ex-GST
● Apply only to orders for Australian customers
● admin/store/settings/taxes/vat
agileware.com.au * DrupalACT April 2012
13. For Australian carts
Change default Invoice template
●
● Need to add information: Tax Invoice & ABN
Copy and modify these files:
●
● ubercart/uc_order/templates/
uc_order-customer.tpl.php
●
● uc_order.tpl.php (make blank)
● active admin theme eg. sites/all/themes/rubik
● active site theme eg.
sites/default/themes/agilemail
● Symlink admin theme files to active theme
Acquia Prosper theme has /invoice set up correctly
●
agileware.com.au * DrupalACT April 2012
15. Recommended services
EWAY, http://eway.com.au
●
● More on these guys shortly
SSL certificate, http://rapidssl.com
●
● Decent price, quick to deliver, good compatibility
Paypal, http://paypal.com.au
●
● Your customers may not trust you, but
(unfortunately) they will trust Paypal
Mailchimp, http://mailchimp.com
●
● Stay in touch with your customers, send
newsletters
agileware.com.au * DrupalACT April 2012
16. Why EWAY?
agileware.com.au * DrupalACT April 2012
17. Why EWAY?
API agnostic:
●
● Banks can have different credit card APIs
● Drupal modules exist for specific Banks
● General one which covers multiple Banks, see
http://drupal.org/project/uc_migs
● EWAY is a credit card processor, talks to all Banks
● Provides independence from any single Bank
agileware.com.au * DrupalACT April 2012
18. Why EWAY?
Security:
●
● Storing credit cart details is a very bad idea
● You become a target and are liable for breaches.
● Security is your problem.
● This is not a nice problem to have.
● So let someone else have this stress, EWAY!
● All credit card details are sent to EWAY over the
wire, processed in real-time and never stored.
● Great anti-scam, anti-fraud features
agileware.com.au * DrupalACT April 2012
19. Why EWAY?
Features:
●
● Have rich XML post-response based API,
http://www.eway.com.au/Developer/eway-api/
● Support token-based recurring transactions
● SMS transaction report
● Web control panel: reports, refunds, manual
transactions
● Based in Canberra, Phillip
● Great phone and developer support (they listen!)
● Affordable
agileware.com.au * DrupalACT April 2012
20. New contender - FatZebra
New Canberra startup
●
Payment processor
●
Cheaper than EWAY
●
Similar API and features
●
JSON based API
●
Young and energetic team
●
https://fatzebra.com.au
●
agileware.com.au * DrupalACT April 2012
21. Recommended payment options
Don't force customers to pay using credit card
●
Provide payment options, make the sale!
●
● EFT (direct deposit)
● Cheque
● Paypal
● Credit card
agileware.com.au * DrupalACT April 2012
22. Recurring payments
Drupal module, http://drupal.org/uc_recurring
●
Maintained by this guy, Chris Hood (thanks Chris!)
●
● chris@univate.com.au, http://univate.com.au
agileware.com.au * DrupalACT April 2012
23. Recurring payments
● Ability to set up recurring billing schedules:
● For individual products
● Entire orders (bunch of products)
● Can notify customer when payment due
● Or even better - bill the customer automatically
if credit card details are stored (eek!)
● EWAY integration utilises tokenised payments,
100% secure
● Token used to bill customer, not CC stored
(YAY!)
agileware.com.au * DrupalACT April 2012
24. Recurring payments
● Workflow overview (recurring & EWAY):
1.Customer submits order and credit card details
2.Customer details and credit card sent to EWAY
3.EWAY returns token
4.Drupal stores token with order
5.Each billing cycle, token sent to EWAY with bill
amount
6.EWAY uses token to bill customer
7.EWAY returns success / fail to Drupal
agileware.com.au * DrupalACT April 2012
25. Recurring payments
● Watch for expiring credit cards, notify the
customer to update their details
● This modules was developed to solve this
problem,
http://drupal.org/project/uc_recurring_cc_notify
● Automatically notifies customer
agileware.com.au * DrupalACT April 2012
26. Demo
● Recurring payments configuration, products
and order
agileware.com.au * DrupalACT April 2012
27. Security
Keep software up to date
●
Disable modules not being used
●
Complex passwords
●
Do not store credit card details, at all
●
Dodgy hosting
●
Backups
●
SSL
●
Check logs and investigate errors
●
agileware.com.au * DrupalACT April 2012
28. Scams and fraud
Merchant beware
●
Stolen credit cards
●
Dodgy orders
●
EWAY helps protect against fraud
●
Merchant diligence
●
agileware.com.au * DrupalACT April 2012
29. Startup and running costs
Paypal reduces startup costs
●
●Not recommended for large transactions, best to
use EFT for those (protect the margin!)
Banks will charge:
●
● 2% to 3% per transaction
● plus annual fee
● plus account keeping fee
● Plus plus plus...
agileware.com.au * DrupalACT April 2012
30. Startup and running costs
EWAY will charge
●
●
Annual fee (free in 1st year)
● 0.50c per transaction
SSL certificate $75 to $150 per year
●
●Your time to process orders and update website
(this does not happen automagically!)
agileware.com.au * DrupalACT April 2012
31. Final thoughts
Website performance matters, a lot
●
Customers do not tolerate mistakes
●
Your competitor is one click away
●
Process refunds quickly
●
Verify each transaction is legitimate
●
Treat security seriously
●
Optimising the user experience does work
●
Automate and monitor what you can
●
agileware.com.au * DrupalACT April 2012
32. Questions?
agileware.com.au * DrupalACT April 2012