Install Stripe Payments
- If you haven't already done so, install and activate Business Directory Premium.
- In your WordPress admin, go to Directory → Modules and click the Install button for the WordPress Stripe plugin.
Connect to Stripe
- Install the Stripe Gateway module
- Go to Directory → Settings → Payment
- At the top, check Enable Payments.
- Click on the Stripe sub-tab
- Check the box to activate Stripe gateway option
- Enter your Live API keys from the Stripe account information
- (Optional, but recommended) Enter your Test API keys from the Stripe account information
- (Optional, but recommended) Put the payment gateways in test mode. Uncheck this when done testing!
- Save settings
If you would like to use recurring subscriptions or refund payments from stripe.com, your site will need to receive notifications from Stripe.
To enable these notifications, go to your Stripe Account → Developers → Webhooks page, and click the +Add endpoint button.
- In the Endpoint URL field, add the link shown at the bottom of your Directory → Settings → Payments → Stripe tab. The link will look like this:
- Select to receive all events. If “receive all events” option is not available, click the “Clear” link and option will appear again.
Setup Fees & Payments
- Go to the Directory → Settings → Payments page. Change currency display options, and turn on the abandoned cart emails, if desired.
- Create one or more Fee Plans
- You’re ready to test payments. Logout as Administrator and attempt to place a listing. Verify that it goes through.
Payments will not be taken if you are logged in as the administrator!
Once correctly configured, your payment options and Stripe configuration will look like this (production mode):
TEST Secret Key – Required. You’ll find the value for this key in your Stripe dashboard. It is used by the module to communicate with your Stripe account. Do not share this key with anyone.
TEST Publishable Key – Required. Same as above.
LIVE Secret Key – Required. Same as above.
LIVE Publishable Key – Required. Same as above.
Use a custom form instead of a “Stripe Checkout” button? – Optional. This setting controls whether the module displays a custom form where users enter their credit card information or a standard Stripe checkout button.
- When disabled (the default), a regular Stripe checkout button will be displayed during the checkout process. The credit card information is entered in an overlay screen that Stripe creates. This is consistent with the Stripe experience in other sites but may not actually match the look and feel of your site. The button looks like this:
- Clicking on the button will create a popup in the browser where the credit card information is collected directly:
- If you enable this option for a custom form instead, a custom form for entering the credit card details will be used. This form matches the look and feel of your site and you can add further customization with CSS overrides. The default form looks roughly like this (although this will vary based on your theme's CSS):
- You can also require billing info by using the BD checkout form by enabling this Stripe Module option:
The BD form includes email, first and last name, CC info and Billing address, verifying required data on submit.
Verify billing address during checkout? This option turns on a stronger version of Stripe's fraud protection for you. It will require the user to enter a billing address for their credit card, and this must match the user's credit card details. Use this if you're concerned about fraudulent transactions made on your site.
Other payment settings
In addition to the Stripe-specific settings, you should also have settings like this under the Payment → General settings sub tab:
The remaining settings including currency code and currency code placement are left up to you, depending on your preferences and needs.
You can also configure payment reminders for those who attempted to place a listing, but never complete the process (“Abandoned Cart Emails”):
And lastly, if you have the Discount Codes module installed, you can activate whether to allow discounts for listing purchases here as well.
Now you should be ready to receive payments via Stripe!