Your Uncommonly Amazing WordPress Tech Partner
Membership plugins

How to integrate ThriveCart with MemberPress using Zapier

How to integrate ThriveCart with MemberPress using Zapier

[et_pb_section fb_built=”1″ _builder_version=”4.16″ custom_margin=”0px|||” custom_padding=”0px|||” global_colors_info=”{}”][et_pb_row _builder_version=”4.16″ background_size=”initial” background_position=”top_left” background_repeat=”repeat” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.16″ custom_padding=”|||” global_colors_info=”{}” custom_padding__hover=”|||”][et_pb_text _builder_version=”4.17.6″ custom_margin=”0px|||” custom_padding=”0px|||” global_colors_info=”{}”]

Introduction

SEPT 2022 UPDATE:

We built our own ThriveCart MemberPress Integration plugin!

Click on the link above to download it. 🙂

We'll keep this guide here as an additional resource.

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.

site banner 650 - How to integrate ThriveCart with MemberPress using Zapier
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

IMPORTANT UPDATE: MemberPress has released their own Zapier app, which eliminates the need to use the Application Passwords plugin. You'll be able to access the MemberPress app from within your Zapier account. Otherwise, most of the steps in this tutorial are the same.

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 - How to integrate ThriveCart with MemberPress using Zapier

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 profile admin - How to integrate ThriveCart with MemberPress using Zapier

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 - How to integrate ThriveCart with MemberPress using Zapier

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

application pass - How to integrate ThriveCart with MemberPress using Zapier

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 - How to integrate ThriveCart with MemberPress using Zapier

