Stripe Payment Gateway
Business Directory supports 5 payment gateway modules:
- Authorize.net (included in the Core Plugin)
- PayPal (when you buy the PayPal Premium module)
- 2Checkout (when you get the 2Checkout Premium module)
- Stripe (when you get the Stripe Premium module)
- PayFast (South Africa only) (when you get the PayFast Premium module)
Google Wallet is no longer supported because Google dropped support for it officially on March 15, 2015. Others can considered for future development but they are not currently available. Less common payment gateways can be added by those who understand PHP and WordPress API programming and modeling the gateway off of the included free one in the plugin.
Installing Payment Gateways
The ZIP you download is a full WP plugin. Install it as follows:
Upload the ZIP as a plugin via the MANUAL process*. From the WordPress admin panel
- Go to Plugins->Add New,
- Click on the “Upload” link, and then click on Browse Now to locate the ZIP file you just downloaded.
- Click OK once you find it on your local computer
- Click the Install Now button to start the process.
- After the installation completes, click the “Activate Plugin” link to turn on the module
*NOTE: If you are using a Mac, the file may be automatically unzipped when you download it. You can change the default setting in Safari to only download the ZIP file and not unpack it. To do this: 1. Open Safari, 2. Click Preferences, 3. Under the General tab, uncheck the option Open “safe” files after downloading
If you have an older version installed, you will need UPGRADE it instead. The steps are similar, but start slightly different:
- Go to Plugins->Installed Plugins
- Find the existing ‘Business Directory <gateway>’ module (where <gateway> is the name of the payment gateway, like PayPal) and click on “Deactivate”.
- When the operation is complete, then click on “Delete” for the same plugin.
- When that finishes, perform the steps above on installing the plugin from scratch.
Configuring Stripe Gateway
- Install Stripe Gateway module
- Go to Directory Admin->Manage Options->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!
- Change your currency, if applicable
- Change currency display options, if you want
- Turn on the abandoned cart emails, if desired
- Save settings
- Create one or more Fee Plans
- Update your Stripe webhooks with the URL given under Directory Admin->Manage Options->Payment->Stripe (click the link for documentation in Stripe on how to do that) NOTE: There is an option to select all events for a webhook:
If “receive all events” option is not available, customer should click on “Clear” and option will appear again.
15. 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!
IMPORTANT (Recurring Payments): If you plan to offer recurring payments make sure you configure the correct web hook URL in your dashboard.
You’ll have to copy the URL that appears under “Stripe Gateway Settings” on your site, go to the webhooks section of your Stripe dashboard, click Add URL and paste the URL there.
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.
- Enable Bitcoin (BTC) Support? Stripe supports accepting payments via Bitcoin. If you want to accept them as well, turn this option on. Additional transaction fees in Stripe may apply.
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!