You are here

README.txt in Ubercart Stripe 7.2

This is an Ubercart payment gateway module for Stripe.

Versions of the Stripe PHP Library and Stripe API that this module currently
supports are found in uc_stripe_libraries_info() in uc_stripe.module.

Installation and Setup
======================

a) Install and enable the module in the normal way for Drupal.

b) Visit your Ubercart Store Administration page, Configuration
section, and enable the gateway under the Payment Gateways.
(admin/store/settings/payment/edit/gateways)

c) On that page, provide your Stripe API keys, from
https://dashboard.stripe.com/account/apikeys

d) Download and install the Stripe PHP Library version 2.2.0 or >=3.13.0
from https://github.com/stripe/stripe-php/releases. The recommended technique is
to use the command

drush ldl stripe

If you don't use "drush ldl stripe", download and install the Stripe library in
sites/all/libraries/stripe such that the path to VERSION
is sites/all/libraries/stripe/VERSION. YOU MUST CLEAR THE CACHE AFTER
CHANGING THE STRIPE PHP LIBRARY. The Libraries module caches its memory of
libraries like the Stripe Library.  (Version 2.2.0 support is maintained for
existing users; version 3.13.0+ supports PHP 7 and will get ongoing support.)
(With the latest version of the libraries module you can use the command:

e) If you are using recurring payments, install version 2.x
of the Ubercart Recurring module:
http://drupal.org/project/uc_recurring
and set up as described below.

f) Every site dealing with credit cards in any way should be using https. It's
your responsibility to make this happen. (Actually, almost every site should
be https everywhere at this time in the web's history.)

g) If you want Stripe to attempt to validate zip/postal codes, you must enable
that feature on your *Stripe* account settings. Click the checkbox for
"Decline Charges that fail zip code verification" on the "Account info" page.
(You must be collecting billing address information for this to work, of course.)

h) The uc_credit setting "Validate credit card numbers at checkout" must be
disabled on admin/store/settings/payment/method/credit - uc_credit never sees
the credit card number, so cannot properly validate it (and we don't want it to
ever know the credit card number.)

Upgrading from uc_stripe 6.x-1.x or 7.x-1.x
===========================================

7.x-2.x does not use Stripe subscriptions for recurring payments, but instead
uses the uc_recurring module. This means you have control of recurring
transactions without having to manage them on the Stripe dashboard. (Credit
card numbers and sensitive data are *not* stored on your site; only the Stripe
customer ID is stored.)

The upgrade hooks, however, must move the customer id stored in the obsolete
uc_recurring_stripe table into the user table. When this happens the old
record in the uc_recurring_stripe table will have its plan changed to
<old_plan>_obsolete. This just prevents an import from happening more than once
and gives you backout options if you wanted to downgrade.

If you were using 1.x of this module and want to cancel existing subscriptions
which were configured via the Stripe api (since they are now managed via
uc_recurring) a drush command is provided to cancel these. Use "drush help subcancel"
for more information.

Recurring Payments Setup
========================

You'll need the Ubercart Recurring module:
http://drupal.org/project/uc_recurring installed. It is not
listed as a dependency for this Stripe payment module because
this module could be used without recurring payments.
But it is a dependency to use the recurring payments piece of
this module. Note that this module does *not* use Stripe subscriptions.
Instead, recurring payments are managed by uc_recurring, which does not
retain any valid CC info, only the stripe customer id.

Recurring payments require automatically triggered renewals using
uc_recurring_trigger_renewals ("Enabled triggered renewals" must be enabled
on admin/store/settings/payment/edit/recurring)

If you were using Stripe subscriptions in v1 of this module, you may have to
disable those subscriptions in order to not double-charge your customers.

uc_stripe 6.x-2.x and 7.x-2.x were based on Bitcookie's work (thanks!) which was posted at
http://bitcookie.com/blog/pci-compliant-ubercart-and-stripe-js
from discussion in the uc_stripe issue queue,
https://www.drupal.org/node/1467886

File