(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 thrivecart - How to integrate ThriveCart with MemberPress using Zapier

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.

thrivecart product selectoin - How to integrate ThriveCart with MemberPress using Zapier

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:

zapier filter step - How to integrate ThriveCart with MemberPress using Zapier

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 math operatoin - How to integrate ThriveCart with MemberPress using Zapier

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 webhooks post - How to integrate ThriveCart with MemberPress using Zapier

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

webhook data - How to integrate ThriveCart with MemberPress using Zapier

*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 - How to integrate ThriveCart with MemberPress using Zapier

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 - How to integrate ThriveCart with MemberPress using Zapier

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 - How to integrate ThriveCart with MemberPress using Zapier

*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 optoins - How to integrate ThriveCart with MemberPress using Zapier

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

from name - How to integrate ThriveCart with MemberPress using Zapier

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.

zapier recurring payment - How to integrate ThriveCart with MemberPress using Zapier

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.

thrivecart product selectoin - How to integrate ThriveCart with MemberPress using Zapier

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:

zapier filter step - How to integrate ThriveCart with MemberPress using Zapier

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 math operatoin - How to integrate ThriveCart with MemberPress using Zapier

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 - How to integrate ThriveCart with MemberPress using Zapier

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 webhooks post - How to integrate ThriveCart with MemberPress using Zapier

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

webhook data - How to integrate ThriveCart with MemberPress using Zapier

*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.

24 – You can even optionally send your MemberPress welcome email through your email marketing service.

 

[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]

You may also enjoy...

WordPress based membership sites have certain requirements, and make use of certain applications that, in my experience, makes most of the popular hosting providers a poor choice.
Learn how to automatically change a member’s membership level in MemberMouse as soon as they sign up
Step by step guide on how to prevent customers from buying your WooCommerce products more than once.
Membership Site Podcast where you learn from successful entrepreneurs how to build and run a profitable membership site so that you too can generate recurring revenue for your business month

16 Responses

  1. Hey Vic! Thanks so much for this tutorial. How do you recommend handling members who cancel their subscription within ThriveCart as this doesn’t automatically trigger in Memberpress.

    1. No problemo, Zoe!

      Here’s the deal with cancellation:

      1. Whenever a recurring payment comes through from ThriveCart it creates a transaction in MemberPress.

      2. The length of time that the transaction is valid is based on your membership settings in MemberPress.

      3. So if you have a monthly recurring subscription set up in MemberPress (even though TC handles the payments), that means that each recurring payment will extend access for another 30 days.

      4. Thus, if a customer cancels, they’ll continue to receive access to the members area until the access end date of their latest transaction arrives.

      5. If no NEW transaction arrives to extend their access, they’ll simply be unable to access the membership.

      ###

      Long story short, you don’t need to do anything for cancellations. Now refunds…they’re another story. 🙂

      1. I noticed that when a recurring payment is set up in Thrivecart, it sets up the subscription as non-recurring, does that matter? Also, how do you set up the length of the transaction?

        1. Hi Steven,

          1 – Do you mean that a recurring payment in ThriveCart is set up as NON recurring in MemberPress? If so, that doesn’t matter because MemberPress in this case is not managing the subscriptions; ThriveCart is. The only thing of importance here is that your members have recent transactions in MemberPress.

          2 – The length of the transaction will be based on the terms you have set up for the particular membership level that the transaction is associated with. So if the membership level has monthly recurring terms then the transaction will be 30 days long. If it’s yearly it will be 365 days long, and so on.

  2. How do you handle the refunds using memberpress and zapier? Since Thrivecart doesn’t have any option to send anything to memberpress directly.

  3. Hi, vic.
    Awesome post! Loving it and am building the solution you suggest. I ran into trouble at the last step. Creating the post-webhook generates an error: mp_db_create_error
    I cant find anything I might have missed. Sound familiar to you?
    Thanks again!

    1. Hi Michiel,

      That error means the user already exists in MemberPress which is why the zap can’t create him and fails.

      However, I just got an email from ThriveCart this morning saying they finally fixed this issue. So this tutorial might be unnecessary now. 🙂

      You might want to test that first.

  4. Hey Vic! Thanks so much for this tutorial. Is it possible to se the total_spent value in members mail list? I would like to see there the amount, but i see 0.

    The transaction is completed with total value correct.

    Thanks

    1. Hi Jon,

      Just to clarify, are you trying to set the value for a custom field in your email marketing software called “total_spent”? Or are you referring to a field called “total_spent” in ThriveCart or MemberPress? Because I’m not seeing such a field in the ThriveCart or MemberPress API.

  5. Vic,
    I am just installing MemberPress so right now this is a little overwhelming to think about. If I am going to just sell basic memberships (monthly/annual), should I just stick with the MemberPress internal subscriptions/payments? I do own ThriveCart but have not used or installed it.

    Does ThriveCart have any advantages over MemberPress? Any differences as far and calculating and reporting taxes?

    Also, your solution above involves Zapier. What is an estimated cost of Zapier? I really don’t understand their pricing structure.

    Thanks for all the great posts.

    1. Hi Myron, thanks for your comment. 🙂

      1 – There are advantages to sticking directly with MemberPress’s checkout system. The main one is that you can control all of the subscriptions, refunds, cancellations, etc., directly from within MemberPress.

      Your members will also be able to upgrade, downgrade, and cancel from within their my account page.

      Whereas if ThriveCart is your checkout system then you’ll have to do those changes in ThriveCart and your members won’t be able to manage their accounts in the same way.

      2 – The ThriveCart advantages are all of their reporting, upsell / downsell flows, built in affiliate program, etc.

      But again, you lose some control over the account management aspect. Unless you have a specific need to use ThriveCart (e.g. you need advanced analytics or some other feature that MemberPress lacks) I’d generally opt for using the MemberPress checkout.

      3 – The solution in this post involves Zapier because when I published it, ThriveCart’s MemberPress integration wasn’t functional.

      However, they’ve fixed it and you don’t really need Zapier anymore as far as I’m aware.

      ThriveCart plans to update their API to allow external apps to interact with IT (rather than the current state of affairs where ThriveCart can only be the TRIGGER app) which would allow a deeper integration with MemberPress including my account management, even if you’re using ThriveCart for checkout.

      We actually did this exact integration with PayKickStart so that our customer’s members could manage their accounts from within WordPress and it would update their subscriptions accordingly back in PayKickStart, which is what the customer uses for his cart.

      (https://memberfix.rocks/membermouse-paykickstart/)

      Hope that helps!

      Best,
      Vic

  6. Hi Vic, This was insanely helpful since the direct integration would not work. I was able to follow all the steps however when the new member is added to membervault it doesn’t ad them to the specific membership offer. It just adds them in the members list. I’m sure I’ve left something out. Any ideas on this would be helpful!

    1. Hi Lesley,

      In order to members to a specific offer (“membership” if we’re talking about MemberPress) then you’d need to specify which membership level a user gets added to within the Zap.

      It’s hard to help without seeing your actual setup, though.

      Please get in touch with us at sales(at)memberfix.rocks and we’ll see if we can lend a hand. 🙂

      Best,
      Vic

  7. Thanks for this. We are currently having a few issues with Thrivecart x Memberpress.

    Cancellations
    Thrivecart is adding members to the recurring membership in Memberpress as we wanted but somehow it is showing as a non-recurring.

    Then when the member cancels it never cancels their membership. It says they have it forever.

    Updating their details
    If someone updates their email in Thrivecart it doesn’t filter to Memberpress.

    The cancellation one is infuriating. I assume I’ll have to set up a zap for this.

    1. Hey Official L,

      I see you’ve already bought our ThriveCart MemberPress Integration Plugin, so thanks for that.

      But for anyone else reading I’ll answer your questions:

      1 – Yes, ThriveCart adding transactions as non-recurring was one of the main issues we were using Zapier to solve.

      And it was a bit messy because of the limited triggers that ThriveCart gave us in the Zapier app.

      Basically, once the transaction gets added by ThriveCart, the Zap looks for it and updates it with the correct expiration date.

      And that would have to be done for every rebill obviously.

      The same goes for the cancellation issue you mentioned above; we had to wrangle zaps to deal with that.

      2 – Updating details

      This is really the core issue our plugin solves, which is the ability to sync 2 ways between ThriveCart and MemberPress.

      So what happens in ThriveCart gets reflected in MemberPress, and vise versa.

      And members can manage their accounts from within MemberPress instead of having to go through the ThriveCart customer hub which is a pain and not a great UX.

      This only became possible very recently (and in no small part thanks to our constantly staying on top of ThriveCart’s dev team), because the API used to only work unidirectionally (TC => MP).

      So our plugin should solve all of the problems you listed. 🙂

      Let me know how you like it and if you have any questions or issues just pop a request in our contact form and we’ll get back to you.

      Thanks!
      Vic

Leave a Reply

Your email address will not be published. Required fields are marked *