Top Banner
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
30

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

Oct 21, 2014

Download

Technology

Presentation given at Code4Lib DC Unconference, Aug. 11-12, 2014.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Accepting Online Payment for Your Library and ‘Stripe’ as an Example

ACCEPTING ONLINE PAYMENT FOR YOUR LIBRARY & ‘STRIPE’ AS AN EXAMPLE

Code4Lib DC Unconference, Aug. 11-12, 2014.

Bohyun KimAssociate Director for Library Applications and Knowledge SystemsUniversity of Maryland, BaltimoreHealth Sciences and Human Services Library

Twitter: @bohyunkimWebsite: http://bohyunkim.net

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

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/

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

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/

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

Online Payment Systems

Authorize.net PayPal Google Checkout Amazon Payments Stripe WePay Dwolla Braintree Samurai

Source: http://sixrevisions.com/tools/online-payment-systems/

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

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.com/2012/10/10/introduction-to-stripe/

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

API Keys for Testing

Page 9: Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Page 10: Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Page 11: Accepting Online Payment for Your Library and ‘Stripe’ as an Example

When the Payment Succeeds,

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

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

Page 13: Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Page 14: Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Page 15: Accepting Online Payment for Your Library and ‘Stripe’ as an Example

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/

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

JS/jQuery

Page 17: Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Page 18: Accepting Online Payment for Your Library and ‘Stripe’ as an Example

PHP

Page 19: Accepting Online Payment for Your Library and ‘Stripe’ as an Example
Page 20: Accepting Online Payment for Your Library and ‘Stripe’ as an Example

Modified Form

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

Testing

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

Dashboard

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

Logs

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

Token Request

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

Charge Request

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

Failed Charge

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

Charge Response - Declined

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

Error Codes

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

More to be Done

Send the confirmation e-mail upon the payment success.

… More.