1. Home
  2. Jetpack CRM Extensions
  3. Invoicing Pro
  4. Using Invoicing Pro with Stripe

Using Invoicing Pro with Stripe

Invoicing Pro can currently only process debit and credit card payments. Accepting those payments via Stripe is our favourite method. Stripe is much easier for customers to use and it avoids a lot of the pitfalls that have started to arise with PayPal as a payment processor.  

If you’re a freelancer on a global scale, you may have come across the following problems with using PayPal to accept invoice payments:

  • You can only take in a certain amount before PayPal limit your account.
  • You take in a big payment and PayPal limit your account for suspicious activity.
  • You have your payment held by PayPal for 14-21 days, holding your funds hostage.

What Stripe API keys do I need?

Stripe gives you both test and live API keys. Please refer to Stripe’s documentation on locating the API keys in your Stripe account.

Test Stripe API keys

If you want to test Stripe payments with Jetpack CRM, you’ll want to use your Stripe test API keys. You’ll also want to make sure test mode is enabled in your Stripe account.

Live Stripe API keys

If you want to accept live Stripe payments with Jetpack CRM, you’ll want to use your Stripe live API keys. You’ll also want to make sure live mode is enabled in your Stripe account.

Adding a new webhook in Stripe

This step allows Jetpack CRM to process transactions and automatically mark invoices as paid.

Follow these steps within your Stripe account:

  1. Click the “Webhooks” tab.
  2. Click the “Add an endpoint” button.
  3. In the “Endpoint URL” field, enter the following URL: https://your-site-domain/?jetpackcrm-listener=stripe (be sure to replace your-site-domain with your actual site domain)
  4. In the “Description” field, enter whatever description you’d like.
  5. In the “Listen to” section, select the “Events on your account” option.
  6. In the “Select events to listen to” section, click the “Select events” button, and select the “checkout.session.completed” event. Click the “Add events” button to add that event.
  7. Click the “Add endpoint” button to save the webhook.

You should now see the completed webhook in your Stripe account. In the “Signing secret” column, click the “Reveal” link and copy the webhook’s signing secret. You’ll need to enter this into the Jetpack CRM settings in the step below.

Please refer to Stripe’s documentation on webhooks for additional information.

How to set up Invoicing Pro?

  1. Go to Jetpack CRM > CRM Settings > Payments.
  2. In the “Accept Payment via” field, select “Stripe” from the dropdown list.
  3. Click the “Save Settings” button, which will save and refresh the page, and display the Stripe settings.
  4. In the “Stripe Secret Key” field, enter the secret API key from your Stripe account.
  5. In the “Stripe Public Key” field, enter the public API key from your Stripe account.
  6. In the “Stripe Webhook Secret” field, enter the signing secret from the webhook you created in your Stripe account.
  7. Scroll down and click the “Save Settings” button.

Once you save the settings, you are ready to receive payments from your customers through invoices on the Client Portal.

Frequently Asked Questions

Payments aren’t marking themselves as Paid?

There may be a short lag while the transaction is processed. If the invoice doesn’t show as paid after a few minutes, check the Stripe dashboard to see if the payment is showing there. If not, check that you have created the webhook correctly in Stripe, and have entered the correct keys in Jetpack CRM > CRM Settings > Payments.

I don’t use Stripe. How can I use this extension?

Invoicing Pro offers Stripe and PayPal as payment gateways. If you don’t have Stripe the other option available to you is our PayPal integration.

If you don’t use PayPal or Stripe, you may want to consider using WooCommerce to process orders and payments.

Updated on June 26, 2023

Was this article helpful?

Related Articles

Still not found an answer?
If you've searched the knowledge base and still can't find a solution, please submit a ticket.
CONTACT SUPPORT