Token Plus

From TMM Wiki
Jump to: navigation, search
Members Admin
The Members Admin
View Member Details
Add Member
MySQL Auth
Mod Authn DB
Multisite Access
Member Logging
Member Password Retrieval
OpenID Connect
Mod Auth OpenIDC
ID Numbers
Sites Admin
The Sites Admin
Site Setup
Site Templates
Tour Setup
Join Options
No Cost Registration
Special Pricing Options
Join Option Rules
Post URL Usage
Post URLs in NATS4
Approval/Upgrade/Denial Variables
Approval/Upgrade/Denial Template Variables
Mobile Tours
Token Sites
ID Numbers
Site Partner
Site User Management
Example Postbacks for Site User Management
Configure Redirects
Split A-B Testing
Username Checking
Form Validation
Post-Biller Templates
Send Information To Special Biller
Join Option Box vs Button
Qualified Join Page Hits
Allowed languages
Customize Join Form
Package Plus
Token Plus
Signup Plus
Type-In Traffic
Coupon Codes
Setting Rules
Site Groups
Options Simulator
ATVOD Verification Process
Billers Admin
The Billers Admin
Biller Fees
NATS Cascades
Add Cascade
Cascade Weight
Hidden Cascades
Geo-Targeting Cascades
Post-Biller Templates
HTTPS Gateways
Timed Cascade Rules
Upgrade Plus
Token Plus
Gateway One Step Join
Extra Biller Fields
Send Information To Special Biller
Setting Rules
Cross Sell Supported Billers
Upsell Supported Billers
Packageplus Supported Billers
Tokenplus Supported Billers

Token Plus is a feature in NATS4 that allows members of Token Sites to purchase additional tokens for their account, without requiring them to re-input their payment information. This lets your existing members complete additional token transactions quickly and easily, eliminating additional steps in the process.

To do this, you can give the following link to your users in order for them to purchase more tokens:


Replace <linkdomain> with your site's actual linkdomain, then replace <siteid> with the site's NATS site ID number. Finally, you must replace <username> with the user's NATS username.

Enabling Token Plus

Before you can enable Token Plus in NATS, you must first have a Token Site set up in the Sites Admin. If you do not already have one, please see our Token Sites wiki article for more information on setting one up.

Once you have Token Sites set up in NATS, you can enable Token Plus by editing settings in the Sites Admin. To begin, navigate to the Sites Admin, locate the Token Site you want to enable Token Plus on, and click the "Set Join Options" action icon for that site. This will bring you to the "Join Options for this Site" page, where you'll see every join option that you have set up. Edit an existing join option, or create a new join option on which you want to have Token Plus enabled.

Enabling Token Rebuys

You will see a setting marked "Token Rebuy Allowed" -- check this box to enable the repurchasing of tokens by existing members. Once you have set that, configure the rest of your join option settings, and save your changes.

Token Plus will now be enabled for your chosen join option. You can enable Token Plus for any join option you set up for a token site in NATS. To do so, edit the join option for any site and check the "Token Rebuy Allowed" box.

Editing Join Options With Token Plus

To disable Token Plus for your members, simply uncheck the "Token Rebuy Allowed" checkbox for your join options.

Setting Rules

The Rules feature lets you offer your Token Plus join options only to members referred from different tours, programs, affiliates, countries, and billers.

Setting Rules for Token Plus Join Options

You can also use rules to offer your Token Plus join option for a specific duration of time, letting you use it as a limited promotion. Please see our NATS4 Rules wiki article for more information on this feature.

Additional Security

Token Plus also contains additional security features, which allow you to further secure the transactions occurring on your join forms. For example, you can use API calls to get secure member authorization strings, verify surfer information on the join form, and change the input source to use POST instead of GET.


Use the MEMBER_STRING_AUTH_TOKENPLUS 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 token purchasing attempts by outside sources.

This feature will be set to off by default. If you want to enable this feature for your Token Plus transactions, you can add the following necessary code to the config.php script on your NATS server:


This will activate the MEMBER_STRING_AUTH_TOKENPLUS 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_token_rebuy_string API call to get the correct auth string for the member you want to enable Token Plus for. Please see our NATS4 API Get Member Token Rebuy String wiki article for more information on this process.

This function will return the auth string that is required for your members to get authenticated for the Token Plus process. Include the auth string in the link for your member, and they will be able to use the Token Plus feature with the MEMBER_STRING_AUTH_TOKENPLUS security setting enabled.


Join Form Verification

You can also add additional security checks when offering Token Plus options for your members registered to Token Sites.

The Token Plus feature verifies member e-mail addresses by default on the join form, but you can also add a switch to choose between verifying a member's e-mail address, password, or both e-mail address and password.

This feature will verify member e-mail addresses by default. If you want to enable this feature for your Token Plus transactions, you can add the necessary code in the config.php script on your NATS server:


Add this setting with a value of '1' if you want Token Plus to verify member passwords. Change this to a value of '2' if you want Token Plus to verify both member passwords and e-mail addresses. Do not add the provided code if you want to keep authenticating member e-mail addresses.

This lets you choose what member information you want NATS to verify on the join form itself, preventing anyone from submitting a Token Plus join form with an incorrect e-mail address, password, or both.

Using $_POST

Token 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 join form transactions, add the following code to your config.php script:

$config['TOKENPLUS_POST_ONLY'] = 1;

Add this setting with a value of '1' if you want Token Plus to only allow $_POST when authenticating your members. If you want to use $_REQUEST when authenticating members, you do not have to add the provided code.


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

NATS allows you to send subscription pass through data for each token rebuy transaction. You can use any of the available subscription pass through fields. For example, to sent the member_subscription->passthrough2 field, you need to add the following to your tokenplus.php link.

&member_extra[<optionid>][subscription_passthrough2]=<your value here>

You will also need to make sure that your tokenplus templates have the following code.

{if !empty($smarty.request.member_extra) && is_array($smarty.request.member_extra)}
	{foreach from=$smarty.request.member_extra 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}"/>
			<input type="hidden" name="member_extra[{$member_extra_key|escape:'htmlall'}]" value="{$member_extra_val}"/>

For the <optionid> value you can use the specific NATS Option ID value to have the pass through value apply only if the member purchases that specific option. Alternatively, you can use 0 for the <optionid> value to have the pass through value apply to any option that the member decides to purchase.

Additionally you can use the TOKENPLUS_INHERIT_SUBSCRIPTION_PASSTHROUGH_DATA config setting (config admin -> surfer page, one click systems section) to tell NATS how to apply subscription pass through data from the previous subscription.

Do Not Inherit (default) do not use the subscription pass through values from the previous subscription, only use the values from the member_extra array
Inherit use the subscription pass through values from the previous subscription, values from the member_extra array will override existing values
Inherit And Override use the subscription pass through values from the previous subscription, values from the member_extra array will be ignored