Difference between revisions of "Extended Sales"

From TMM Wiki
Jump to navigationJump to search
 
(24 intermediate revisions by 7 users not shown)
Line 5: Line 5:
 
'''Please note: the following article describes an add-on feature to [[NATS4]].  If you want this feature, please [http://clients.toomuchmedia.com request it] and we'll install it on your system.'''
 
'''Please note: the following article describes an add-on feature to [[NATS4]].  If you want this feature, please [http://clients.toomuchmedia.com request it] and we'll install it on your system.'''
  
The Extended Sales module lets you pay affiliates for events outside the NATS system. It enables, for example, pay per lead programs. You track outside events with your reporting software and direct that software to send NATS information about the outsides events. NATS processes the incoming information and uses it to pay the referring affiliate.  
+
The Extended Sales module is an add-on to [[NATS4]] that lets you track events that occur outside the NATS system. For example, you can enable free join tracking using the Extended Sales module.
 +
 
 +
'''NOTE:''' As of version 4.0.74.1, [[NATS]] supports free joins/no cost registration through the normal signup form. If you would like to set this feature up, please see our [[No Cost Registration]] wiki article.
  
 
== Setup ==
 
== Setup ==
Before you can set up extended sales, [[Too Much Media]] must install the Extended Sales Module on your system.  
+
Before you can set up extended sales, [[Too Much Media]] must install the Extended Sales Module on your system. To do so, please [http://clients.toomuchmedia.com submit a support ticket].
  
 
=== Configuration File ===
 
=== Configuration File ===
You must add the IP address of any computer that runs your reporting software to the NATS configuration file, ''includes/config.php''. Make each address an element in the <tt>$config['EXTENDED_ALLOWED_IPS']</tt> array; for example:
+
To begin, you must first add the IP address of any computer that runs your reporting software to the [[NATS]] configuration file: ''includes/config.php''. In the configuration file, make each address an element in the <tt>$config['EXTENDED_ALLOWED_IPS']</tt> array. For example:
  
 
<pre>
 
<pre>
Line 21: Line 23:
 
</pre>
 
</pre>
  
Incorrectly formatting this line will break your NATS. Each entry should be a single IP address -- ranges, masks, and globs are not supported. Place a comma between each entry. NATS won't accept extended sales data from computers with IP addresses that aren't in this configuration array.
+
Formatting this line incorrectly will cause your NATS to break-- thus you should ensure that each entry is a single IP address: ranges, masks, and globs are not supported by this module. Also, make sure that you have placed a comma between each entry. [[NATS]] will not accept extended sales data from computers with IP addresses that are not defined in this configuration array.
  
 
=== Billers Admin ===
 
=== Billers Admin ===
Go to [[Billers Admin]], click the Billers drop-down, select "Extended Sales" and click Add. Give the biller a [[ct#Shortname|shortname]].  You may add multiple Extended Sales billers.
+
To begin configuring your Extended Sales module, go to the [[NATS4 Billers Admin|Billers Admin]] in your NATS install. Go to the "Setup New Biller" drop-down menu, select "Extended Sales," and click Add. Give the biller a [[Ct#Shortname|shortname]] to distinguish them, as [[NATS]] allows you to add multiple Extended Sales billers.
  
 
=== Sites Admin ===
 
=== Sites Admin ===
Go to [[Sites Admin]], create or edit a tour, go to the Add Extended Site Details section, and enter the extended sales biller's shortname you created above. You may optionally associate extended sales to this site with a specific join option; on the Edit Tour page, add or edit a join option, go to the Extended Option Codes section, and enter the extended sales biller's shortname.
+
Go to the [[NATS4 Sites Admin|Sites Admin]] and create a new tour, or edit an already existing one. On the Edit Tour page, scroll down to the "Add Extended Site Details" section and enter the extended sales biller's shortname that you created above.
 +
 
 +
You can also optionally associate extended sales to this particular site by using a specific join option. To do so, go to the Edit Tour page and add or edit a join option. On the Join Options page, scroll down to the Extended Option Codes section and enter the extended sales biller's shortname that you previously specified.
 +
 
 +
=== Programs Admin ===
 +
If you want to set up payouts to affiliates, go to the [[NATS4 Programs Admin|Programs Admin]] and create a new program.  On the Edit Program page, select the "Extended Sales Program" for the program type.
  
 
== Sending Extended Sales Postbacks ==
 
== Sending Extended Sales Postbacks ==
Your reporting software should send information about extended sales to the following URL:
+
If properly configured, your reporting software should send information about any extended sales to the following URL:
  
 
* <nowiki>http://domain/signup/process_extended.php</nowiki>
 
* <nowiki>http://domain/signup/process_extended.php</nowiki>
  
Replace ''domain'' with your site's [[ct#Domain|domain]].
+
Simply replace ''domain'' with your site's [[ct#Domain|domain]].
  
Your reporting software needs to send the following information to the above URL in a HTTP GET or POST.
+
Your reporting software needs to send the following information to the above URL in a HTTP GET or POST:
  
 
=== All Actions ===
 
=== All Actions ===
 
Arguments that are always required:
 
Arguments that are always required:
* extend_id: the extended sales biller shortname
+
* extended_id: the extended sales biller's shortname
* site_id: the [[ID Numbers|site I.D.]]
+
* action:
* action: SALE, CREDIT, or CHARGEBACK  (capitals required)
+
** "SALE" or <blank> to register a new sale
 +
** "CREDIT", "CHARGEBACK" or "VOID" registers a refund for that transaction ID number (transid)
  
 
=== SALE ===
 
=== SALE ===
To pay affiliates for a new extended sale, set the <tt>action</tt> parameter (described above) to SALE. Sales have the following extra parameters.
+
To pay your affiliates for a new extended sale, set the ''action'' parameter (described above) to "SALE". Sales will have the following extra parameters:
  
 
Required argument for SALE:
 
Required argument for SALE:
* nats: The affiliate's [[natscode]]
+
* nats: The affiliate's [[Getting_The_NATSCode|natscode]]
 +
OR
 +
* site_id: the code you placed in the site setup for this extended biller
  
 
Optional arguments for SALE:
 
Optional arguments for SALE:
* username (NATS randomly generates it if you don't send it)
+
* username (NATS will randomly generate this if you don't send it)
* password (NATS randomly generates if if you don't send it)
+
* password (NATS will randomly generate this if you don't send it)
* option_id: a join option I.D. (you can only use this if you setup a join option in the Sites Admin instructions above)
+
* option_id: the code you setup for the specific join option in the Sites Admin
 
* transid: your reporting software's arbitrary transaction identifier
 
* transid: your reporting software's arbitrary transaction identifier
* extended_type: the id of the extended type setup in the config file by Too Much Media techs
+
* extended_type: the id of the extended type set up in the config file by Too Much Media techs
* amount: the amount of the extended sale (used in revenue share programs)
+
* amount: the amount of the extended sale in cents (minor currency units)
* currency (set to the NATS base currency if you don't send it)
+
** $5.00 should be sent in as 500
* email: the consumer's email address
+
* currency - 3 letter ISO code
 +
** if not sent, NATS will assume base currency
 
* ip: the consumer's IP address
 
* ip: the consumer's IP address
 +
* email
 +
* firstname
 +
* lastname
 +
* address1
 +
* address2
 +
* zip
 +
* city
 +
* state
 +
* country - an ISO two letter code
 +
* shipping_firstname
 +
* shipping_lastname
 +
* shipping_address1
 +
* shipping_address2
 +
* shipping_zip
 +
* shipping_city
 +
* shipping_state
 +
* shipping_country - an ISO two letter code
 +
* custom1
 +
* custom2
 +
* custom3
 +
* custom4
 +
* custom5
 +
* custom6
 +
* custom7
 +
* custom8
 +
* custom9
 +
* custom10
 +
* refurl
 +
* nats_at[passthrough1]
 +
* nats_at[passthrough2]
 +
* nats_at[passthrough3]
 +
* nats_at[passthrough4]
 +
* nats_at[passthrough5]
 +
 +
=== Additional Configuration ===
 +
PROCESS_EXTENDED_PASSTHROUGH_ORDER - Determines which set of passthroughs will be prioritized when processing extended sales
  
=== CREDIT or CHARGEBACK ===
+
1. From Postback
To penalize affiliates for extended sales that failed, set the <tt>action</tt> parameter (described above) to CREDIT or CHARGEBACK. Credits and [[ct#Chargeback|chargebacks]] have the following extra parameters:
 
  
Required argument for CREDIT or CHARGEBACK:
+
2. From existing member data
 +
 
 +
=== CREDIT, CHARGEBACK or VOID ===
 +
Required argument:
 
* transid: must match the original SALE's transid
 
* transid: must match the original SALE's transid
  
Optional arguments for CREDIT or CHARGEBACK:
+
Optional arguments:
* amount
+
* amount: the amount of the extended sale in cents (minor currency units)
* currency (set to the NATS base currency if you don't send it)
+
** $5.00 should be sent in as 500
 +
* currency - 3 letter ISO code
 +
** if not sent, NATS will assume base currency
  
 
=== Examples ===
 
=== Examples ===
 
A sale that includes a username, password, and transaction identifier sent using HTTP GET:
 
A sale that includes a username, password, and transaction identifier sent using HTTP GET:
  
* <nowiki>http://example.com/signup/process_extended.php?extend_id=my_shortname&site_id=123&action=SALE&nats=xxxx&username&transid=my_identifier</nowiki>
+
* <pre>http://example.com/signup/process_extended.php?extended_id=my_shortname&site_id=123&action=SALE&nats=xxxx&username=xxxxx&transid=my_identifier</pre>
  
 
A credit reversing the above transaction:
 
A credit reversing the above transaction:
  
* <nowiki>http://example.com/signup/process_extended.php?extend_id=my_shortname&site_id=123&action=CREDIT&transid=my_identifier</nowiki>
+
* <pre>http://example.com/signup/process_extended.php?extended_id=my_shortname&site_id=123&action=CREDIT&transid=my_identifier</pre>
 +
 
 +
[[Category:NATS4 Extras]]

Latest revision as of 17:10, 19 May 2020

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
NATS Extras
TMMid
Gallery Builder Module
CAPTCHA
Remote Affiliate Authentication
Build Your Own Anything Module
Shopping Cart Sales
Moving Tours, Members' Area, and Galleries
Admin Areas
Extended Sales
NATS Code Wordpress Plugin
Error_message_display
ATVOD Verification Process

Please note: the following article describes an add-on feature to NATS4. If you want this feature, please request it and we'll install it on your system.

The Extended Sales module is an add-on to NATS4 that lets you track events that occur outside the NATS system. For example, you can enable free join tracking using the Extended Sales module.

NOTE: As of version 4.0.74.1, NATS supports free joins/no cost registration through the normal signup form. If you would like to set this feature up, please see our No Cost Registration wiki article.

Setup

Before you can set up extended sales, Too Much Media must install the Extended Sales Module on your system. To do so, please submit a support ticket.

Configuration File

To begin, you must first add the IP address of any computer that runs your reporting software to the NATS configuration file: includes/config.php. In the configuration file, make each address an element in the $config['EXTENDED_ALLOWED_IPS'] array. For example:

$config['EXTENDED_ALLOWED_IPS'] = Array(
'0' => '111.111.111.111',
'1' => '222.222.222.222',
'3' => '333.333.333.333'
);

Formatting this line incorrectly will cause your NATS to break-- thus you should ensure that each entry is a single IP address: ranges, masks, and globs are not supported by this module. Also, make sure that you have placed a comma between each entry. NATS will not accept extended sales data from computers with IP addresses that are not defined in this configuration array.

Billers Admin

To begin configuring your Extended Sales module, go to the Billers Admin in your NATS install. Go to the "Setup New Biller" drop-down menu, select "Extended Sales," and click Add. Give the biller a shortname to distinguish them, as NATS allows you to add multiple Extended Sales billers.

Sites Admin

Go to the Sites Admin and create a new tour, or edit an already existing one. On the Edit Tour page, scroll down to the "Add Extended Site Details" section and enter the extended sales biller's shortname that you created above.

You can also optionally associate extended sales to this particular site by using a specific join option. To do so, go to the Edit Tour page and add or edit a join option. On the Join Options page, scroll down to the Extended Option Codes section and enter the extended sales biller's shortname that you previously specified.

Programs Admin

If you want to set up payouts to affiliates, go to the Programs Admin and create a new program. On the Edit Program page, select the "Extended Sales Program" for the program type.

Sending Extended Sales Postbacks

If properly configured, your reporting software should send information about any extended sales to the following URL:

  • http://domain/signup/process_extended.php

Simply replace domain with your site's domain.

Your reporting software needs to send the following information to the above URL in a HTTP GET or POST:

All Actions

Arguments that are always required:

  • extended_id: the extended sales biller's shortname
  • action:
    • "SALE" or <blank> to register a new sale
    • "CREDIT", "CHARGEBACK" or "VOID" registers a refund for that transaction ID number (transid)

SALE

To pay your affiliates for a new extended sale, set the action parameter (described above) to "SALE". Sales will have the following extra parameters:

Required argument for SALE:

OR

  • site_id: the code you placed in the site setup for this extended biller

Optional arguments for SALE:

  • username (NATS will randomly generate this if you don't send it)
  • password (NATS will randomly generate this if you don't send it)
  • option_id: the code you setup for the specific join option in the Sites Admin
  • transid: your reporting software's arbitrary transaction identifier
  • extended_type: the id of the extended type set up in the config file by Too Much Media techs
  • amount: the amount of the extended sale in cents (minor currency units)
    • $5.00 should be sent in as 500
  • currency - 3 letter ISO code
    • if not sent, NATS will assume base currency
  • ip: the consumer's IP address
  • email
  • firstname
  • lastname
  • address1
  • address2
  • zip
  • city
  • state
  • country - an ISO two letter code
  • shipping_firstname
  • shipping_lastname
  • shipping_address1
  • shipping_address2
  • shipping_zip
  • shipping_city
  • shipping_state
  • shipping_country - an ISO two letter code
  • custom1
  • custom2
  • custom3
  • custom4
  • custom5
  • custom6
  • custom7
  • custom8
  • custom9
  • custom10
  • refurl
  • nats_at[passthrough1]
  • nats_at[passthrough2]
  • nats_at[passthrough3]
  • nats_at[passthrough4]
  • nats_at[passthrough5]

Additional Configuration

PROCESS_EXTENDED_PASSTHROUGH_ORDER - Determines which set of passthroughs will be prioritized when processing extended sales

1. From Postback

2. From existing member data

CREDIT, CHARGEBACK or VOID

Required argument:

  • transid: must match the original SALE's transid

Optional arguments:

  • amount: the amount of the extended sale in cents (minor currency units)
    • $5.00 should be sent in as 500
  • currency - 3 letter ISO code
    • if not sent, NATS will assume base currency

Examples

A sale that includes a username, password, and transaction identifier sent using HTTP GET:

  • http://example.com/signup/process_extended.php?extended_id=my_shortname&site_id=123&action=SALE&nats=xxxx&username=xxxxx&transid=my_identifier

A credit reversing the above transaction:

  • http://example.com/signup/process_extended.php?extended_id=my_shortname&site_id=123&action=CREDIT&transid=my_identifier