Difference between revisions of "Signup Plus"
Line 83: | Line 83: | ||
'''Note: this feature is currently in development'''<br> | '''Note: this feature is currently in development'''<br> | ||
− | '''Note: this feature works for ALL billers that have a NATS | + | '''Note: this feature works for ALL billers that have a NATS Signupplus integration via a backend call. Only the following billers that have a NATS Signupplus integration via a redirect have this functionality''' |
− | NATS allows you to send subscription pass through data for reactivation transactions. You can use any of the available subscription pass through fields. For example, to | + | NATS allows you to send subscription pass through data for reactivation transactions. You can use any of the available subscription pass through fields. For example, to send the member_subscription->passthrough2 field, you need to add the following to your signupplus.php link. |
<pre> | <pre> | ||
Line 91: | Line 91: | ||
</pre> | </pre> | ||
− | You will also need to make sure that your | + | You will also need to make sure that your Signupplus templates include the following code. |
<pre> | <pre> | ||
Line 107: | Line 107: | ||
</pre> | </pre> | ||
− | Additionally you can use the SIGNUPPLUS_INHERIT_SUBSCRIPTION_PASSTHROUGH_DATA config setting (config admin -> surfer page, one click systems section) to tell NATS how to deal with the subscription pass through variables. | + | Additionally, you can use the SIGNUPPLUS_INHERIT_SUBSCRIPTION_PASSTHROUGH_DATA config setting (config admin -> surfer page, one-click systems section) to tell NATS how to deal with the subscription pass through variables. |
{| class="wikitable" | {| class="wikitable" | ||
|Do Not Inherit (default) | |Do Not Inherit (default) |
Revision as of 16:10, 20 August 2020
Signup Plus is a feature in NATS4 that allows you to reactivate a member's subscription, or to repurchase a non-recurring subscription.
You will need to provide your users with a signup plus link:
http://<linkdomain>/signup/signupplus.php?site=<siteid>&username=<username>
Replace <linkdomain> with the site's actual linkdomain, then replace <siteid> with the site's NATS site I.D. number. Finally you must replace <username> with the user's NATS username.
Multiple Subscriptions
If the parameters passed in the signupplus link match multiple subscriptions, a page will display to allow the surfer to choose which subscription they want to manage.
To customize the look and feel of this page, you can edit the site templates: "page_choose_subscription"/"page_choose_subscription_mobile"
Verifying User
Once the surfer has a single subscription targeted, a page will display asking them to verify their email address in order to reactivate/repurchase.
To customize the look and feel of this page, you can edit the site templates: "gateway_signupplus"/"gateway_signupplus_mobile" and "thirdparty_signupplus"/"thirdparty_signupplus_mobile"
The template used for the surfer will be determined by what type of biller they signed up with originally.
Additional Security
Signup Plus also contains additional security features, which allow you to further secure the transactions occurring on your Signup Plus forms. For example, you can use API calls to get secure member authorization strings, verify surfer information on the Signup Plus form, and change the input source to use POST instead of GET.
MEMBER_STRING_AUTH_SIGNUPPLUS
Use the MEMBER_STRING_AUTH_SIGNUPPLUS variable to choose whether or not you wish to use the new member auth strings available in NATS 4.1. These strings contain a variety of information, and are designed to prevent unwanted subscription purchase attempts by outside sources.
This feature will be set to off by default. If you want to enable this feature for your Signup Plus transactions, you can add the following necessary code in the config.php script on your NATS server:
$config['MEMBER_STRING_AUTH_SIGNUPPLUS'] = 1;
This will activate the MEMBER_STRING_AUTH_SIGNUPPLUS setting to use additional security for your member authorization strings. Do not add the provided code if you want to leave this feature disabled.
Once you have activated this setting, you must use the get_member_package_upgrade_string API call to get the correct auth string for the member you want to upgrade. Please see our API Get Member Package Upgrade String wiki article for more information on this process.
This function will return the auth string necessary for your members to get authenticated with for the Signup Plus process. Include the auth string in the link for your member, and they will be able to use the Signup Plus feature with the MEMBER_STRING_AUTH_SIGNUPPLUS security setting enabled.
http://<linkdomain>/signup/signupplus.php?site=<siteid>&username=<username>&authstring=<authstring>
Signup Plus Form Verification
You can also add additional security checks on your Signup Plus form. The Signup Plus feature verifies member e-mail addresses by default, but you can add a switch to choose between verifying a member's e-mail address, password, or both e-mail address and password. If you want to enable this feature for your Signup Plus transactions, you can add the following necessary code in the config.php script on your NATS server:
$config['SIGNUPPLUS_REQUIRED_FIELDS'] = 0;
Add this setting with a value of '1' if you want Signup Plus to verify member passwords. Change this to a value of '2' if you want Signup Plus to verify both member passwords and e-mail addresses. Do not add the provided code if you only want to verify member e-mail addresses.
This allows you to choose what member information you want to authenticate on the Signup Plus form itself, preventing anyone from submitting a Signup Plus form with an incorrect e-mail address, password, or both.
Using $_POST
Signup Plus also offers another security feature, allowing you to change the method of submitting data from $_REQUEST to $_POST to further authenticate your members' information.
This feature is set to use $_REQUEST by default. If you wish to use $_POST to authenticate your Signup Plus form transactions, add the following code to your config.php script:
$config['SIGNUPPLUS_POST_ONLY'] = 1;
Add this setting with a value of '1' if you want Signup Plus to only allow $_POST when authenticating your members. Do not add the provided code if you want to use $_REQUEST when authenticating members.
Throttling
Throttling is a security setting available in NATS 4.1, which allows you to lock out surfers for a specified period of time if they make too many attempts on certain pages in NATS.
You can use the Throttling feature to help secure your signupplus.php page, preventing surfers from forcing transactions without the correct auth string. Just go to the "Security" configuration page, found in the Configuration Admin.
For more information on this feature, please see our Throttling wiki article.
Pass Through Data
Note: this feature is currently in development
Note: this feature works for ALL billers that have a NATS Signupplus integration via a backend call. Only the following billers that have a NATS Signupplus integration via a redirect have this functionality
NATS allows you to send subscription pass through data for reactivation transactions. You can use any of the available subscription pass through fields. For example, to send the member_subscription->passthrough2 field, you need to add the following to your signupplus.php link.
&member_extra[0][subscription_passthrough2]=<your value here>
You will also need to make sure that your Signupplus templates include the following code.
{if !empty($memberExtra) && is_array($memberExtra)} {foreach from=$memberExtra key=member_extra_key item=member_extra_val} {if is_array($member_extra_val)} {foreach from=$member_extra_val key=member_extra_key2 item=member_extra_val2} <input type="hidden" name="member_extra[{$member_extra_key|escape:'htmlall'}][{$member_extra_key2|escape:'htmlall'}]" value="{$member_extra_val2}"/> {/foreach} {else} <input type="hidden" name="member_extra[{$member_extra_key|escape:'htmlall'}]" value="{$member_extra_val}"/> {/if} {/foreach} {/if}
Additionally, you can use the SIGNUPPLUS_INHERIT_SUBSCRIPTION_PASSTHROUGH_DATA config setting (config admin -> surfer page, one-click systems section) to tell NATS how to deal with the subscription pass through variables.
Do Not Inherit (default) | blank out existing subscription pass through values, only use the values from the member_extra array |
Inherit and Override | override subscription pass through values with the values from the member_extra array |
Inherit and Override blank values | override subscription pass through values with the values from the member_extra array only if the existing value is blank (0 is not blank) |
Inherit Only | do not update the subscription pass through values, values from the member_extra array will be ignored |