Braintree SDK v.zero or "A payment gateway walks into a bar..." - Devfest Nantes 2014

Post on 12-Jul-2015

559 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

Transcript

v.zeroA modern foundation for accepting Payments

Alberto López

Braintree_Dev. <Advocate/>

DevFest Nantes 2014

#DevFest #Nantes

@Braintree_dev

@AlbertusLM

m Commerce in France

#DevFest #Nantes @Braintree_dev @AlbertusLM

2014-­‐ 5K  model  A  -­‐ 4K  model  B  -­‐ 6K  watch  C

#  Android  Devices

#DevFest #Nantes @Braintree_dev @AlbertusLM

-­‐ 1M  ice-­‐Creams  -­‐ 2M  clothes  -­‐ 43M  sports

#  euros    mcommerce  /  vertical  of  business  

PLEASE, BUSINESS PRESENTATION NO

#DevFest #Nantes @Braintree_dev @AlbertusLM

Drop-in UI

> Mobile, born and raise

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

PLEASE, PRODUCT PRESENTATION NO

#DevFest #Nantes @Braintree_dev @AlbertusLM

v.zeroA modern foundation for accepting Payments

Alberto López

Braintree_Dev. <Advocate/>

DevFest Nantes 2014

#DevFest #Nantes @Braintree_dev @AlbertusLM

v.zero

Alberto López

Braintree_Dev. <Advocate/>

DevFest Nantes 2014

A payment gateway walks into a bar…Thanks to Justin Woo ;)

A modern foundation for accepting Payments

#DevFest #Nantes @Braintree_dev @AlbertusLM

A bank account walks into a bar…

#DevFest #Nantes @Braintree_dev @AlbertusLM

…and says to the bartender:

“I’ve been having a hard time meeting people”

The bartender answers:

“Wait, aren’t you supposed to be good at generating…

#DevFest #Nantes @Braintree_dev @AlbertusLM

“interest”

#DevFest #Nantes @Braintree_dev @AlbertusLM

I have a girlfriend

#DevFest #Nantes @Braintree_dev @AlbertusLM

I want to propose to her

#DevFest #Nantes @Braintree_dev @AlbertusLM

(shhh, don’t say it to her)

#DevFest #Nantes @Braintree_dev @AlbertusLM

This is me Looking for a ring…

https://flic.kr/p/cHEgTj#DevFest #Nantes @Braintree_dev @AlbertusLM

… on the Internet

#DevFest #Nantes @Braintree_dev @AlbertusLM

I am an a**hole

#DevFest #Nantes @Braintree_dev @AlbertusLM

I am an a**hole

Go to a J

eweller

y

#DevFest #Nantes @Braintree_dev @AlbertusLM

NO

#DevFest #Nantes @Braintree_dev @AlbertusLM

I am a lazy person

#DevFest #Nantes @Braintree_dev @AlbertusLM

Let’s go to e-surf!

#DevFest #Nantes @Braintree_dev @AlbertusLM

Things I thi

nk that shou

ld

change for m

aking easier

purchases on

Internet

#DevFest #Nantes @Braintree_dev @AlbertusLM

A payment gateway walks into a bar…

#DevFest #Nantes @Braintree_dev @AlbertusLM

…the bartender says:

“Why do you keep coming in here day after day ?”

The payment gateway looks at him miserably and says:

“I’m just looking for some…

#DevFest #Nantes @Braintree_dev @AlbertusLM

“validation”

#DevFest #Nantes @Braintree_dev @AlbertusLM

Amazing jewellery store

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://goo.gl/PYb26w

Captcha

#DevFest #Nantes @AlbertusLM@Braintree_dev

Completely Automated Public Turing Test To Tell Computers

and Humans Apart

#DevFest #Nantes @AlbertusLM@Braintree_dev

#DevFest #Nantes @AlbertusLM@Braintree_dev

#DevFest #Nantes @AlbertusLM@Braintree_dev

#DevFest #Nantes @AlbertusLM@Braintree_dev

#DevFest #Nantes @AlbertusLM@Braintree_dev

#DevFest #Nantes @Braintree_dev @AlbertusLM

An American Express walks into a bar in Moscow…

#DevFest #Nantes @Braintree_dev @AlbertusLM

…the bartender says:

“Sorry mate, You aren’t allowed in here without a ….”

#DevFest #Nantes @Braintree_dev @AlbertusLM

“VISA”

#DevFest #Nantes @Braintree_dev @AlbertusLM

Not autodetect credit card type

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

*It’s on Wikipedia#DevFest #Nantes @Braintree_dev @AlbertusLM

Restaurant onlINe

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://jquerycreditcardvalidator.com

http://creditcardjs.com

#DevFest #Nantes @Braintree_dev @AlbertusLM

https://github.com/jgrana/CreditCardEntry

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

CVV, CVC2, CID…

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

·_· mmm

o_· ooohh

#DevFest #Nantes @Braintree_dev @AlbertusLM

O_o OMG

#DevFest #Nantes @Braintree_dev @AlbertusLM

O_O WTF

#DevFest #Nantes @Braintree_dev @AlbertusLM

#_# dead

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://jessepollak.github.io/card/

http://kenkeiter.com/skeuocard/

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

A payment gateway walks into a bar…

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

…and tries to pick up someone at the bar, but she turns him down.

The Payment gateway looks at the

bartender and says:

“Well, this is awkward, normally I’m the one who…

