Configuring Stripe to process MemberMouse payments on your site is as simple as grabbing API keys from Stripe and pasting them into your MemberMouse Payment Methods settings. After doing this, MemberMouse will use the Stripe API to process credit card payments initiated from your site and store all critical credit card information securely with Stripe in order to support MemberMouse's 1-click buy functionality.

You can configure Stripe to be in test mode or live mode. While Live mode is used to collect real credit card information and process real payments, test mode is useful during initial development of your site as it enables you to test everything by using Stripe Test Cards and without spending real money. Read this article to learn more about testing with Stripe.


There are two main steps you need to take to in order to configure Stripe within MemberMouse. The first is to indicate whether you want to use Stripe.js, Stripe Elements, or neither (Why would I want to use Stripe.js or Stripe Elements?) and the second is to obtain the API keys from Stripe and paste them into MemberMouse.



Obtaining the Stripe API Keys

  1. Log into Stripe.com.

  2. In the main Dashboard screen, you'll see a menu on the lefthand side. Select Developers from that menuThen API Keys. The API page will load and show an API Keys box with your Live Secret Key and Live Publishable Key.

  3. Copy the Live Publishable Key and Live Secret Key from the Token column.



Configuring Stripe in MemberMouse

  1. From your WordPress Dashboard go to MemberMouse > Payment Settings and click on the Payment Methods tab.

  2. Under Onsite Payment Method, select Stripe. This will display the Stripe configuration options.

  3. Indicate whether or not you want to enable Stripe.js, Stripe Elements or choose neither.

    IMPORTANT: Stripe.js and Stripe Elements can only be used at checkout.  Any API transactions are untokenized and this practice results in higher PCI compliance SAQ requirements. See the CreateMember API Call article for more info.

    Stripe.js - With Stripe.js, credit card data is exchanged (using JavaScript) for a payment token prior to the checkout form being submitted, so credit card information never touches your server. As a result merchants may qualify for a less rigorous PCI-DSS SAQ by using Stripe.js SAQ A-EP vs SAQ D).

    *** If you use Stripe.js, a full billing address must be collected at checkout. The billing address cannot be made optional. ***

    Stripe Elements (MM v2.3.0+) - With Stripe Elements, a 3D Secure checkout flow occurs. This is mandatory for customers in the European Economic Area (EEA) to be compliant with the Strong Customer Authentication (SCA) requirement of the PSD2. When enabled, your customer may be asked to complete an extra step at checkout where they are prompted by their bank to provide additional information (such as, a one-time code sent to their phone) before the payment will be processed. Stripe Elements uses Stripe.js for tokenization, but also embeds Stripe's credit card fields directly on the checkout page via iFrame. As a result merchants may qualify for a less rigorous PCI-DSS SAQ by using Stripe Elements (SAQ A-EP vs SAQ D). Stripe Elements is the recommended method to use.

    *** While the billing address fields are not required, we recommend requiring the zip/postal code, as some banks may reject transactions where it is not included. ***

  4. Paste the Stripe Live Secret Key in field labelled Live Secret Key.

  5. [If using Stripe.js or Elements (available MemberMouse v2.3.0+] Paste the Stripe Live Publishable Key in the field labelled Live Publishable Key.




  6. Click the Save Payment Methods button.


Your site is now ready to start accepting credit card payments and processing them through your Stripe account. Since you'll be collecting sensitive data on your site you'll need to ensure that you have an SSL certificate configured for your domain and that you're using HTTPS on pages that collect sensitive data (i.e. checkout pages). Read this article for steps you can take to secure your site.


NOTE IF USING STRIPE ELEMENTS - Because MemberMouse takes most of its styling queues from your installed WordPress theme, and Stripe Elements embeds Stripe's checkout fields for credit card data directly on your checkout page; there will be some appearance differences between the two.  For more information on what these are and the available options, view the Formatting section of our Activating the 3D Secure Checkout Process for SCA article.


Changing your API Key


You can change your Stripe API key without having any issues with rebilling. MemberMouse will simply use the new key for transactions after you've changed it. If you've had billing failures after changing to a new key, you may want to test and make sure there's not a problem with the new key. You can do this by processing a transaction and then issuing a refund with the new key.



Changing your Stripe Account

With onsite payment methods like Stripe, MemberMouse stores card-on-file tokens (the card info is stored with Stripe). If you change Stripe accounts, the card-on-file tokens associated with your payments will no longer be valid, meaning rebill transactions will not be able to process, and existing customers cannot initiate new charges with the existing card-on-file. 



Stripe regularly upgrades their API, but they are very good about keeping it backwards-compatible. 

MemberMouse v2.2.8 uses Stripe API Version: 3.23.0, released 2016-09-15