Introduction

Overview

MemberPress has quickly become one of the most popular membership plugins for WordPress.

One of the reasons for this popularity is that Callie and Mike at the Member Site Academy¬†– which is hands down the best and most supportive community for membership site owners – recommend it to their members, and give them a great deal of support in setting up and troubleshooting it on the “Tech Talk” forum in their site.

Yes, I’m a member too. ūüôā

Hence, many of the 1000+ members of MSA use MemberPress on their sites (as do many of our MemberFix customers!)

And indeed, from a functionality standpoint MemberPress is rock solid. I’d say it’s up there in the top 7 best membership plugins alongside MemberMouse, DAP, ActiveMember360, WPFusion, and AccessAlly.

Likewise, ThriveCart is an incredibly popular new shopping cart and funnel app with a ton of users (including me!)

Default ThriveCart MemberPress integration not working

However, the problem we’ve been encountering lately in our work with our ThriveCart and MemberPress users is that the built-in MemberPress integration in ThriveCart is, as of this writing, buggy.

Sometimes a recurring payment results in a transaction being added to MemberPress but often it doesn’t. The result is that annoyed members email our customers to ask for access that they should have received but didn’t.

This creates support overhead for our customers and unhappiness for¬†their customers. Plus, it irritates ThriveCart’s users since they rightfully expect that an advertised integration will work as, well, advertised!

When I reached out to MemberPress their support passed the buck immediately to ThriveCart without investigating the matter at all. They said the problem is with ThriveCart and to be fair, it very well may be.

Dale at ThriveCart then did a fantastic job of asking for logs, troubleshooting basic configs, diving right into our WordPress install and getting his hands dirty (ThriveCart really has some of the best support I’ve ever seen, and you can imagine how many different support channels we deal with daily, so that’s really saying something!)

But at the end of the day, when everything was set up correctly, the integration was still misfiring. I’m not a developer and I find working with the MemberPress API pretty straightforward so I’m really not sure why ThriveCart is having trouble making it work. I’m sure it’s far more complex than I realize.

In any case, rather than wait around in support limbo, I decided to simply use Zapier to temporarily patch the buggy integration for our frustrated customer.

(In the meantime, I’ve also started a correspondence with ThriveCart offering my assistance in troubleshooting their integration because Zapier is less than ideal.)

Integration Guide

Overview

This integration requires two zaps for each product.

1 – The first Zap creates a new user inside of MemberPress and adds the transaction for this purchase.

The reason for this zap is because if you try to create a transaction in MemberPress for a user that doesn’t exist yet in the WordPress database, the transaction won’t get added and the zap will fail.

So this zap first checks whether the user exists in MemberPress, and if he doesn’t, creates them.

If the user DOES already exist in MemberPress then this zap will fail because you can’t create a member who has already been created. And in this case, the second zap will add the transaction to the existing member’s account.

2 –¬†This second zap checks for an¬†existing¬†user in MemberPress.

If the user exists, the zap adds the related transaction to their account, thereby extending their access.

If they don’t exist the zap will fail but the first zap will take care of adding them. ūüôā

WordPress Authentication using Application Passwords

Before you can use Zapier with MemberPress you’re going to need to set up request authentication in WordPress.

1 – Go to your WordPress site => Plugins => Search for “Application Passwords”.

Application Passwords Plugin for WordPress

2 – Install and Activate the plugin.

3 – Now while you’re logged into WordPress as an administrator, find the profile widget in the upper right-hand corner of the screen and click “Edit My Profile”.

Edit Admin profile

4 РScroll down to the Application Passwords section.

5 – In the provided field type in a “seed” password (it can be any password you want) and click “Add New”.

Add Application Password

6 – You’ll now see a popup that gives you an application password to go along with the seed password you typed in.

new application password

Copy and save it in a safe place (you don’t need to save the seed password; only the newly generated application password)

First Zap – For NEW Members Only

1 – Go to zapier.com and log into your account.

*Please note that in order to perform this integration you’ll need to have a paid Zapier account. Our team can also set this up and host it for you on our enterprise account for a one-time setup fee and $5/zap/month for the zap hosting.

2 – Open a new tab in your browser and log into your ThriveCart account.

3 РGo to Settings => Integrations => scroll down => Click on the Get Started button for Zapier.

4 – You’ll now be redirected to Zapier and allowed to use ThriveCart as a trigger action.

5 – Click “Create a Zap”.

6 – For the purposes of this demonstration we’ll use two triggers in two separate zaps.

For the first zap we’ll use the “Makes Any Purchase” trigger.

zapier any purchase

(You could also use the “Product Purchase” trigger and select specific product to trigger this zap. In this case, however, we’ll use a filter action in the next step to determine the conditions under which the zap will continue or stop which will effectively do the same thing.)

Select the Any Purchase action and click Save & Continue.

