2. Blog - shawnhooper.ca
Twitter - @shawnhooper
Director of IT at
Actionable.co
Web Developer for the past 20 years
Happy to be visiting here from Ottawa
Hi, I’m Shawn
3. Blog - shawnhooper.ca
Twitter - @shawnhooper
A set of unified APIs and tools that
instantly enables businesses to accept and
manage online payments.
Built for developers!
What is Stripe?
4. Blog - shawnhooper.ca
Twitter - @shawnhooper
2.9% + $0.30 per transaction
Discounted rates apply once you exceed
$10,000 in transactions per month.
What does Stripe cost?
5. Blog - shawnhooper.ca
Twitter - @shawnhooper
No setup fees
No monthly fees
Free refunds
Free failed transactions
What does Stripe cost?
6. Blog - shawnhooper.ca
Twitter - @shawnhooper
$15 fee on chargebacks
* refunded if the dispute is resolved
in your favour
What does Stripe cost?
9. Blog - shawnhooper.ca
Twitter - @shawnhooper
Visa
MasterCard
American Express
Apple Pay
Bitcoin, Alipay, ACH (US Only)
Payment Methods Accepted
10. Blog - shawnhooper.ca
Twitter - @shawnhooper
If you have a US Dollar Bank Account:
Bitcoin
ACH (Direct to Bank Account)
AliPay
Payment Methods Accepted
11. Blog - shawnhooper.ca
Twitter - @shawnhooper
If you have a US Stripe Account :
JCB
Discover
Diner’s Club
Payment Methods Accepted
12. Blog - shawnhooper.ca
Twitter - @shawnhooper
Accepted Currencies
AED: United Arab Emirates Dirham
ALL: Albanian Lek
ANG: Netherlands Antillean Gulden
ARS: Argentine Peso*
AUD: Australian Dollar
AWG: Aruban Florin
BBD: Barbadian Dollar
BDT: Bangladeshi Taka
BIF: Burundian Franc
BMD: Bermudian Dollar
BND: Brunei Dollar
BOB: Bolivian Boliviano*
BRL: Brazilian Real*
BSD: Bahamian Dollar
BWP: Botswana Pula
BZD: Belize Dollar
CAD: Canadian Dollar
CHF: Swiss Franc
CLP: Chilean Peso*
CNY: Chinese Renminbi Yuan
COP: Colombian Peso*
CRC: Costa Rican Colón*
CVE: Cape Verdean Escudo*
CZK: Czech Koruna*
DJF: Djiboutian Franc*
DKK: Danish Krone
DOP: Dominican Peso
DZD: Algerian Dinar
EGP: Egyptian Pound
ETB: Ethiopian Birr
EUR: Euro
FJD: Fijian Dollar
FKP: Falkland Islands Pound*
GBP: British Pound
GIP: Gibraltar Pound
GMD: Gambian Dalasi
GNF: Guinean Franc*
GTQ: Guatemalan Quetzal*
GYD: Guyanese Dollar
HKD: Hong Kong Dollar
HNL: Honduran Lempira*
HRK: Croatian Kuna
HTG: Haitian Gourde
HUF: Hungarian Forint*
IDR: Indonesian Rupiah
ILS: Israeli New Sheqel
INR: Indian Rupee*
ISK: Icelandic Króna
JMD: Jamaican Dollar
JPY: Japanese Yen
KES: Kenyan Shilling
KHR: Cambodian Riel
KMF: Comorian Franc
KRW: South Korean Won
KYD: Cayman Islands Dollar
KZT: Kazakhstani Tenge
LAK: Lao Kip*
LBP: Lebanese Pound
LKR: Sri Lankan Rupee
LRD: Liberian Dollar
MAD: Moroccan Dirham
13. Blog - shawnhooper.ca
Twitter - @shawnhooper
Accepted Currencies
MDL: Moldovan Leu
MNT: Mongolian Tögrög
MOP: Macanese Pataca
MRO: Mauritanian Ouguiya
MUR: Mauritian Rupee*
MVR: Maldivian Rufiyaa
MWK: Malawian Kwacha
MXN: Mexican Peso*
MYR: Malaysian Ringgit
NAD: Namibian Dollar
NGN: Nigerian Naira
NIO: Nicaraguan Córdoba*
NOK: Norwegian Krone
NPR: Nepalese Rupee
NZD: New Zealand Dollar
PAB: Panamanian Balboa*
PEN: Peruvian Nuevo Sol*
PGK: Papua New Guinean Kina
PHP: Philippine Peso
PKR: Pakistani Rupee
PLN: Polish Złoty
PYG: Paraguayan Guaraní*
QAR: Qatari Riyal
RUB: Russian Ruble
SAR: Saudi Riyal
SBD: Solomon Islands Dollar
SCR: Seychellois Rupee
SEK: Swedish Krona
SGD: Singapore Dollar
SHP: Saint Helenian Pound*
SLL: Sierra Leonean Leone
SOS: Somali Shilling
STD: São Tomé and Príncipe Dobra
SVC: Salvadoran Colón*
SZL: Swazi Lilangeni
THB: Thai Baht
TOP: Tongan Pa‘anga
TTD: Trinidad and Tobago Dollar
TWD: New Taiwan Dollar
TZS: Tanzanian Shilling
UAH: Ukrainian Hryvnia
UGX: Ugandan Shilling
USD: United States Dollar
UYU: Uruguayan Peso*
UZS: Uzbekistani Som
VND: Vietnamese Đồng
VUV: Vanuatu Vatu
WST: Samoan Tala
XAF: Central African Cfa Franc
XOF: West African Cfa Franc*
XPF: Cfp Franc*
YER: Yemeni Rial
ZAR: South African Rad
14. Blog - shawnhooper.ca
Twitter - @shawnhooper
Unfortunately, in Canada, you can only charge in:
Canadian Dollar (CAD)
United States Dollar (USD)
Accepted Currencies
15. Blog - shawnhooper.ca
Twitter - @shawnhooper
Transfers from your Stripe account to your
bank account happen automatically.
In Canada, transfers happen on a
rolling 7 day period.
Transfer Periods
17. Blog - shawnhooper.ca
Twitter - @shawnhooper
You need a publishable and a secret key
pk_test_TWiIAK1daBceEh3lfCDzjavf
sk_test_nigZcikILd8oLeaJk4hvuYtN
You get these in your dashboard under Account Settings,
API Keys
API Keys
18.
19. Blog - shawnhooper.ca
Twitter - @shawnhooper
If you’re in production,
your site needs to running HTTPS.
You can use HTTP for testing.
HTTPS
22. Blog - shawnhooper.ca
Twitter - @shawnhooper
There are official libraries available for
Python, Ruby, PHP, Java, Node.js, Go,
iOS and Android
+ many other community libraries
https://stripe.com/docs/libraries
Download a Stripe Library
38. Blog - shawnhooper.ca
Twitter - @shawnhooper
Just like when using
Stripe Checkout
the next step is to charge the card,
or store it for future use as a Customer object.
Stripe.JS
42. Blog - shawnhooper.ca
Twitter - @shawnhooper
Subscriptions
Other features of the subscription system:
Changing (upgrading/downgrading) subscriptions
Trial Periods
Coupons & Discounts
Metered Billing (one time charges)
Per User Pricing
44. Blog - shawnhooper.ca
Twitter - @shawnhooper
Stripe Connect
Allows you to create a marketplace or platform
that interacts with other Stripe accounts.
45. Blog - shawnhooper.ca
Twitter - @shawnhooper
Stripe Connect
Standalone Accounts:
Easier to setup (as a platform)
Puts more responsibility on the account holder
46. Blog - shawnhooper.ca
Twitter - @shawnhooper
Stripe Connect
Managed Accounts:
Invisible to the connected account holder
More responsibility lies with the platform
Incurs the 0.5% fee on payout
47. Blog - shawnhooper.ca
Twitter - @shawnhooper
Stripe Connect
As the “Marketplace” you would send your user to a URL
like this to setup their account and authorize you to charge
on their behalf:
https://connect.stripe.com/oauth/authorize?
response_type=code&client_id=ca_5dYwdVHsycnuKKz6OM
2bBh6N2u3lCkll&scope=read_write&state=234983275
60. Blog - shawnhooper.ca
Twitter - @shawnhooper
Webhooks
Allow Stripe to notify your
application when anything
happens in your Stripe account.
61. Blog - shawnhooper.ca
Twitter - @shawnhooper
Webhooks
Everything you do in Stripe
is synchronous,
but you may need to know things that happen
when your app isn’t expecting it.
80. Blog - shawnhooper.ca
Twitter - @shawnhooper
Data Portability
If you want to leave Stripe,
they’ll help you with that too.
They’ll facilitate transferring credit card data
to your next provider in a PCI-compliant way.
For free.
81. Blog - shawnhooper.ca
Twitter - @shawnhooper
Thank You!
These slides will be available at
shawnhooper.ca
E-Mail: shawn@actionable.co
Tweet me @shawnhooper