README.txt
View source
  1. This is an Ubercart payment gateway module for Stripe.
  2. Versions of the Stripe PHP Library and Stripe API that this module currently
  3. supports are found in uc_stripe_libraries_info() in uc_stripe.module.
  4. Installation and Setup
  5. ======================
  6. a) Install and enable the module in the normal way for Drupal.
  7. b) Visit your Ubercart Store Administration page, Configuration
  8. section, and enable the gateway under the Payment Gateways.
  9. (admin/store/settings/payment/edit/gateways)
  10. c) On that page, provide your Stripe API keys, from
  11. https://dashboard.stripe.com/account/apikeys
  12. d) Download and install the Stripe PHP Library version 2.2.0 or >=3.13.0
  13. from https://github.com/stripe/stripe-php/releases. The recommended technique is
  14. to use the command
  15. drush ldl stripe
  16. If you don't use "drush ldl stripe", download and install the Stripe library in
  17. sites/all/libraries/stripe such that the path to VERSION
  18. is sites/all/libraries/stripe/VERSION. YOU MUST CLEAR THE CACHE AFTER
  19. CHANGING THE STRIPE PHP LIBRARY. The Libraries module caches its memory of
  20. libraries like the Stripe Library. (Version 2.2.0 support is maintained for
  21. existing users; version 3.13.0+ supports PHP 7 and will get ongoing support.)
  22. (With the latest version of the libraries module you can use the command:
  23. e) If you are using recurring payments, install version 2.x
  24. of the Ubercart Recurring module:
  25. http://drupal.org/project/uc_recurring
  26. and set up as described below.
  27. f) Every site dealing with credit cards in any way should be using https. It's
  28. your responsibility to make this happen. (Actually, almost every site should
  29. be https everywhere at this time in the web's history.)
  30. g) If you want Stripe to attempt to validate zip/postal codes, you must enable
  31. that feature on your *Stripe* account settings. Click the checkbox for
  32. "Decline Charges that fail zip code verification" on the "Account info" page.
  33. (You must be collecting billing address information for this to work, of course.)
  34. h) The uc_credit setting "Validate credit card numbers at checkout" must be
  35. disabled on admin/store/settings/payment/method/credit - uc_credit never sees
  36. the credit card number, so cannot properly validate it (and we don't want it to
  37. ever know the credit card number.)
  38. Upgrading from uc_stripe 6.x-1.x or 7.x-1.x
  39. ===========================================
  40. 7.x-2.x does not use Stripe subscriptions for recurring payments, but instead
  41. uses the uc_recurring module. This means you have control of recurring
  42. transactions without having to manage them on the Stripe dashboard. (Credit
  43. card numbers and sensitive data are *not* stored on your site; only the Stripe
  44. customer ID is stored.)
  45. The upgrade hooks, however, must move the customer id stored in the obsolete
  46. uc_recurring_stripe table into the user table. When this happens the old
  47. record in the uc_recurring_stripe table will have its plan changed to
  48. _obsolete. This just prevents an import from happening more than once
  49. and gives you backout options if you wanted to downgrade.
  50. If you were using 1.x of this module and want to cancel existing subscriptions
  51. which were configured via the Stripe api (since they are now managed via
  52. uc_recurring) a drush command is provided to cancel these. Use "drush help subcancel"
  53. for more information.
  54. Recurring Payments Setup
  55. ========================
  56. You'll need the Ubercart Recurring module:
  57. http://drupal.org/project/uc_recurring installed. It is not
  58. listed as a dependency for this Stripe payment module because
  59. this module could be used without recurring payments.
  60. But it is a dependency to use the recurring payments piece of
  61. this module. Note that this module does *not* use Stripe subscriptions.
  62. Instead, recurring payments are managed by uc_recurring, which does not
  63. retain any valid CC info, only the stripe customer id.
  64. Recurring payments require automatically triggered renewals using
  65. uc_recurring_trigger_renewals ("Enabled triggered renewals" must be enabled
  66. on admin/store/settings/payment/edit/recurring)
  67. If you were using Stripe subscriptions in v1 of this module, you may have to
  68. disable those subscriptions in order to not double-charge your customers.
  69. uc_stripe 6.x-2.x and 7.x-2.x were based on Bitcookie's work (thanks!) which was posted at
  70. http://bitcookie.com/blog/pci-compliant-ubercart-and-stripe-js
  71. from discussion in the uc_stripe issue queue,
  72. https://www.drupal.org/node/1467886