Setting Up Stripe Payment Method

The Stripe payment method allows you to use your Stripe.com account with ProfilePress to accept credit cards directly on your WordPress sites. Besides collecting payments via debit and credit cards, our Stripe integration also supports payments via Link, ACH Direct Debit, Apple Pay, Google Pay, Alipay, Bancontact, Bank transfers, BLIK, EPS, FPX, Giropay, iDEAL, Sofort, P24, Affirm, Afterpay, Clearpay, Klarna, Cash App Pay, GrabPay, WeChat Pay, SEPA debit, Bacs Direct Debit.

Setting up Stripe Payment Method

Configuring Stripe is simple and only takes a few moments.

First, go to ProfilePress > Settings > Payments >> Payment Methods and click the Configure button for Stripe.

If you want to test the setup before going live, ensure you activate “test mode” before going through the Stripe setup.


Next, click the “Connect with Stripe” button to connect ProfilePress to your Stripe account.


You’ll be taken to Stripe.com, where you’ll be prompted to either create a new Stripe account or log in to your existing one.

Once you complete the form, you’ll be taken back to your website.

Enable the Stripe integration by checking “Enable / Disable,” Don’t forget to set a title and description.

If you need to disconnect from Stripe for whatever reason (to connect to a different Stripe account, perhaps), click disconnect this account. Once you have done that, you should once again see the Connect with Stripe button and are free to connect to another Stripe Account.

Webhooks

Stripe Webhooks are how ProfilePress communicates with Stripe. ProfilePress attempts to create the webhook endpoints automatically. Therefore, as shown below, manual configuration will not be necessary in most cases.

To add the appropriate webhook endpoints in your Stripe Dashboard, go to Developers > Webhooks (direct link).

Click + Add Endpoint

Add the following URL:

https://example.com/?ppress-listener=stripe

Note: Replace “example.com” with your actual site URL.

Listen to “Events on Connected Accounts” settings should be disabled (unchecked).

Select the following events:

checkout.session.completed
checkout.session.async_payment_succeeded
checkout.session.async_payment_failed
customer.subscription.created
customer.subscription.updated
customer.subscription.deleted
invoice.payment_succeeded
payment_intent.succeeded
charge.refunded

Example of how the Endpoint settings should be configured:

After you add the endpoint, you will see the new URL listed in the webhooks settings.


Note: Your webhooks won’t work out of the box in a local development environment like Vagrant, WAMP, MAMP, Desktop Server, or Local by Flywheel. These are typically non-publicly accessible IP addresses, and Stripe can’t reach them.

Next, you must retrieve your endpoint’s secret from your Dashboard’s webhooks settings. Select an endpoint you want to obtain the secret, then click the Reveal button.

Then copy the signing secret from the Stripe Dashboard, head back to the ProfilePress Stripe Setup tab, and paste it into the Endpoint Secret text box.

Your webhooks are now set up and secure.

Stripe Tax Support

Stripe Tax lets you calculate, collect, and report tax on global payments with a single integration. Know where to register, automatically collect the right amount of tax, and access the reports you need to file returns.

To enable the Stripe Tax integration, check the Enable Stripe Tax checkbox.

Please note that ProfilePress integration with Stripe Tax is only available when using the “Stripe Payment Page (Off-site)” as the payment collection method.

Stripe Customer Portal Integration

The Stripe customer portal is a Stripe-hosted page that lets your customers manage their subscriptions and billing details.

The Stripe Customer Portal must be configured for both Live and Test mode inside the Stripe Dashboard if you wish to test the Portal before going live.

To set up the customer portal, log into your Stripe account dashboard and select Settings. Under Billing, click on Customer Portal.

Stripe Settings

Alternatively, click this link to go directly to the Stripe customer portal setup page.

Then enable the settings within the customer portal, selecting the functionality you would like to provide to your customers.

Not all settings are compatible with ProfilePress. The following settings can be used:

  • Cancel subscriptions immediately or at the end of a billing period
  • Update payment methods like adding and removing cards
  • View invoice history

Your customers can access the Stripe customer portal when viewing a subscription on the My Account page by clicking the “Manage Subscription” button.

After which, they will be redirected to the Stripe billing customer portal, where they can cancel and manage their subscriptions, and update their payment method.

Apple Pay & Google Pay Configuration

To set up Google Pay and Apple Pay, ensure they are enabled in the Payment Methods settings page in your Stripe account.

Go to Payment Methods (Stripe.com Settings > Payment methods) and select ProfilePress under “Select your platform”.

Find the Google Pay payment methods and ensure it is turned on.

Also turn on the Apple Pay payment method.

To use Apple Pay, you need to register with Apple on all of your web domains which will show an Apple Pay button. Go to the Apple Pay tab in the Account Settings of your Stripe Dashboard.

Click the Add new domain button.

Download this domain association file and host it at /.well-known/apple-developer-merchantid-domain-association on your site.

For example, if you’re registering https://example.com, make that file available at https://example.com/.well-known/apple-developer-merchantid-domain-association.

Once you’ve registered your domains, you’ll be able to make payments in your store with Apple Pay using the Safari web browser. For more details, see Stripe’s doc on Verifying your domain with Apple Pay.

