Difference between revisions of "NATS4 Upsell Plus"

From TMM Wiki
Jump to navigationJump to search
(revised wording & formatting of article, removed extra wiki links, updated auth string section to use Config Admin instead of manual editing, and changed example URLs from http to https)
Line 3: Line 3:
 
}}
 
}}
  
Upsell Plus is a feature in [[NATS4]] that allows you to offer your [[Ct#Member|members]] incentives to sign up for other [[Ct#Site|sites]] after they have joined one of your [[Ct#Site|sites]]. In order to complete the [[Ct#Upsell|Upsell]] Plus process, the [[Ct#Member|member]] will have to click on a link that you provide for them.
+
Upsell Plus is a feature in [[NATS4]] that allows you to offer your [[Ct#Member|members]] incentives to sign up for other [[Ct#Site|sites]] after they have joined one of your sites. In order to complete the [[Ct#Upsell|Upsell]] Plus process, the member will have to click on a link that you provide for them.
  
== Creating a Link ==
+
== Creating an Upsell Link ==
  
If you want to offer the Upsell Plus feature to your [[Ct#Member|members]], first create an [[Ct#Upsell|upsell]] in the [[Upsells Admin]], then provide your [[Ct#Member|member]] with a link to your Upsell Plus option. This supports one of two links:
+
If you want to offer the Upsell Plus feature to your members, first create an upsell in the [[Upsells Admin]], then provide your member with a link to your Upsell Plus option. This supports one of two link formats:
 
+
<br><br>
Preferred method:
+
Preferred format:
* <nowiki>http://<linkdomain>/signup/upsellplus.php?site=<siteid>&username=<username></nowiki>
+
* <kbd><nowiki>https://<linkdomain>/signup/upsellplus.php?site=<siteid>&username=<username></nowiki></kbd>
**''Siteid and Username is the preferred way of doing it.
+
**''Siteid and Username is the preferred method''
 +
Alternative format:
 +
* <kbd><nowiki>https://<linkdomain>/signup/upsellplus.php?memberid=<memberid>&natssess=<nats_session>&site=<siteid></nowiki></kbd>
 
<br>
 
<br>
You can specify multiple sites to check through (for example, use with network member sites)
+
For all links, replace <kbd><linkdomain></kbd> with the [[Ct#Linkdomain|linkdomain]] of the site that is offering this upsell and <kbd><siteid></kbd> with the site ID this member has already joined under. Replace <kbd><memberid></kbd>, <kbd><nats_session></kbd>, and <kbd><username></kbd> in the above examples with the member ID, session ID, and username of the member, respectively. Although both of the example formats will work with Upsell Plus, the first format is preferred.
* <nowiki>http://<linkdomain>/signup/upsellplus.php?siteids=<siteid>,<siteid2>,<siteid3>&username=<username></nowiki>
+
<br><br>
<br>
+
You can also specify multiple sites to check through (to use with network member sites, for example):
Other method:
+
* <kbd><nowiki>https://<linkdomain>/signup/upsellplus.php?siteids=<siteid>,<siteid2>,<siteid3>&username=<username></nowiki></kbd>
* <nowiki>http://<linkdomain>/signup/upsellplus.php?memberid=<memberid>&natssess=<nats_session>&site=<siteid></nowiki>
 
<br>
 
For all links, replace <linkdomain> with the [[Ct#Linkdomain|linkdomain]] for the site you are upselling to, and replace <siteid> with the siteid that the member has already joined under. Although both of the above link examples work with Upsell Plus, the first link is preferred. Replace <memberid> and <nats_session> in the above examples with the [[Ct#Member|member's]] member id, session id, and/or username, respectively.
 
  
 
== Optional Variables ==
 
== Optional Variables ==
  
This feature also supports the use of additional variables to get certain effects from your Upsell Plus sale.
+
Upsell Plus supports the use of additional variables to get certain effects from your Upsell Plus sales:
  
If you want [[Ct#Member|members]] to be automatically submitted for [[Ct#Upsell|upsells]], add the variables ''&upsellid=<upsellid>&email=<email>&submit=1'' to the end of your Upsell Plus URL. Replace <upsellid> with an Outgoing Upsell ID found in the [[Upsells Admin]], and <email> with the e-mail address for that member.
+
* If you want members to be automatically submitted for upsells, add <kbd>&upsellid=<upsellid>&email=<email>&submit=1</kbd> to the end of the Upsell Plus URL. Replace <kbd><email></kbd> with the e-mail address of the member and <kbd><upsellid></kbd> with the Outgoing Upsell ID of the upsell to purchase, found in the Upsells Admin.
 
+
* If you want any of the available upsell options on the [[Ct#Join Form|join form]] to be pre-checked, add <kbd>&upsellids=<upsellid_list></kbd> to the end of the Upsell Plus URL. Replace <kbd><upsellid_list></kbd> with a comma-separated list of ID numbers for the upsell options you want to be automatically checked.
If you want any of the available [[Ct#Upsell|upsell]] options on the [[Ct#Join Form|join form]] to be pre-checked, add ''&upsellids=<upsellid_list>'' to the end of your Upsell Plus URL. Replace <upsellid_list> with a comma-separated list of ID numbers for the [[Ct#Upsell|upsell]] options you want to be automatically checked.
+
* Some billers also support passing additional custom variables by adding <kbd>&member_extra[<upsellid>][<customvariable>]=<customvalue></kbd> to the Upsell Plus URL.  Billers that currently support this are:
 
+
** [[NATS4_Epoch#UpsellPlus|Epoch]]
Some billers also support passing additional custom variables by adding ''&member_extra[<upsellid>][<customvariable>]=<customvalue>''.  Billers that currently support this are:
+
** [[NATS4_SegPay#Cross Sells and Upsells|Segpay]]
* [[NATS4_Epoch#UpsellPlus | Epoch]]
+
* To use autocampaigns with internal upsells, add <kbd>&autocamp=campaign</kbd> to the Upsell Plus URL. '''NOTE:''' For this to work, you must set <kbd>$config['ALLOW_REQUEST_AUTOCAMP']=1</kbd> in your ''config.php'' file and add "autocamp" as a hidden variable in the gateway_upsell and thirdparty_upsell templates: <code><input type="hidden" name="autocamp" value="{$smarty.request.autocamp}"></code>
* [[NATS4_SegPay#Cross Sells and Upsells | Segpay]]
 
If you want to use autocampaigns for internal upsells, you can pass ''&autocamp=campaign'' in the upsellplus URL to add an autocampaign to the upsell. Note you must have the config $config['ALLOW_REQUEST_AUTOCAMP']=1 set, as well as having the hidden variable autocamp in the upsell template ''<input type="hidden" name="autocamp" value="{$smarty.request.autocamp}">''
 
  
 
== Site Templates ==
 
== Site Templates ==
  
Once you have set up your [[Ct#Upsell|upsell]] options, your Upsell Plus URL, and any optional variables you wish to add to the process, you will need to setup new [[Ct#Site|site]] [[Ct#Template|templates]] for your Upsell Plus feature.
+
Once you have set up your upsell options, your Upsell Plus URL, and any optional variables you wish to add to the process, you will need to modify new site [[Ct#Template|templates]] if you want to customize the design of the Upsell Plus pages visited by your members:
  
These templates are:
+
* '''gateway_upsell''' - Displayed to the member when they click an upsellplus link if their original subscription was purchased through a gateway biller
* gateway_upsell - Shown to the [[Ct#Member|member]] when they click the link given to them.
+
* '''thirdparty_upsell''' - Displayed to the member when they click an upsellplus link if their original subscription was purchased through a third-party biller
* page_upsell_approval - Shown to the [[Ct#Member|member]] when their [[Ct#Upsell|upsell]] is approved.
+
* '''page_upsell_approval''' - Displayed to the member if their upsell is approved
* page_upsell_denial - Shown to the [[Ct#Member|member]] when their [[Ct#Upsell|upsell]] is denied.
+
* '''page_upsell_denial''' - Displayed to the member if their upsell is denied
  
Add the text that you want to display on those [[Ct#Template|templates]], make sure that your [[Ct#Upsell|upsell]] [[Ct#Join Option|join options]] are correct, and save any changes you have made.
+
There is also a '''_mobile''' version for each of the above templates, which is displayed to the member if NATS detects they are using a mobile device.
  
 
== Additional Security ==
 
== Additional Security ==
  
As of [[NATS]] version 4.1, Upsell Plus offers additional security features that you can use to further secure your [[Ct#Member|member]] [[Ct#Upsell|upsells]]. The ''MEMBER_STRING_AUTH_UPSELLPLUS'' variable allows you to choose whether or not you wish to use the new [[Ct#Member|member]] auth strings, which contain a variety of information and are designed to prevent unwanted [[Ct#Upsell|upsell]] attempts by outside sources.
+
As of [[NATS]] version 4.1, Upsell Plus offers additional features that you can use to secure your member upsells. Member authentication strings allow you to require a verification string with member upsell submissions in order to prevent unwanted upsell attempts from outside sources, and traffic throttling allows you to prevent unwanted repeated access to your Upsell Plus pages.
 
 
This feature will be set to off by default. If you want to enable this feature for your Upsell Plus transactions, you can add the following necessary code to the ''config.php'' script on your [[NATS]] server:
 
 
 
<pre>
 
$config['MEMBER_STRING_AUTH_UPSELLPLUS'] = 1;
 
</pre>
 
  
This will activate the ''MEMBER_STRING_AUTH_UPSELLPLUS'' setting to use additional security for your [[Ct#Member|member]] authorization strings. Do not add the provided code if you want to leave this feature disabled.
+
=== Authentication Strings ===
  
Once you have activated this setting, use the ''get_member_upsell_string'' API call to get the correct auth string for the [[Ct#Member|member]] you want to process an [[Ct#Upsell|upsell]] for. Please see our '''[[NATS4 API Get Member Upsell String|API Get Member Upsell String]]''' wiki article for more information on this process.
+
This feature is disabled by default. If you want to enable this feature for your Upsell Plus transactions, enable the '''MEMBER_STRING_AUTH_UPSELLPLUS''' setting in the "Security" section of the [[NATS4 Configuration Admin|Configuration Admin]].
  
This function will return the auth string necessary for [[Ct#Member|members]] to get authenticated for the Upsell Plus process. Include the auth string in the link for your [[Ct#Member|member]], and they will be able to purchase memberships for other [[Ct#Site|sites]] using Upsell Plus with the ''MEMBER_STRING_AUTH_UPSELLPLUS'' security setting.
+
Once you have activated this setting, use the GET /member/authstring REST API endpoint to get the correct auth string for the member you want to process an upsell for. Please see our '''[[NATS4 REST API Get Member Auth String|REST API Get Member Auth String]]''' wiki article for more information on this process.
  
 +
This function will return the necessary auth string for the member to authenticate their Upsell Plus attempts. Include this auth string in the link for your member as shown in the example below:
 
<pre>
 
<pre>
http://<linkdomain>/signup/upsellplus.php?site=<siteid>&username=<username>&authstring=<authstring>
+
https://<linkdomain>/signup/upsellplus.php?site=<siteid>&username=<username>&authstring=<authstring>
 
</pre>
 
</pre>
  
 
=== Throttling ===
 
=== Throttling ===
  
Throttling is a security setting available in [[NATS]] 4.1, which allows you to lock out [[Ct#Surfer|surfers]] for a specified period of time if they make too many attempts on certain pages in [[NATS]].
+
Throttling is a security setting available in NATS 4.1 that allows you to temporarily lock out incoming traffic from a specific IP address if they submit too many requests to certain pages in NATS.
  
You can use the Throttling feature to help secure your ''upsellplus.php'' page, preventing [[Ct#Surfer|surfers]] from forcing transactions without the correct auth string. Just go to the "Security" configuration page to do so, which can be found in the [[NATS4 Configuration Admin|Configuration Admin]].
+
You can use the Throttling feature to help secure your ''upsellplus.php'' page, preventing surfers from forcing transactions without the correct auth string. Throttling settings are available in the "Security" section of the Configuration Admin.
  
For more information on this feature please see our '''[[Throttling]]''' wiki article.
+
Please visit our '''[[Throttling]]''' wiki article for general information about this feature.
  
 
[[Category:NATS4 Upsells]]
 
[[Category:NATS4 Upsells]]

Revision as of 21:00, 14 June 2019

NATS 4
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
Upsells Admin
The Upsells Admin
Configuring Cross Sells
Configuring Upsells
Cross Sell Supported Billers
Upsell Supported Billers
Process Gateway Cross Sales Outside NATS
Cross Sells: A to Z
Upsells: A to Z
Upsell Plus
Setting Rules

Upsell Plus is a feature in NATS4 that allows you to offer your members incentives to sign up for other sites after they have joined one of your sites. In order to complete the Upsell Plus process, the member will have to click on a link that you provide for them.

Creating an Upsell Link

If you want to offer the Upsell Plus feature to your members, first create an upsell in the Upsells Admin, then provide your member with a link to your Upsell Plus option. This supports one of two link formats:

Preferred format:

  • https://<linkdomain>/signup/upsellplus.php?site=<siteid>&username=<username>
    • Siteid and Username is the preferred method

Alternative format:

  • https://<linkdomain>/signup/upsellplus.php?memberid=<memberid>&natssess=<nats_session>&site=<siteid>


For all links, replace <linkdomain> with the linkdomain of the site that is offering this upsell and <siteid> with the site ID this member has already joined under. Replace <memberid>, <nats_session>, and <username> in the above examples with the member ID, session ID, and username of the member, respectively. Although both of the example formats will work with Upsell Plus, the first format is preferred.

You can also specify multiple sites to check through (to use with network member sites, for example):

  • https://<linkdomain>/signup/upsellplus.php?siteids=<siteid>,<siteid2>,<siteid3>&username=<username>

Optional Variables

Upsell Plus supports the use of additional variables to get certain effects from your Upsell Plus sales:

  • If you want members to be automatically submitted for upsells, add &upsellid=<upsellid>&email=<email>&submit=1 to the end of the Upsell Plus URL. Replace <email> with the e-mail address of the member and <upsellid> with the Outgoing Upsell ID of the upsell to purchase, found in the Upsells Admin.
  • If you want any of the available upsell options on the join form to be pre-checked, add &upsellids=<upsellid_list> to the end of the Upsell Plus URL. Replace <upsellid_list> with a comma-separated list of ID numbers for the upsell options you want to be automatically checked.
  • Some billers also support passing additional custom variables by adding &member_extra[<upsellid>][<customvariable>]=<customvalue> to the Upsell Plus URL. Billers that currently support this are:
  • To use autocampaigns with internal upsells, add &autocamp=campaign to the Upsell Plus URL. NOTE: For this to work, you must set $config['ALLOW_REQUEST_AUTOCAMP']=1 in your config.php file and add "autocamp" as a hidden variable in the gateway_upsell and thirdparty_upsell templates: <input type="hidden" name="autocamp" value="{$smarty.request.autocamp}">

Site Templates

Once you have set up your upsell options, your Upsell Plus URL, and any optional variables you wish to add to the process, you will need to modify new site templates if you want to customize the design of the Upsell Plus pages visited by your members:

  • gateway_upsell - Displayed to the member when they click an upsellplus link if their original subscription was purchased through a gateway biller
  • thirdparty_upsell - Displayed to the member when they click an upsellplus link if their original subscription was purchased through a third-party biller
  • page_upsell_approval - Displayed to the member if their upsell is approved
  • page_upsell_denial - Displayed to the member if their upsell is denied

There is also a _mobile version for each of the above templates, which is displayed to the member if NATS detects they are using a mobile device.

Additional Security

As of NATS version 4.1, Upsell Plus offers additional features that you can use to secure your member upsells. Member authentication strings allow you to require a verification string with member upsell submissions in order to prevent unwanted upsell attempts from outside sources, and traffic throttling allows you to prevent unwanted repeated access to your Upsell Plus pages.

Authentication Strings

This feature is disabled by default. If you want to enable this feature for your Upsell Plus transactions, enable the MEMBER_STRING_AUTH_UPSELLPLUS setting in the "Security" section of the Configuration Admin.

Once you have activated this setting, use the GET /member/authstring REST API endpoint to get the correct auth string for the member you want to process an upsell for. Please see our REST API Get Member Auth String wiki article for more information on this process.

This function will return the necessary auth string for the member to authenticate their Upsell Plus attempts. Include this auth string in the link for your member as shown in the example below:

https://<linkdomain>/signup/upsellplus.php?site=<siteid>&username=<username>&authstring=<authstring>

Throttling

Throttling is a security setting available in NATS 4.1 that allows you to temporarily lock out incoming traffic from a specific IP address if they submit too many requests to certain pages in NATS.

You can use the Throttling feature to help secure your upsellplus.php page, preventing surfers from forcing transactions without the correct auth string. Throttling settings are available in the "Security" section of the Configuration Admin.

Please visit our Throttling wiki article for general information about this feature.