Cancel Plus

From TMM Wiki
Jump to navigationJump to search

What is Cancel Plus?

Cancel Plus is a feature in NATS4 that allows you to cancel a member's subscription. For some billers, you can additionally add cancel offers (Payze only currently) where the surfer can choose to stay a member at a different cost instead of cancelling.

Which Billers support Cancel Plus?

Payze, RocketGate and RGNative

in development: NETbilling

Cancel Plus Steps

There are 4 possible steps in the cancel plus process that a surfer may see. First, you will need to provide your users with a cancel plus link:

http://<linkdomain>/signup/cancelplus.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.

Step 1

If a member is found with the parameters in the cancelplus link, a page will display asking user to verify information about their membership. The possible fields you can ask to verify are:

'Username' => 'username',
'Password' => 'password',
'E-Mail' => 'email',
'Subscription ID' => 'subscriptionid',
'Full Subscription ID (with biller short name)' => 'memberidx',
'Last 4 digits of the credit card' => 'last_four'

The default fields that will be used for verification are:

'Username' => 'username',
'Subscription ID' => 'subscriptionid',
'Last 4 digits of the credit card' => 'last_four'

You can override these fields using the configuration $config['CANCELPLUS_REQUIRED_FIELDS']. This is added/updated in the {nats}/includes/config.php file, where {nats} is the path to NATS on the server. You must choose at least 3 of the possible fields to override the defaults. If less than 3 are specified in the configuration, NATS will use the default fields. Here is an example of overriding the fields:

$config['CANCELPLUS_REQUIRED_FIELDS'] = Array(
    "0" => "username",
    "1" => "password",
    "2" => "memberidx",
);

By default, only 2 of the 3 fields are required to be submitted for verification. You can change the number using the configuration $config['CANCELPLUS_REQUIRED_FIELDS_COUNT'], but the minimum value is 2 required fields on submission. If you set this to a value higher than the number of available fields, then all fields will be required on the submit.

To customize the look and feel of the page for this step, you can edit the site templates: "member_cancel"/"member_cancel_mobile".

As of NATS version 5.0.3.1, for Payze subscriptions, you can further filter the results displayed on the next step by the subscription status. There are 2 form fields that can be used for this. If you would like to use this feature, you will need to add them to the form on the member_cancel and the member_cancel_mobile site templates.

  • member_cancel[biller_search_status]=<X> -> this will cause Payze to return only subscriptions matching the exact status value
  • member_cancel[biller_search_status_list]=<X,Y> -> this will cause Payze to return only subscriptions matching one of the provided status values

Payze subscription statuses

  • 1 -> Active
  • 2 -> Cancelled (please note that all one time join options including those for token purchases are Cancelled to begin with since they do not recur)
  • 3 -> Expired

Step 2

This step will only be used if more than one eligible subscription is found for the parameters passed in step 1. This page will show all matching subscriptions sorted by site allowing the user to choose which subscription they would like to cancel.

To customize the look and feel of the page for this step, you can edit the site templates: "member_cancel_verify"/"member_cancel_verify_mobile"

As of NATS version 5.0.3.1, to display Payze subscription status on this page, you can use the {$member.biller_data.status_description} smarty variable. You can also customize this output using the {$member.biller_data.status} smarty variable. Here is an example.

{if is_array($members)}
	{foreach from=$members item=member name=members}

		.....

		{if ($member.biller_data.status == 2)}You already cancelled, no need to do it again{else}{$member.biller_data.status_description}{/if}

		.....

	{/foreach}
{/if}

Step 3

This step will only display if the biller used supports cancel offers and there are cancel offers configured on the option for their subscription.

Only specific billers have the cancel offers feature integrated. Here is the list of supported billers:

  • Payze

Instructions for configuring cancel offers are detailed below.

To customize the look and feel of the page for this step, you can edit the site templates: "member_cancel_keep_offer"/"member_cancel_keep_offer_mobile"

Step 4

On this step, the surfer's cancel request will be sent to the biller, then show them whether or not the request was a success or failure. If the subscription is already cancelled at the biller, the request will fail.

To customize the look and feel of the page for this step, you can edit the site templates: "member_cancel_result"/"member_cancel_result_mobile"

Linking to specific steps

You can link a member to specific steps in the cancel plus process by adding the parameter "step" to the URL. For example: http://<linkdomain>/signup/cancelplus.php?site=<siteid>&username=<username>&step=2&member_cancel[username]=<username>&member_cancel['last_four']=<last_four>

Notice, since we are linking to step 2, we also pass along the required fields that would be submitted on Step 1. Submitted parameters would go in the "member_cancel" array as can be seen on the HTML of each step's template.

Setting up Cancel Offers (Step 3)

To set up cancel offers, you will need to go to the join options for your site and use the icon that says "View/Edit Cancel Offer" when hovering. A cancel offer defines a discount to give the member on rebills if they choose to continue their subscription rather than cancelling. When setting up the cancel offer, you will choose how many rebills the member must have before they are eligible for the cancel offer, a flat discount or a percentage discount, and whether or not it is a 1 time discount or an ongoing discount for all future rebills. You can also configure multiple levels of cancel offers after reaching different points. For example, a member can be eligible for a 5% discount offer after 3 rebills, and eligible for a 10% discount after 10 rebills. Depending on when they choose to cancel, they will see a different cancel offer. When setting up multiple levels, the type of discount (percentage vs flat) must be the same as the first cancel offer discount. When saving cancel offers, you can choose to apply it to other Join options. If you choose this, NATS will find other options with similar pricing structures and offer to copy the discount structure to those options as well.

Security and Throttling

We have the same authstring/throttling feature for cancel plus as we do for the other plus systems