“declines”

#DevFest #Nantes @Braintree_dev @AlbertusLM

Not validate a Credit Card # field inline

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://goo.gl/YR7pRa

#DevFest #Nantes @Braintree_dev @AlbertusLM

Luhn algorithm

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://en.wikipedia.org/wiki/Luhn_algorithm

http://rosettacode.org/wiki/Luhn_test_of_credit_card_numbers

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://capdroid.wordpress.com/2011/09/19/creditdebit-card-validation-using-luhn-mod10-algorithm/

http://codereview.stackexchange.com/questions/59521/credit-card-validator-using-luhns-algorithm

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

Setting up the date

https://flic.kr/p/efSMKw

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

Keep labels visible at all times

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

http://mrg.bz/ft5PmH

no limiting the number of digits

#DevFest #Nantes @Braintree_dev @AlbertusLM

Card Number of Digits

AMEX 15

Visa 13 or 16

MasterCard 16

Discover 16

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

·_· mmm

O_o OMG

#DevFest #Nantes @Braintree_dev @AlbertusLM

O_O WTF

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

A Payment Gateway walks into a Hawaiian bar…

#DevFest #Nantes @Braintree_dev @AlbertusLM

…the bartender says:

“Aloha!”

The Payment Gateway, confused, says:

“Sorry, I don’t understand you”

So,the bartender answers:

“Well, this is because you are not…”#DevFest #Nantes @Braintree_dev @AlbertusLM

“native”

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

Client Side

#DevFest #Nantes @Braintree_dev @AlbertusLM

v.Zero

1. Obtain a Client Token

Request the client token from your server, then initialize Braintree and present drop-in UI:

#DevFest #Nantes @Braintree_dev @AlbertusLM

To present the Drop In UI, set the EXTRA_CLIENT_TOKEN value to the client token and start the activity:

#DevFest #Nantes @Braintree_dev @AlbertusLM

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE) { if (resultCode == BraintreePaymentActivity.RESULT_OK) { String paymentMethodNonce = data.getStringExtra(BraintreePaymentActivity.EXTRA_PAYMENT_METHOD_NONCE); postNonceToServer(paymentMethodNonce); } } }

2. Present Drop In UI

When your user provides payment information, your app code receives a paymentMethodNonce in your calling Activity's onActivityResult, which you will override to get the response:

#DevFest #Nantes @Braintree_dev @AlbertusLM

3. Post the Payment Method Nonce to Your Server

Send the resulting payment method nonce to your server

#DevFest #Nantes @Braintree_dev @AlbertusLM

Server Side

#DevFest #Nantes @Braintree_dev @AlbertusLM

v.Zero

1. Import Braintree

In your code, configure the environment and API credentials:

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

2. Provide a Client Token to Your client

Your server is responsible for creating a client token, which contains all authorization and configuration information your client needs to initialize a Braintree Client SDK to communicate with Braintree.

3. Create a transaction

Once your client successfully obtains a customer payment method, it receives a payment method nonce representing customer payment authorization, which it then sends to your server.

#DevFest #Nantes @Braintree_dev @AlbertusLM

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

NATIVE Payment Gateway

http://mrg.bz/ft5PmH

security

#DevFest #Nantes @Braintree_dev @AlbertusLM

client_token

payment_nonce

SECURE Payment Gateway

http://mrg.bz/ft5PmH

Additional payment methods

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

Braintree Account

#DevFest #Nantes @Braintree_dev @AlbertusLM

GLOBAL Payment Gateway

I <3 v.Zero

#DevFest #Nantes @Braintree_dev @AlbertusLM

#DevFest #Nantes @Braintree_dev @AlbertusLM

A Payment Gateway walks into a bar…

#DevFest #Nantes @Braintree_dev @AlbertusLM

…and says to the bartender:

“Hey, do you have any dessert?”

The bartender answers:

“Well, may be you want an…

#DevFest #Nantes @Braintree_dev @AlbertusLM

“apple”

#DevFest #Nantes @Braintree_dev @AlbertusLM

A payment gateway walks into a bar…

#DevFest #Nantes @Braintree_dev @AlbertusLM

…the bartender says:

“You are new to this joint, aren’t you?”

The Payment Gateway look at him and says:

“Yeah, I just…”

#DevFest #Nantes @Braintree_dev @AlbertusLM

“discovered” it

#DevFest #Nantes @Braintree_dev @AlbertusLM

do you <3 v.Zero?

#DevFest #Nantes @Braintree_dev @AlbertusLM

By the way…

#DevFest #Nantes @Braintree_dev @AlbertusLM

I only have the flowers

https://flic.kr/p/oVByur

#DevFest #Nantes @AlbertusLM@Braintree_dev

Tank you!

#DevFest #Nantes @Braintree_dev @AlbertusLM

Original  Source

S

#DevFest #Nantes @Braintree_dev @AlbertusLM

Braintree: https://www.braintreepayments.com/

Get Started with Braintree https://developers.braintreepayments.com/android+php/start/overview

Braintree v.zero: https://www.braintreepayments.com/v.zero

Sandbox environment: https://sandbox.braintreegateway.com/login

#DevFest #Nantes @Braintree_dev @AlbertusLM

Questions?

Think twice before asking,

seriously

Source  photo

Alberto López - Braintree_Dev. alberto.lopez@getbraintree.com

@AlbertusLM / @Braintree_dev

top related