Currently, supported browsers include Chrome Desktop, Chrome Android, macOS Safari, iOS Safari, and Microsoft Edge for Windows.

A payment method needs to have been saved to the browser or device as well. For example, you can save a card in Chrome, or add a card to your Wallet for Safari.

Stripe Link Support

Link saves and auto-fills payment and shipping information for your customers, so they don’t need to enter their payment details manually.

Link automatically detects if a customer is enrolled by using their email address, phone number, or browser cookie. They receive a one-time passcode to authenticate their session. After authentication succeeds, Link loads their payment and shipping information, and they pay with one click.

Your customers can visit link.com to make changes to their accounts or view their purchase history.

How Link works

Customers new to Link can save their payment details and shipping information to enable faster checkout in the future. Here’s how Link authenticates existing customers:

  1. Link automatically detects if a customer is enrolled by using their email address, phone number, or browser cookie.
  2. They receive a one-time passcode to authenticate their session.
  3. After authentication succeeds, Link loads their payment and shipping information, and they pay with one click.
  4. After a customer enrolls with Link, they can add backup payment methods and change shipping addresses.

ProfilePress automatically supports Link thanks to its usage of the Stripe payment element. But you first need to activate it in your Stripe account by going to Settings >> Payment methods and selecting ProfilePress under “Select your platform”.

When a user new to your site visits the checkout page of your membership site powered by ProfilePress, they will see the Link option to save their payment method.

And if an existing user of your website tries to get to the checkout page, they can use their saved payment method to checkout quickly.

Additional Settings / Features

Payment Collection Method

This lets you select how payment information will be collected. For example, it could be on your site with Stripe card fields displayed or off-site through Stripe hosted payment page.

Stripe on-site checkout
Stripe off-site checkout

Statement Descriptor

A short purchase description alongside the charge will appear on the bank/card statement. If empty, it fallbacks to the statement descriptor of your Stripe account.

Note: only 22 characters are allowed for statement descriptors. So if yours is too long, it will be truncated.

Remove Billing Address

Check this setting if you do not want to display the billing address fields on the checkout form.

Restrict Stripe Assets

This setting prevents Stripe assets from loading on every page. Most sites should not enable this setting. Stripe advises that their JavaScript library be loaded on every page to take advantage of its advanced fraud detection rules. If you are not concerned with this, enable this setting only to load the JavaScript when necessary.

Testing Stripe

You can test Stripe in Test Mode, which allows you to try out the payment process without using an actual credit card. Stripe offers test cards for this process (see below).

Firstly, enable test mode from the manage payment method page.

Stripe offers a temporary test account by clicking “Skip this form”. We do NOT recommend this option as it’s best to use an actual account, the same as your live account. This allows you to configure webhooks and apply for Live and Test Mode. Also, renewals will not work with a temporary test account if you are testing recurring payments.

Testing a Purchase

Now in test mode, add a product to your cart and proceed to checkout.

You can use the card number 4242424242424242 with any CVC and valid expiration date (any date in the future).

Testing Express Checkout (Apple Pay / Google Pay)

To test these methods, you must have a payment method added.

Apple Pay
A live card must be added to your Apple Pay wallet, but when Test Mode is enabled, live funds are not used when testing.

Google Pay
Google Pay allows you to add any Stripe Test Card. It should be added under chrome://settings/payments; if no test card exists (even with a live card listed) you may not see the Google Pay button.

If Express Checkout buttons are not appearing, you can test your browser(s) here: https://stripe.com/docs/stripe-js/elements/payment-request-button

You should see the appropriate button appear at the top of the page (see screenshot below). If it doesn’t appear, it is due to your browser:

Apple Pay is available but fails to process payment:
Try re-registering your domain with Apple Pay by removing your site and registering it again.

Additional Resources

See Stripe Testing for more test card numbers and additional testing options.

FAQ

Q: How to manage payment methods with Stripe

A: By default, the Stripe payment gateway includes credit cards, Apple Pay, Google Pay, and Link. Some stores may choose to disable one or more of these payment methods. This is done via your Stripe account settings.

Go to Payment methods (Stripe.com Settings > Payment methods) and select ProfilePress under “Select your platform”:

This shows a list of all of Stripe’s available payment methods, including Cards, Link, ACH Direct Debit, Apple Pay, Google Pay, Alipay, Bancontact, Bank transfers, BLIK, EPS, FPX, Giropay, iDEAL, Sofort, P24, Affirm, Afterpay, Clearpay, Klarna, Cash App Pay, GrabPay, WeChat Pay, SEPA debit, Bacs Direct Debit, ACH Direct Debit.

To enable and disable supported payment methods to make available on the ProfilePress checkout page, select that method and click the Turn On / Turn off button. The payment method will no longer appear as an option during checkout.

Q: How do I remove the additional 2% fee from my Stripe transactions?

A: You will not incur an additional 2% fee from your Stripe transactions if you purchase any ProfilePre Pro plan.

Q: Does the 2% fee apply to recurring Stripe transactions?

A: The 2% fee only applies to the initial transaction. If you have ProfilePress Pro installed and active on your WordPress site, you will not incur this additional initial transaction 2% fee.