7 РNow click Connect an Account.

8 – In the popup that appears click “Yes, allow access to my account” (if you don’t see this message make sure to login to ThriveCart first and then try again).

allow access to thrivecart

9 – Name the newly connected account whatever you want and click Save & Continue.

10 – In the next screen you’ll have the ability to configure various options about this zap.

If you’re setting this zap up for one product only, you can select that product from the Product dropdown.

If you’d like it to work for multiple products, leave all the fields on this page blank, and create an additional Filter step in the next step that checks for the product ID numbers like so:

11 РOn the next screen click Connect & Continue and Zapier will search ThriveCart for any recent orders.

*I highly recommend you go and make a live purchase (and refund yourself later) of your product so you can get the real test data pulled into the Zap.

If Zapier can’t find a recent ThriveCart order, which does happen from time to time, don’t worry about it. Just click Skip Test & Continue and move on to the next step.

12 – Create a new action step and search for “Formatter by Zapier”.

13 РSelect Numbers from the options.

14 РOn the next screen select Perform Math Operation and set it up like so:

zapier perform math operation

Operation – Divide
First Input РSelect the Rebill Amount field from Step 1
Second Input – Click the + button to add this second input field and set the value to 100

The reason for this step is to transform the default price format that ThriveCart spits out into a format that MemberPress interprets correctly. If the price of your product, for example, is $10 then ThriveCart will display it as 1000. If you leave this step out your MemberPress transaction will say $1000 and stuff up your reporting (if you use it). Therefore we have to divide this number by 10 to get the correct value into MemberPress.

15 – Create a new action step and search for “Webhooks”.

Select Webhooks by Zapier.

16 – Select the POST action:

zapier webhook post

17 – On the next screen fill out the fields as follow:

URL: https://www.yoursite.com/wp-json/mp/v1/members (make sure to replace with your actual website URL)

Payload Type: JSON

For Data create the following 5 fields and use the corresponding data from your ThriveCart test or live sale:

username – Use the buyer’s email address to populate this field
first_name – Use the buyer’s first name to populate this field
last_name – Use the buyer’s last name to populate this field
password – Use the order timestamp to populate this field (the timestamp works well because all we need for a password is a sufficiently random, sufficiently long and unique string of characters)
email – Use the buyer’s email address

*Don’t worry about the¬†tax_desc field in the screenshot above, you can leave that out.

18 – Scroll down to the Basic Auth section and enter the following info in this exact format:

VicDorfman|8qY1 UNcm rETl xv3p t3aU KMrk

You can see above that the format is the username (VicDorfman in my case) followed by a vertical pipe symbol ( | ) followed by the application password that you generated earlier.

Notice there are no spaces between the username, the pipe, and the application password. And you MUST use the username and NOT the email. You can use the email only if the username happens to be the email address as well.

19 – Proceed to the next step and send a test webhook.

20 – If the test succeeds go into MemberPress => Members and find the email address of the test user that should have just been created.

21 – Create another action step in the zap and search for “Delay”. Select Delay by Zapier, select the “Delay For” action, and set the delay to 1 minute (to allow enough time for the member to be created).
zapier delay

22 – Create another action step in the zap. Again select the Webhook action but this time make sure it’s the GET type (not POST).

23 – For URL use the following address:

https://www.yoursite.com/wp-json/mp/v1/members

*Make sure to replace with the URL of your actual domain.

24 – Fill out the Query String Params section with one field, “search”.

And use the email address from the first step of the zap as the value.

zapier get webhook

25 – Scroll down to Basic Auth and enter the same authentication credentials as you did for the previous Webhook step.

26 – Click Continue and test the zap.

27 – Add a new action step, a webhook with POST type.

28 – For the URL enter:

https://www.yoursite.com/wp-json/mp/v1/transactions (replace with your domain)

Payload type should be set to JSON.

29 – Create the following fields:

status – set to complete
coupon – set to 0
created_at – use the order date value from the first step
amount – use the sale amount value from the first step
member – populate with the member ID number from the previous webhook step
membership – go to MemberPress => Memberships and find the ID number of your membership (left-most column) and place here
gateway Рset to manual
subscription – set to 0

zapier post data

*You don’t need to define a subscription because ThriveCart handles your billing anyway. You just need a transaction for the corresponding membership and your members will be able to get access.

Also, don’t worry about some of the field values above saying “no data”. Once real orders come through the real data will get populated.

Sending your members a welcome email

One problem with this integration method is that it doesn’t trigger MemberPress to send out a welcome email for new members like it would for a purchase made via its native checkout process.

So it becomes necessary to use Zapier for this as well.

I’m going to use Email by Zapier to do this but I recommend you use Gmail instead (you can select Gmail as an action step and connect your account to “send from” your Gmail address which looks more personalized and has a better chance of hitting the Primary inbox).

