Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Payments Made Easy with Stripe

Shawn Hooper
February 25, 2016

Payments Made Easy with Stripe

An introduction to the Stripe Payment Gateway & API. Delivered at the ConFoo Web Technology Conference in Montreal.

Shawn Hooper

February 25, 2016
Tweet

More Decks by Shawn Hooper

Other Decks in Technology

Transcript

  1. Chief Technology Officer at 
 Actionable Books From Ottawa, Canada

    Fan of a well written API Hi, I’m Shawn @shawnhooper - shawnhooper.ca
  2. @shawnhooper - shawnhooper.ca 
 A set of unified APIs and

    tools that instantly enables businesses to accept and manage online payments. Built for developers!
  3. What does Stripe cost ? @shawnhooper - shawnhooper.ca 
 2.9%

    + $0.30 per transaction Discounted rates apply once you exceed $10,000 in transactions per month.
  4. What does Stripe cost ? @shawnhooper - shawnhooper.ca 
 No

    setup fees
 No monthly fees
 Free refunds
 Free failed transactions
  5. What does Stripe cost ? @shawnhooper - shawnhooper.ca 
 


    
 $15 fee on chargebacks
 * refunded if the dispute is resolved
 in your favour
  6. What does Stripe cost ? @shawnhooper - shawnhooper.ca 
 


    0.5% on funds paid out through Managed Accounts
  7. What payment methods are accepted with Stripe? @shawnhooper - shawnhooper.ca

    
 Visa MasterCard American Express Apple Pay Android Pay
  8. What payment methods are accepted with Stripe? @shawnhooper - shawnhooper.ca

    
 If you have a US Dollar Bank Account: Bitcoin ACH (Direct to Bank Account) AliPay
  9. What payment methods are accepted with Stripe? @shawnhooper - shawnhooper.ca

    
 If you have a US Stripe Account : JCB Discover Diner’s Club
  10. What currencies are accepted ? @shawnhooper - shawnhooper.ca 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
  11. What currencies are accepted ? @shawnhooper - shawnhooper.ca MAD: Moroccan

    Dirham
 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
  12. What currencies are accepted ? @shawnhooper - shawnhooper.ca Unfortunately, in

    Canada, you can only charge in: Canadian Dollar (CAD) United States Dollar (USD)
  13. Transfer Periods @shawnhooper - shawnhooper.ca Transfers from your Stripe account

    to your bank account happen automatically. In Canada, transfers happen on a rolling 7 day period.
  14. How do you use Stripe ? @shawnhooper - shawnhooper.ca 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
  15. How do you use Stripe ? @shawnhooper - shawnhooper.ca If

    you’re in production, your site needs to running HTTPS. You can use HTTP for testing.
  16. How do you use Stripe ? @shawnhooper - shawnhooper.ca Download

    a Stripe Library 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
  17. Stripe Checkout @shawnhooper - shawnhooper.ca stripeToken A hidden field that

    contains a token representing the credit card entered.
  18. Stripe.js @shawnhooper - shawnhooper.ca Instead of using the modal credit

    card form from Stripe, you can build your own.
  19. Stripe.js @shawnhooper - shawnhooper.ca Just like when using Stripe Checkout

    the next step is to charge the card, or store it for future use as a Customer object.
  20. Subscriptions @shawnhooper - shawnhooper.ca Other features of the subscription system:

    Changing (upgrading/downgrading) subscriptions Trial Periods Coupons & Discounts Metered Billing (one time charges) Per User Pricing
  21. Stripe Connect @shawnhooper - shawnhooper.ca Allows you to create a

    marketplace or platform that interacts with other Stripe accounts.
  22. Stripe Connect @shawnhooper - shawnhooper.ca Standalone Accounts Easier to setup

    (as a platform)
 Puts more responsibility on the account holder
  23. Stripe Connect @shawnhooper - shawnhooper.ca Managed Accounts Invisible to the

    connected account holder More responsibility lies with the platform Incurs the 0.5% fee on payout
  24. Stripe Connect @shawnhooper - shawnhooper.ca Success: https://example.com/return-url/? section=stripeconnect&stripeconnectresponse=true? scope=read_write&code=AUTHORIZATION_CODE &state=STATE_VALUE

    Failure: https://example.com/return-url/? section=stripeconnect&stripeconnectresponse=true? error=access_denied&error_description=The%20user%20denied %20your%20request
  25. Webhooks @shawnhooper - shawnhooper.ca Everything you do in Stripe is

    synchronous, but you may need to know things that happen when your app isn’t expecting it.
  26. Data Portability @shawnhooper - shawnhooper.ca 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.