Disable payment plugin in signup only

Discussion in 'Payments processing' started by hbf1000, Aug 6, 2008.

  1. hbf1000

    hbf1000 New Member

    Joined:
    Jul 17, 2008
    Messages:
    8
    Hi, on signup page I will show only free subscription. After signup, customers can bye subscriptions on members page. How do I disable payment only in signup page ? I am using PayPal.
  2. scott_wa1

    scott_wa1 aMember Pro Customer

    Joined:
    Aug 22, 2006
    Messages:
    62
    in the Manage Products you could hide the "paid for" products from the signup page and display them only on the member pages...
  3. hbf1000

    hbf1000 New Member

    Joined:
    Jul 17, 2008
    Messages:
    8
    scott,
    before posting this thread I tried the following. I selected Scope="Only members having completed subscription". And in fact, the product now is showing only in members page, not in signup. So, only my free plan is shown in signup. But, the problem is, although the product is free, the select payment type is still there. And this what I am to remove. Any ideas?
  4. scott_wa1

    scott_wa1 aMember Pro Customer

    Joined:
    Aug 22, 2006
    Messages:
    62
    Ummmm you should be able to do that with the signup.php template file (templates/signup.html).

    Code:
    {* Select Payment System in same way, only if its count > 1 *}
    {if $smarty.request.hide_paysys }
        <input type="hidden" name="paysys_id" value="{$smarty.request.hide_paysys|escape}">
        <input type="hidden" name="hide_paysys" value="{$smarty.request.hide_paysys|escape}">
    {else}
    {if $config.product_paysystem}
    {assign var="paysys_id_not_required" value="1"}
    {else}
    <tr>
        <th>Payment Method *</th>
        <td>
    		<img src="/images/visa_mc_discover.gif" width="65" height="120" alt="" border="1" align="right" vspace="5" hspace="20">
            {foreach from=$paysystems item=p} 
            {if count($paysystems)>1}
            <input type="radio" id="paysys_id{$p.paysys_id}" name="paysys_id" value="{$p.paysys_id|escape}"
                {if $p.paysys_id eq $smarty.request.paysys_id }checked{/if} />
            {else}            
            <input type="hidden" id="paysys_id{$p.paysys_id}" name="paysys_id" value="{$p.paysys_id|escape}" />
            {/if}<label for="paysys_id{$p.paysys_id}"><b>{$p.title}</b>
                <span class="small">{$p.description}</span></label><br /><br />
            {/foreach}
    		<br>
    		<font style="font-size: 8pt; color: red;">Note: if using American Express, please choose the PayPal option above</font>
        </td>
    </tr>
    {/if}
    {/if}

    That's my signup.html code - slightly customized but yours should look pretty similar. You could probably delete all of that and use just this line:

    Code:
     <input type="hidden" name="paysys_id" value="free"> 
    Try that and see if works... basically you're hiding the whole paysystem choice and hard-coding the paysys ID to "free".


    -Scott
  5. jimjwright

    jimjwright New Member

    Joined:
    Sep 12, 2007
    Messages:
    162
    Hello,

    You could call your signup page using hide_paysys=free. For example my free membership is called as follows:

    /amember/signup.php?price_group=-3&hide_paysys=free

    where price_group=-3 defines the free membership product I provide.

Share This Page