94 lines
4.3 KiB
Plaintext
94 lines
4.3 KiB
Plaintext
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
|