Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DevTalks Bucharest 2015 - A Credit Card Walks i...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Cristiano Betta
June 11, 2015
Technology
0
800
DevTalks Bucharest 2015 - A Credit Card Walks into a Bar...
My talk from DevTalks Bucharest 2015
Cristiano Betta
June 11, 2015
Tweet
Share
More Decks by Cristiano Betta
See All by Cristiano Betta
Docs as Engineering - DevRelCon London 2019
cbetta
0
190
DevRelCon London 2019 - Developer Experience Workshop
cbetta
0
160
DevRelCon London 2019 - Developer Experience Workshop
cbetta
0
440
The 7 Deadly Sins of Developer Experience (DevRelCon Tokyo)
cbetta
0
4.3k
The State of Encryption
cbetta
0
420
Developer Experience Workshop
cbetta
1
610
The 7 Deadly Sins of Developer Onboarding
cbetta
0
200
A brick by brick guide to developer experience
cbetta
2
670
Hackathons Workshop
cbetta
0
340
Other Decks in Technology
See All in Technology
社内レビューは機能しているのか
matsuba
0
150
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
1
950
Goのerror型がシンプルであることの恩恵について理解する
yamatai1212
1
250
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
230
Go標準パッケージのI/O処理をながめる
matumoto
0
230
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
4
410
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
180
20260311 ビジネスSWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
JAWS DAYS 2026 AWS知識・技術力を使って隠された旗をゲットせよ!〜出張版「ごーとんカップ」〜 解説編
kaminashi
0
110
コンテキスト・ハーネスエンジニアリングの現在
hirosatogamo
PRO
4
540
ReactのdangerouslySetInnerHTMLは“dangerously”だから危険 / Security.any #09 卒業したいセキュリティLT
flatt_security
0
320
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
110
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
43k
Code Review Best Practice
trishagee
74
20k
GraphQLの誤解/rethinking-graphql
sonatard
75
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
Rails Girls Zürich Keynote
gr2m
96
14k
Agile that works and the tools we love
rasmusluckow
331
21k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Skip the Path - Find Your Career Trail
mkilby
1
86
Designing for Performance
lara
611
70k
Transcript
@cbetta @braintree_dev A Credit Card Walks into a Bar... by
Cristiano Betta 1 Developer Advocate @braintree_dev A talk on credit cards in eCommerce
@cbetta @braintree_dev A Credit Card Form Walks into a Bar...
A talk on credit cards in eCommerce
@cbetta @braintree_dev A Credit Card Form Walks into a Bar...
A talk on credit cards in eCommerce A series of bad jokes Developer Advocate @braintree_dev by Cristiano Betta
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev A Credit Card Walks into a Bar...
@cbetta @braintree_dev he says to the bartender, “I’ve been having
a hard time meeting people” the bartender says: “Wait, aren’t you supposed to be good at generating...”
@cbetta @braintree_dev “interest”
@cbetta @braintree_dev THANK YOU!
@cbetta @braintree_dev I <3 U Bucharest
@cbetta @braintree_dev A Credit Card Walks into a Bar_
@cbetta @braintree_dev I have a Cat
@cbetta @braintree_dev Who has a “special” condition
@cbetta @braintree_dev 14
@cbetta @braintree_dev But he thinks he is the king of
the house
@cbetta @braintree_dev
@cbetta @braintree_dev Actually he has a kidney condition
@cbetta @braintree_dev People always want to see more photos and
videos
@cbetta @braintree_dev especially kids
@cbetta @braintree_dev so...
@cbetta @braintree_dev I wrote an application that...
@cbetta @braintree_dev charges people money to see his face
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev I know what you are thinking...
@cbetta @braintree_dev I am an a**hole
@cbetta @braintree_dev I am actually raising money for his kidney
surgery
@cbetta @braintree_dev I promise!
@cbetta @braintree_dev
@cbetta @braintree_dev A Credit Card Form Walks into a Bar...
@cbetta @braintree_dev the bartender says, “Why do you keep coming
in here day after day ?” The credit card form looks at him miserably says “I’m just looking for some..."
@cbetta @braintree_dev “validation”
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev Things people should not do when building a
Credit Card Form
@cbetta @braintree_dev Things I think you should not do when
building a Credit Card Form
@cbetta @braintree_dev
@cbetta @braintree_dev baymard.com/lists/cart-abandonment-rate
@cbetta @braintree_dev 1.
@cbetta @braintree_dev Add a CAPTCHA
@cbetta @braintree_dev CAPTCHA Completely Automated Public Turing test to tell
Computers and Humans Apart
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev CAPTCHA Completely Automated Public Turing test to tell
Computers and Humans Apart
@cbetta @braintree_dev CAPTCHA Completely Automated Process That Causes Headaches and
Anger
@cbetta @braintree_dev 2.
@cbetta @braintree_dev Ask users to register
@cbetta @braintree_dev Ask users to register ...before purchasing
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev A Credit Card Form Walks into a Bar...
@cbetta @braintree_dev the bartender says, “I haven’t seen you in
a while!” The credit card form looks at him and says “Yeah, I had to go to jail. I was...”
@cbetta @braintree_dev “Charged with bad humour"
@cbetta @braintree_dev 3.
@cbetta @braintree_dev Ask me for the credit card type?
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev * totally copied from Wikipedia
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev jquerycreditcardvalidator.com
@cbetta @braintree_dev
@cbetta @braintree_dev creditcardjs.com
@cbetta @braintree_dev
@cbetta @braintree_dev I <3 Braintree
@cbetta @braintree_dev obviously...
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev github.com/braintree/card-validator
@cbetta @braintree_dev
@cbetta @braintree_dev 4.
@cbetta @braintree_dev C.V.Who?
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev jessepollak.github.io/card
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev kenkeiter.com/skeuocard
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev Hosted Fields
@cbetta @braintree_dev braintreepayments.com/features/hosted-fields
@cbetta @braintree_dev
@cbetta @braintree_dev 5.
@cbetta @braintree_dev You don’t format dates as they are on
my card
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev 6.
@cbetta @braintree_dev 6.
@cbetta @braintree_dev A Credit Card Form Walks into a Bar...
@cbetta @braintree_dev he tries to pick up someone at the
bar, They turn him down. The credit card form looks at the bartender and says “Well, this is awkward normally I’m the one who..."
@cbetta @braintree_dev “Declines”
@cbetta @braintree_dev 6.
@cbetta @braintree_dev You don’t validate my card number inline
@cbetta @braintree_dev Luhn Algorithm
@cbetta @braintree_dev 4217 6511 1111 1119
@cbetta @braintree_dev 4217 6511 1111 1119 9111 1111 1156 7124
@cbetta @braintree_dev 4217 6511 1111 1119 9111 1111 1156 7124
9212 1212 1213 7228
@cbetta @braintree_dev 14 + 6 + 11 + 19 =
50 4217 6511 1111 1119 9111 1111 1156 7124 9212 1212 1253 7228
@cbetta @braintree_dev 50 % 10 == 0 ? 4217 6511
1111 1119 14 + 6 + 11 + 19 = 50 9111 1111 1156 7124 9212 1212 1253 7228
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev 7.
@cbetta @braintree_dev 7.
@cbetta @braintree_dev 6b.
@cbetta @braintree_dev You don’t know your limits!
@cbetta @braintree_dev Card! Number of Digits! AMEX! 15! Visa! 13
or 16! MasterCard! 16! Discover! 16!
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev 7.
@cbetta @braintree_dev You don’t remember me
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev 8.
@cbetta @braintree_dev You remember too much
@cbetta @braintree_dev And then you lose my details!
@cbetta @braintree_dev 2014 Home Depot 56M JP Morgan Chase 76M
Staples 1.6M
@cbetta @braintree_dev Tokenization
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev One more joke?
@cbetta @braintree_dev A Credit Card Form Walks into a Bar...
@cbetta @braintree_dev the bartender says, “You are new to this
joint aren’t you?” The credit card form looks at him and says “Yeah, I just..."
@cbetta @braintree_dev “Discovered it”
@cbetta @braintree_dev
@cbetta @braintree_dev 9.
@cbetta @braintree_dev You have a “reset” button
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev 10.
@cbetta @braintree_dev Where was I again?
@cbetta @braintree_dev
@cbetta @braintree_dev
@cbetta @braintree_dev That’s all folks!
@cbetta @braintree_dev Encore?
@cbetta @braintree_dev An American Express Walks into a Bar in
Moscow...
@cbetta @braintree_dev the bartender says, “Sorry mate, You aren’t allowed
in here without a...”
@cbetta @braintree_dev “VISA”
@cbetta @braintree_dev
@cbetta @braintree_dev baddonationforms.tumblr.com
@cbetta @braintree_dev THANK YOU!
@cbetta @braintree_dev Cristiano Betta Developer Advocate Braintree_PayPal.
[email protected]
slideshare.net/cbetta braintreepayments.com
@braintree_dev @cbetta