Adding a 'e-sign' document Answered

Post author
Dave Rajan

Hey guys, after finishing up with my project, client got a few requirements related to the payment flow.
so basically, she wanted to add a ""e-sign"" document (jotform or something similar) before the user makes any payment of plans, is that something possible (as of now I added price ID directly to the CTA)

Comments

10 comments

  • Comment author
    Julian Galluzzo

    The easiest way would be this IMO:

    1. User clicks to get a plan
    2. They are redirected to jotform with e-sign
    3. Only then will the jotform redirect them to the create account/payment link

    This way, the payment link is virtually inaccessible until they sign

    There are likely more elaborate and "proper" ways to do this, but to me this sounds like a quick and effective solution

    0
  • Comment author
    Josh Lopez

    good idea Julian Galluzzo ! Another idea would be to let members signup without a plan then take them to the jotform, then take them to a page where they can upgrade/add a paid plan. You might also be able to use some custom code to update a custom field on the member like “jotform-submitted” to keep track of what members have completed. If a member has completed the jotform and they dont have a paid plan you could contact them to upgrade.

    0
  • Comment author
    Julian Galluzzo

    Agreed with Josh! Definitely a more secure option

    0
  • Comment author
    Dave Rajan

    Thanks team, It's kind of solution I was looking for!

    Hey Josh-Lopez so was stuck after zapier step,
    Flow I kept is when user clicks on plan CTA, redirects to the jotform, when they submits it, via zapier, I updates a custom field : User consent received [success here ✅ ],
    now I want to remove the jotform URL from Plan CTA & add a data attributes only if custom field = User consent received
    this might be not directly related to memberstack but looks like I need to check member's custom field via some JS code, is that possible?

    0
  • Comment author
    Julian Galluzzo

    Hey Dave Rajan, you're saying you want to hide the button if the user has that custom field set, correct?

    0
  • Comment author
    Dave Rajan

    reverse basically,
    when a custom field has the value (in my case, I updates a custom field via zapier)

    so when value is there, I want to show the payment button, or else redirect user to jotform embeded form.

    Just found this article, is that something I can use it? https://docs.memberstack.com/hc/en-us/articles/11264724752667-Display-Elements-Based-on-Custom-Fields

    0
  • Comment author
    Julian Galluzzo

    yep! Exactly this

    0
  • Comment author
    Dave Rajan

    looks like it's not working for me

    0
  • Comment author
    Julian Galluzzo

    Is the problem updating the custom field, or doing something based on that value?

    0
  • Comment author
    Dave Rajan

    Doing something based on the value.

    so for example, I have like 40+ Plans of gym memberships.

    to make payment for any plan, user should required to fill up the Jotform regarding their basic info & T&C to agree.

    I created a zapier automation, when user fillsout that form, I updates the Custom field as user submitted

    but when use this code, it's not working for all since ID's are multiple then inside the CMS


    https://fitness-factory-e69a74.webflow.io/memberships/gym-membership

    Works for 1st ID
     
    Made some changes to select all classes instead of IDs since in CMS, there is no way to select via unique IDs
     
    // paste in body of global site scripts
    function conditionallyRenderElement({ key, value, className }) {
      let element = document.querySelectorAll(className);
      element.style.display = key.includes(value) ? "block" : "none";
    }
    
    window.$memberstackDom.getCurrentMember().then(({ data: member }) => {
      if (member && member.customFields) {
        let key = member.customFields["waiver-signed"]; // EDIT THIS
        // the value of the custom field you want to check for
        let value = "yessigned"; // EDIT THIS
        // className of the element you want to show or hclassNamee conditionally
        let className = "jotformcta"; // EDIT THIS
        conditionallyRenderElement({ key, value, className });
      }
    });
    0

Please sign in to leave a comment.