ACCEPTING ONLINE
PAYMENT FOR YOUR
LIBRARY
& ‘STRIPE’ AS AN EXAMPLE
Code4Lib DC Unconference, Aug. 11-12, 2014.
Bohyun Kim
...
Elements of Online Payment
 ACH (Automated Clearing House) payments: Electronic credit
and debit transfers. Most payment ...
How Online Payment Works
Different payment gateways,
merchant accounts, and
bank accounts are setup to
work together (or n...
Online Payment Systems
 Authorize.net
 PayPal
 Google Checkout
 Amazon Payments
 Stripe
 WePay
 Dwolla
 Braintree
...
Stripe
Stripe acts as both the
payment gateway and
the merchant account.
Your website
communicates the
customer and order
...
API Keys for Testing
Resources
 Card Numbers for Testing
https://stripe.com/docs/testing#cards
 Code Examples
https://stripe.com/docs/example...
Starting Point
 Borrowed example from
https://github.com/myg0v/Simple-Bootstrap-
Stripe-Payment-Form
When the Payment Succeeds,
Modify and Enhance
 Add Patron & Payment Details.
 Allow custom amount for payment.
 Change the currency to USD.
 Conf...
Process
 You create a form on your website that accepts the payment details.
 You include a Stripe JavaScript library on...
JS/jQuery
PHP
Modified Form
Testing
Dashboard
Logs
Token Request
Charge Request
Failed Charge
Charge Response - Declined
Error Codes
More to be Done
 Send the confirmation e-mail upon the
payment success.
 … More.
Questions?
Photo credit: Flickr Nina`H
https://www.flickr.com/photos/ninahiironniemi/209281997
Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Upcoming SlideShare
Loading in...5
×

Accepting Online Payment for Your Library and ‘Stripe’ as an Example

2,339

Published on

Presentation given at Code4Lib DC Unconference, Aug. 11-12, 2014.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,339
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Accepting Online Payment for Your Library and ‘Stripe’ as an Example

  1. 1. ACCEPTING ONLINE PAYMENT FOR YOUR LIBRARY & ‘STRIPE’ AS AN EXAMPLE Code4Lib DC Unconference, Aug. 11-12, 2014. Bohyun Kim Associate Director for Library Applications and Knowledge Systems University of Maryland, Baltimore Health Sciences and Human Services Library Twitter: @bohyunkim Website: http://bohyunkim.net
  2. 2. Elements of Online Payment  ACH (Automated Clearing House) payments: Electronic credit and debit transfers. Most payment solutions use ACH to send money (minus fees) to their customers.  Merchant Account: A bank account that allows a customer to receive payments through credit or debit cards. Merchant providers are required to obey regulations established by card associations. Many processors act as both the merchant account as well as the payment gateway.  Payment Gateway: The middleman between the merchant and their sponsoring bank. It allows merchants to securely pass credit card information between the customer and the merchant and also between merchant and the payment processor.  Payment Processor: A company that a merchant uses to handle credit card transactions. Payment processors implement anti-fraud measures to ensure that both the front-facing customer and the merchant are protected.  PCI (the Payment Card Industry) Compliance: A merchant or payment gateway must set up their payment environment in a way that meets the Payment Card Industry Data Security Standard (PCI DSS).  Source: http://sixrevisions.com/tools/online-payment-systems/
  3. 3. How Online Payment Works Different payment gateways, merchant accounts, and bank accounts are setup to work together (or not). Your bank may also be able to act as the merchant account. Source: http://www.larryullman.com/ 2012/10/10/introduction-to- stripe/
  4. 4. Online Payment Systems  Authorize.net  PayPal  Google Checkout  Amazon Payments  Stripe  WePay  Dwolla  Braintree  Samurai Source: http://sixrevisions.com/tools/online-payment- systems/
  5. 5. Stripe Stripe acts as both the payment gateway and the merchant account. Your website communicates the customer and order information to Stripe, Stripe clears the payment information with the associated credit card company, and Stripe puts the money in your bank account. Source: http://www.larryullman.c om/2012/10/10/introducti
  6. 6. API Keys for Testing
  7. 7. Resources  Card Numbers for Testing https://stripe.com/docs/testing#cards  Code Examples https://stripe.com/docs/examples  Docs https://stripe.com/docs
  8. 8. Starting Point  Borrowed example from https://github.com/myg0v/Simple-Bootstrap- Stripe-Payment-Form
  9. 9. When the Payment Succeeds,
  10. 10. Modify and Enhance  Add Patron & Payment Details.  Allow custom amount for payment.  Change the currency to USD.  Configure the validation for new fields. (Bootstrapvalidator jQuery Plugin)  Hide the payment form once the charge goes through.  Other examples: https://stripe.com/docs/examples
  11. 11. Process  You create a form on your website that accepts the payment details.  You include a Stripe JavaScript library on the page.  You write a JavaScript function that watches for the form submission (i.e., you create an event handler for the form’s submission).  When the form is submitted, the user’s payment details are securely sent to Stripe via Ajax.  Stripe will confirm that the payment information is valid and return a token that uniquely identifies that payment information.  The JavaScript function that handles the Ajax response stores the token in a hidden form element and submits the form.  The server-side script (aka, the PHP code) that handles the form’s submission uses the token to actually process the payment.  So the customer never leaves your site but the payment information never hits your server: the best of both worlds. (This is the process when all works well; payment verification errors introduce new processes.) Source: http://www.larryullman.com/2012/11/28/creating-a-form-for-handling- payments-with-stripe/
  12. 12. JS/jQuery
  13. 13. PHP
  14. 14. Modified Form
  15. 15. Testing
  16. 16. Dashboard
  17. 17. Logs
  18. 18. Token Request
  19. 19. Charge Request
  20. 20. Failed Charge
  21. 21. Charge Response - Declined
  22. 22. Error Codes
  23. 23. More to be Done  Send the confirmation e-mail upon the payment success.  … More.
  24. 24. Questions? Photo credit: Flickr Nina`H https://www.flickr.com/photos/ninahiironniemi/209281997
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×