You can also use your email marketing application (e.g. Drip, ActiveCampaign, MailChimp, etc.) but it would require you to pass the password value to a custom field first and then set up an automation in your email app to send that password to your new members.

Finally, note that you do NOT have to do this step for recurring payments as those members already have working login details.

1 РAdd a new action step and search for Email by Zapier

2 РThe only option on the next step is Send outbound email so select that and click Save & Continue.

3 – Select the following options:

To – Select the email address from Step 1
Subject – Write the subject line of your welcome email (anything you want)
Body – You can write whatever you want here just make sure you include the login URL, the username (email address from step 1) and the password (Order ID from Step 1).

email options

4 – I also recommend setting your From Name and “Reply To” email as below:

From Name – Your name or the name of your brand usually
Reply To – The email address messages should be sent to if somebody replies to this message

Second Zap – For RECURRING Payments

The second zap which we’ll use to add transactions in MemberPress for recurring ThriveCart payments is very similar to the first zap but with a few key changes.

1 – Login to Zapier.

2 – Open a new tab in your browser and log into your ThriveCart account.

3 РGo to Settings => Integrations => scroll down => Click on the Get Started button for Zapier.

4 – You’ll now be redirected to Zapier and allowed to use ThriveCart as a trigger action.

5 – Click “Create a Zap”.

6 –¬†Select the “Any Recurring Payment” trigger.

7 РOn the next step click Connect an Account or select the account that you connected earlier.

8 – In the next screen you’ll be able to configure various options for this trigger.

If you’re setting this zap up for one product only, you can select that product from the Product dropdown.

If you’d like it to work for multiple products, leave all the fields on this page blank, and create an additional Filter step in the next step that checks for the product ID numbers like so:

9 РOn the next screen click Connect & Continue and Zapier will search ThriveCart for any recent orders.

Don’t worry if Zapier can’t find a recent ThriveCart order. Just click Skip Test & Continue and move on to the next step.

10 – Create a new action step and search for “Formatter by Zapier”.

11 РSelect Numbers from the options.

12 РOn the next screen select Perform Math Operation and set it up like so:

zapier perform math operation

Operation – Divide
First Input РSelect the Rebill Amount field from Step 1
Second Input – Click the + button to add this second input field and set the value to 100

The reason for this step is to transform the default price format that ThriveCart spits out into a format that MemberPress interprets correctly. If the price of your product, for example, is $10 then ThriveCart will display it as 1000. If you leave this step out your MemberPress transaction will say $1000 and stuff up your reporting (if you use it). Therefore we have to divide this number by 10 to get the correct value into MemberPress.

13 – Create another action step in the zap.

Select the Webhook action of the GET type (not POST).

14 – For URL use the following address:

https://www.yoursite.com/wp-json/mp/v1/members

*Make sure to replace with the URL of your actual domain.

15 – Fill out the Query String Params section with one field, “search”.

And use the email address from the first step of the zap as the value.

URL – https://www.yoursite.com/wp-json/mp/v1/members
search – email address from step 1

zapier get webhook

16 – Scroll down to Basic Auth and enter the same authentication credentials as you did for the previous Webhook step.

17 – Click Continue and test the zap.

18 РCreate a new Webhook action step.

19 – Select the POST action:

zapier webhook post

20 – On the next screen fill out the fields as follow:

URL: https://www.yoursite.com/wp-json/mp/v1/members (make sure to replace with your actual website URL)

Payload Type: JSON

For Data create the following 5 fields and use the corresponding data from your ThriveCart test or live sale:

username – Use the buyer’s email address to populate this field
first_name – Use the buyer’s first name to populate this field
last_name – Use the buyer’s last name to populate this field
password – Use the order timestamp to populate this field (the timestamp works well because all we need for a password is a sufficiently random, sufficiently long and unique string of characters)
email – Use the buyer’s email address

*Don’t worry about the¬†tax_desc field in the screenshot above, you can leave that out.

21 – Scroll down to the Basic Auth section and enter the following info in this exact format:

VicDorfman|8qY1 UNcm rETl xv3p t3aU KMrk

You can see above that the format is the username (VicDorfman in my case) followed by a vertical pipe symbol ( | ) followed by the application password that you generated earlier.

Notice there are no spaces between the username, the pipe, and the application password. And you MUST use the username and NOT the email. You can use the email only if the username happens to be the email address as well.

22 – Proceed to the next step and send a test webhook.

23 – If the test succeeds go into MemberPress => Members and find the transaction for the test user that should have just been created.

Hi! I‚Äôm Vic, I‚Äôm the founder of MemberFix. I live in Thailand, I write songs on my guitar, and I’m a brown belt in Brazilian jiu jitsu. ūüôā If you like this article, leave a comment and let me know what you think!

https://memberfix.rocks

Shares
Share This