The project´s stack
@AlbertusLM
@Braintree_Dev
Braintree v.zero SDK
Slide 29
Slide 29 text
Why WordPress?
@AlbertusLM
@Braintree_Dev
*critical features for the project
4.1.1
Slide 30
Slide 30 text
Why WordPress?
@AlbertusLM
@Braintree_Dev
> Open Source
*critical features for the project
4.1.1
Slide 31
Slide 31 text
Why WordPress?
@AlbertusLM
@Braintree_Dev
> Open Source
> Scalable
*critical features for the project
4.1.1
Slide 32
Slide 32 text
Why WordPress?
@AlbertusLM
@Braintree_Dev
> Open Source
> Scalable
> Easy to manage
*critical features for the project
4.1.1
Slide 33
Slide 33 text
Why WordPress?
@AlbertusLM
@Braintree_Dev
> Open Source
> Scalable
> Easy to manage
> Thriving ecosystem
*critical features for the project
4.1.1
Slide 34
Slide 34 text
Why WordPress?
@AlbertusLM
@Braintree_Dev
> Open Source
> Scalable
> Easy to manage
> Thriving ecosystem
> Mobile friendly
*critical features for the project
4.1.1
Slide 35
Slide 35 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
*critical features for the project
2.3.7
Slide 36
Slide 36 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
> Free core
*critical features for the project
2.3.7
Slide 37
Slide 37 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
> Free core
> Huge flexibility
*critical features for the project
2.3.7
Slide 38
Slide 38 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
> Free core
> Huge flexibility
> WooThemes’ support
*critical features for the project
2.3.7
Slide 39
Slide 39 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
> Free core
> Huge flexibility
> WooThemes’ support
> Professional Yet Simple
*critical features for the project
2.3.7
Slide 40
Slide 40 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
> Free core
> Huge flexibility
> WooThemes’ support
> Professional Yet Simple
> Room For Growth
*critical features for the project
2.3.7
Slide 41
Slide 41 text
Why WooCommerce?
@AlbertusLM
@Braintree_Dev
> Free core
> Huge flexibility
> WooThemes’ support
> Professional Yet Simple
> Room For Growth
> # of plugins
*critical features for the project
2.3.7
Why Braintree v.zero SDK?
@AlbertusLM
@Braintree_Dev
Abandonment checkout process FACTS:
17% concerns about payment security
13% price presented in foreign currency
12% complicated checkout
79% want to have more payment options
goo.gl/AFwF10
goo.gl/Nm1kbt
goo.gl/bMlrDm
Slide 44
Slide 44 text
Why Braintree v.zero SDK?
OFF
ON
ON
ON
ON
OFF
ON
ON
ON
ON
FUTURE
Payment Method
C&D Cards
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
Slide 45
Slide 45 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
Slide 46
Slide 46 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
> PCI compliance made easy
Slide 47
Slide 47 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
> PCI compliance made easy
> Ultra Slim
Slide 48
Slide 48 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
> PCI compliance made easy
> Ultra Slim
> Elegant
Slide 49
Slide 49 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
> PCI compliance made easy
> Ultra Slim
> Elegant
> Invisible
Slide 50
Slide 50 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
> PCI compliance made easy
> Ultra Slim
> Elegant
> Invisible
> 40 countries
Slide 51
Slide 51 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
> Mobile ready
> PCI compliance made easy
> Ultra Slim
> Elegant
> Invisible
> 40 countries
> 130 currencies
Slide 52
Slide 52 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
Slide 53
Slide 53 text
Why Braintree v.zero SDK?
v.zero
@AlbertusLM
@Braintree_Dev
*critical features for the project
Slide 54
Slide 54 text
Why Spark core?
@AlbertusLM
@Braintree_Dev
Slide 55
Slide 55 text
Why Spark core?
> Open Source
@AlbertusLM
@Braintree_Dev
Why Spark core?
> Open Source
> Wifi ready
> Tiny size
> Multi-language
> Active community
@AlbertusLM
@Braintree_Dev
Slide 60
Slide 60 text
Why Spark core?
> Open Source
> Wifi ready
> Tiny size
> Multi-language
> Active community
> # of plugins
@AlbertusLM
@Braintree_Dev
Slide 61
Slide 61 text
Problems
> v.zero plugin not available
> not plugin Spark - WooCommerce
@AlbertusLM
@Braintree_Dev
Slide 62
Slide 62 text
LET’S CODE OUR MODULE
CHALLENGE ACCEPTED
Slide 63
Slide 63 text
Things to consider
@AlbertusLM
@Braintree_Dev
Slide 64
Slide 64 text
Things to consider
@AlbertusLM
@Braintree_Dev
> Custom payment module from scratch
Slide 65
Slide 65 text
Things to consider
@AlbertusLM
@Braintree_Dev
> Custom payment module from scratch
> Using WooCommerce Checkout Manager
Slide 66
Slide 66 text
Things to consider
@AlbertusLM
@Braintree_Dev
> Custom payment module from scratch
> Using WooCommerce Checkout Manager
> Prototype version
Slide 67
Slide 67 text
Things to consider
@AlbertusLM
@Braintree_Dev
> Custom payment module from scratch
> Using WooCommerce Checkout Manager
> Prototype version
-Plugin in alpha phase
• Core files modified
• Core templates modified
Slide 68
Slide 68 text
Things to consider
@AlbertusLM
@Braintree_Dev
> Custom payment module from scratch
> Using WooCommerce Checkout Manager
> Prototype version
-Plugin in alpha phase
• Core files modified
• Core templates modified
-Payment module in beta phase
• Transaction ID saved
• Fully functional
Slide 69
Slide 69 text
Issue
@AlbertusLM
@Braintree_Dev
This button submits
the whole form
Slide 70
Slide 70 text
@AlbertusLM
@Braintree_Dev
This drop-in payment UI form is
totally created and managed by
v.zero SDK
This form is never submitted to Braintree, so we don’t have
the payment nonce to finish the transaction
Impact on v.zero SDK
Slide 71
Slide 71 text
Solution
@AlbertusLM
@Braintree_Dev
This checkbox (1) triggers a
function which submits the UI
form (2), stores the payment
method nonce value in a hidden
field (3) and enables the general
submit button (4) (1)
(4)
(2)
(3)
Slide 72
Slide 72 text
Connecting to Spark Core
@AlbertusLM
@Braintree_Dev
(1) configuring the access to the
device
(2) calling the functions
(1)
(2)
Slide 73
Slide 73 text
dem
@AlbertusLM
@Braintree_Dev
Slide 74
Slide 74 text
Plan
B
@AlbertusLM
@Braintree_Dev
youtu.be/7jYdduBUfVs
Slide 75
Slide 75 text
> Conclusion_
@AlbertusLM
@Braintree_Dev
Slide 76
Slide 76 text
IoT is
NOT flash in the pan
flic.kr/p/8RU8QS
Slide 77
Slide 77 text
eCommerce
IoT
Why not?
Slide 78
Slide 78 text
@AlbertusLM
@Braintree_Dev
Olympo of Payments
in
visible
elega
n
t
ultr
a
slim
Payment Gateway
Slide 79
Slide 79 text
+
=
+
Why not?
+
Braintree v.zero SDK
Slide 80
Slide 80 text
> Questions?_
@AlbertusLM
@Braintree_Dev
Slide 81
Slide 81 text
Source'photo
Slide 82
Slide 82 text
Alberto López
[email protected]
@AlbertusLM / @Braintree_Dev
ATHENS, 30-31 MAY
2015.battlehack.org/athens
THANKS!