Stripe Integration

Stripe is a popular internet payment processor that allows accepting payments using credit cards without leaving your site.

Currently, Stripe is more than just a payment gateway it can automatically generate receipts and handle recurring payments.

Creating a Stripe Account and API Keys

To be able to use Stripe with WPJobBoard you need a Stripe account. You can signup for an account on the Stripe Registration Page.

After registration, please log in to the Stripe Dashboard and go to Developers / API Keys panel, you will find there publishable and secret API keys.

Stripe API Keys panel

Stripe API Keys panel

To finish the configuration you will need to copy the Publishable Key and then Secret Key to WPJB Stripe configuration panel in wp-admin / Settings (WPJB) / Stripe on your website.

WPJobBoard Stripe Configuration

The WPJB Stripe configuration panel you can see on the image below.

WPJobBoard Stripe Configuration Form

WPJobBoard Stripe Configuration Form

Here you have eight options:

  • Configuration
    • Availability – Here you can enable or disable Stripe payment method,
    • Title – Title will be visible on the payment methods tab when making a payment in the frontend. If you will leave it blank title will be “Stripe (Credit Card)”,
    • Order – Integer that indicates the position of Stripe on the payment methods tab.
  • Stripe
    • Secret Key – The first key you copied from the Stripe panel,
    • Publishable Key – The second key you copied from the Stripe panel.
    • Description – Currently not used.
    • Payment Description – You can enter here some text which will the customers identify the payment in their credit card statement.
    • WebHook Endpoint – This is a non-editable field which contains an URL, this URL is an endpoint which can receive notifications from Stripe we will use it later.

When you fill all the fields you can update and you are done. You can test if your integration is working properly by posting a new non-free job.

WPJobBoard Stripe Frontend Form

Stripe integration will show a credit card field when making a payment via Stripe.

Recurring Payments (for memberships)

Once you have Stripe configured, you can go to wp-admin / Settings (WPJB) / Pricing panel. From there you can click “Add New” next to “Employer Membership” or “Candidate Membership” to create a new Membership plan.

Creating Memberships is described in more detail in the Pricing and Payments section in the documentation, if you need help with setting up membership pricings please refer to this article. As far as Stripe recurring payments are concerned you need to make sure that you check the “Recurring” checkbox at the end of the pricing form.

After this operation, you should be able to see the new Plan in your Stripe Dashboard / Products panel.

IMPORTANT! If you uncheck the “Recurring” option and click the “Save Changes” the created Stripe plan will be removed, and all subscriptions for this plan will be canceled. Please keep this in mind when you will be removing the plan that some of your users are subscribing (they do not lose their membership, but will lose recurring membership renewal – they will need to subscribe once again).

Recurring plans created by WPJobBoard

Recurring plans created by WPJobBoard

If you do not see any plans, check if you have selected the “Plans” tab over the white area.

WebHooks

WebHooks allow Stripe to notify your site when some action occurs. Recently they were useful for recurring memberships renewals only, but with the introduction of the EU PSD2 regulations, some credit cards cannot be charged automatically.

That is the credit card payment will be pending until the owner will manually approve the payment, in this case, a notification (a WebHook) from the Stripe will notify the site that payment was completed.

To set up a WebHook go to Stripe Dashboard / Developers / Webhooks panel and click the “Add Endpoint” button.

How to configure a WebHook for WPJobBoard

How to configure a WebHook for WPJobBoard

There are just 3 fields to fill:

Endpoint URL: you can find your URL in wp-admin / Settings (WPJB) / Stripe panel in the “WebHook Endpoint” field (see 4th image in this article) you can just copy it from there and paste in this field.

Version: in most cases, you can leave it as is.

Events to Send: click on the “Select events” dropdown and select just the “invoice.payment_succeeded” event.

Once you are done click the “Add endpoint” button. Now each time an “invoice.payment_succeeded” action occurs the Endpoint URL will be notified about it and will handle it if needed.

You are ready to go. Your users should be able to buy recurring memberships. A user with recurring membership will be charged every X days (depending on your settings) until he cancels his subscription. After cancellation, he will be able to use his membership until the expiration date.

Leave a Reply

Your email address will not be published.