Netbilling
Please don't test your biller setup with Netbilling's test account—it won't work correctly.
Note: these instructions describe using Netbilling as a gateway. If you want to use Netbilling as a regular biller, please see the Netbilling Native article.
Set up on Netbilling's Website
Register an account on Netbilling's website.
Please note: Netbilling uses the term Access Keyword to describe two different settings. To distinguish the two different settings, I've placed my own terms in brackets after the Netbilling terms.
Reporting keyword: If you're on NATS 3.0.30 or newer, you need to add a reporting keyword for each site in Netbilling. You can do this by going to Setup, then Website Configuration. Under the section "Scriptable Affiliate Reporting", there is a box for "Access Keywords" [Reporting Keyword]. You need to enter a keyword here to be added later in the NATS admin. You needs to do this for each of your sites.
Go to Security, Access Security, enable Direct Mode, and enter your IP address. Check the box for Enable Native Direct Mode v.2 Channel. You also need to enter your server's IP address on the same page next to Trusted static IP addresses. NATS won't work with Netbilling if you don't do this.
In order to ensure that rebills, credits, and other refunds are correctly retrieved by your NATS install, you should make sure you have the NetBilling " Enable Scriptable Reporting Interface" option selected.
Set up Netbilling in NATS
You must have PHP's mcrypt installed. Please see the PHP documentation.
There are several versions of the Netbilling protocol. Please follow the instructions that apply to your setup.
Netbilling Version 2
In the Billers Admin, select Netbilling from The Biller drop-down menu. Enter your 12 digit Netbilling account number. This number is displayed on the top of the first page when you log in to Netbilling. When adding it to the Billers Admin please suffix a colon to the number; for example: 123456789012:
Enter your Netbilling username and password.
In Sites Admin, under Biller Details, enter your Site Tag and Access Keyword [Reporting Keyword]. You can find both of these by logging into Netbilling, going to Setup, Site Tools, and Site Tags -- the site tag is on the main browse sites screen; the access keyword [Reporting Keyword] is under the Scriptable Reporting Interface link.
Netbilling Version 3
In Billers Admin, select Netbilling from the Biller drop-down menu. Enter your Account number. You optionally enter your dynamic IP code.
In Sites Admin, under Biller Details, enter your Netbilling Site Tag and Access Keyword [Reporting Keyword]. You may also enter an Access Keyword [Control Keyword] for cross-sells and instant upgrades (see below).
Netbilling Cross-Sells
Currently NATS only supports NetBilling Gateway cross sells between NATS clients.
Outgoing Cross Sells
Account, Site Tag, Pass Code, Initial Days, Initial Dollars, Recurring Days, Recurring Dollars, Ref Code and Integrity Key are provided by the person you are sending cross sells to. The domain is the base domain of their NATS install. So if their NATS is at http://www.democash.com then http://www.democash.com is the domain you need to enter. Only set domain if the cross sell goes to another affiliate program. Domain should not be set if the cross sell is for another site in your program.
Once this is entered and you have activated the cross sell for a join open you need to modify the accompanying sites gateway_join template. What will need to be added to this template is the following;
{gateway_xsell}{if $have_xsells}{foreach from=$xsells item="xsell"}<input type="checkbox" name="signup[xsell][]" value="{$xsell.data}" checked>{$xsell.description}{/foreach}{/if}
This will display a checkbox accompanied by the description entered on the CrossSells Admin. If you enter a disclaimer on the CrossSells Admin then you can also access that via {$xsell.disclaimer}.
You will also have to contact your partners and have them change the ip for you in their XSELL_NETBILLING_SECURE_IPS configuration variable. This can be found in either their config.php or their config_override.php
Incoming Cross Sells
Account is your Netbilling Account ID that you want this cross sell to use. Site Tag is the site that this cross sell is for. This is the ID given to the site by Netbilling. Pass Code is generated by you and is used during the posting of the cross sell to ensure integrity. Initial Days, Initial Dollars, Recurring Days and Recurring Dollars are the initial and recurring period and amounts for this option. Integrity Key is your Netbilling Account's Integrity Key which ensures the integrity of data being sent to NetBilling when the charge is done. Domain is not required on incoming cross sell entries. Setup your discount upgrade price in Netbilling's system and added it to the Discount Upgrade Price field.
For affiliates to send you cross sells (or you to send cross sells to yourself), you'll need to add the IPs to XSELL_NETBILLING_SECURE_IPS configuration variable.
Upgrade Subscription
To set up an Upgrade subscription you need to use the following link in your limited members area for user upgrades:
- http://<linkdomain>/signup/upgradeplus.php?site=<siteid>&username=<username>
Where <linkdomain> is the linkdomain for the site, <siteid> is the siteid for the site in NATS, and <username> is the username for the user that is trying to upgrade (To get the Username via PHP you would use <?=$_SERVER['REMOTE_USER']?>)
You will also need to add this line to your configuration file to turn on the trials with netbilling; $config['NETBILLING_UPGRADES'] = 1;
Extra Biller Options
Netbilling has the following Extra Biller Fields available:
- processor
Using Netbilling as a HTTPS Gateway
Please see the the HTTPS Gateways article.
Auto Cascading to Netbilling
When you autocascade, your member does not get a chance to specify their username on the normal prejoin form. As a result, you must present this input on the gateway_join template.
{if !$available_data.username} <TR><TD class="join_name">Username:</TD><TD class="join_value"><input class="join_input" type="text" name="signup[username:1:6:16:::username_check]" value="{$vars.username}"><span class="join_error">{if $errors.username}<br>{$errors.username}</span>{/if}</TD></TR> {/if} {if !$available_data.password} <TR><TD class="join_name">Password:</tD><TD class="join_value"><input class="join_input" type="text" name="signup[password:1:6:16:::password_check]" value="{$vars.password}"><span class="join_error">{if $errors.password}<br>{$errors.password}</span>{/if}</TD></TR> {/if}
See Also
- Post-Biller Templates -- editing the Return URL pages
- Netbilling v3 Upgrade Instructions -- upgrading Netbilling from version two to version three
- Purchasing Tokens Through Netbilling -- NATS lets surfers purchase tokens through NetBilling. The surfer only needs to enter their payment information once to purchase an unlimited number of tokens.