Everything posted by Mark
-
IP.Nexus Dev Update: Referrals
IP.Nexus is designed to give administrators the tools to monetize their community. Not only is this about selling products and services (or accepting donations) but promoting your site as well. Many customers have asked us about a referral system. Until IP.Nexus, there would have been little incentive for members to use such a system. With IP.Nexus, not only can members refer their friends using banners you create, but they can receive commission on products and services that members they refer purchase through IP.Nexus. You can enable referrals and configure the commission percentage in the Admin CP. You can also set up the banners that members can use. If you don't set any up (or in addition to any that you do), a simple text link will be available. Banners can be uploaded images, or you can supply an image URL. In the Client Area, members can view all the banners you've set up and the HTML and BBCode to display them. If somebody then clicks a banner posted on a website by one of your members and registers on your community, IP.Nexus will create a link between the two members. If that member then proceeds to make any purchases, and you have defined a commission percentage, IP.Nexus will award commission to the referring member in the form of account credit (we will discuss account credit in a future blog entry). The customer page in IP.Nexus indicates who a members was referred by and any members they have referred. In addition, you can see how much commission a members has earned through referrals: View full blog entry
-
IP.Nexus Dev Update: Donations
Not only can IP.Nexus be used to sell specific items on your community. IP.Nexus can accept open donations targetted to any number of goals. Please note that the interface shown in the screenshots is not finalised and subject to change. A donation goal can be open-ended, that is, it has no target. For example, a personal community could accept donations towards the cost of maintaining the site. A donation can also have a specific target amount if you are asking donations towards a specific total. Donation goals can be managed in the Admin CP. When creating a goal you specify a name, description and if desired, a target. You can create as many goals as you like. Users can then donate towards goals in the User CP. As you can see, all goals are listed and a progress bar is shown for goals that have specified targets. To donate, a user simply enters in the amount they wish to donate and they are taken straight to the payment screen. After payment, the user is shown a thanks page where they will see the progress meter again:
-
IP.Nexus Dev Update: Donations
Not only can IP.Nexus be used to sell specific items on your community. IP.Nexus can accept open donations targetted to any number of goals. Please note that the interface shown in the screenshots is not finalised and subject to change. A donation goal can be open-ended, that is, it has no target. For example, a personal community could accept donations towards the cost of maintaining the site. A donation can also have a specific target amount if you are asking donations towards a specific total. Donation goals can be managed in the Admin CP. When creating a goal you specify a name, description and if desired, a target. You can create as many goals as you like. Users can then donate towards goals in the User CP. As you can see, all goals are listed and a progress bar is shown for goals that have specified targets. To donate, a user simply enters in the amount they wish to donate and they are taken straight to the payment screen. After payment, the user is shown a thanks page where they will see the progress meter again: View full blog entry
-
IP.Nexus Dev Update: Client Area
There are many areas of IP.Nexus which the user needs to be able to manage: past orders, active purchase, support requests, etc. We decided, rather than trying to shoe-horn these features into the User CP, which was not really designed for such functions, to create a new "Client Area", specific to IP.Nexus. This is what it looks like: In this blog entry we'll be talking about the "Purchases" and "Invoices" sections of this Client Area. Purchases The "Purchases" section (shown above) will list all active purchases on your account. Clicking the "View Info" button takes you to an overview page for the purchase: Here you can update any custom package fields if the field allows you to do so (fields can be set to not be editable after purchase if you desire). If the item has renewal terms and you are within the time you are allowed to renew the package, you can click "Renew Now" to renew. Doing this will take you straight to the payment screen, and once paid, the expiry date will be updated. If the package is part of a group which allows upgrading and downgrading, you can click the "Change Package" button to do so: Depending on your settings, upgrading may be free or they may be charged the difference, and if downgrading, they may be refunded the difference - exactly what will happen, along with the new renewal terms is shown for each selection. If the user must pay the difference to upgrade, they will be taken to the payment screen and once payment clears, the package will be changed. If the user is to be refunded the difference when downgrading, it will be applied as credit on their account (we will discuss account credit in a future update). Invoices This is what the Invoices screen looks like: As you can see, invoices are separated into tabs: Pending invoices are orders which the user has started but not finished or cancelled, or have been generated by the system (for example, when a package is due for renewal) or have been generated by an administrator. Paid invoices are past orders which the user finished successfully. Expired invoices are previously pending invoices which have now expired. The user can still pay expired invoices, but the service they relate to (for example if it is a renewal invoice) would have deactivated. Cancelled invoices have been cancelled by the user or an administrator. You can click on an invoice to view details: If the user can pay an invoice, they will see the "Pay Now" button which will take them to the checkout page (which we discussed previously in this blog entry). If the user has credit on their account, they will also see an "Apply Credit" button which will allow them to use their account credit against the invoice total. This concludes the Invoices and Purchases area of the Client Area. We will be discussing other areas of the client area in future blog entries.
-
IP.Nexus Dev Update: Client Area
There are many areas of IP.Nexus which the user needs to be able to manage: past orders, active purchase, support requests, etc. We decided, rather than trying to shoe-horn these features into the User CP, which was not really designed for such functions, to create a new "Client Area", specific to IP.Nexus. This is what it looks like: In this blog entry we'll be talking about the "Purchases" and "Invoices" sections of this Client Area. Purchases The "Purchases" section (shown above) will list all active purchases on your account. Clicking the "View Info" button takes you to an overview page for the purchase: Here you can update any custom package fields if the field allows you to do so (fields can be set to not be editable after purchase if you desire). If the item has renewal terms and you are within the time you are allowed to renew the package, you can click "Renew Now" to renew. Doing this will take you straight to the payment screen, and once paid, the expiry date will be updated. If the package is part of a group which allows upgrading and downgrading, you can click the "Change Package" button to do so: Depending on your settings, upgrading may be free or they may be charged the difference, and if downgrading, they may be refunded the difference - exactly what will happen, along with the new renewal terms is shown for each selection. If the user must pay the difference to upgrade, they will be taken to the payment screen and once payment clears, the package will be changed. If the user is to be refunded the difference when downgrading, it will be applied as credit on their account (we will discuss account credit in a future update). Invoices This is what the Invoices screen looks like: As you can see, invoices are separated into tabs: Pending invoices are orders which the user has started but not finished or cancelled, or have been generated by the system (for example, when a package is due for renewal) or have been generated by an administrator. Paid invoices are past orders which the user finished successfully. Expired invoices are previously pending invoices which have now expired. The user can still pay expired invoices, but the service they relate to (for example if it is a renewal invoice) would have deactivated. Cancelled invoices have been cancelled by the user or an administrator. You can click on an invoice to view details: If the user can pay an invoice, they will see the "Pay Now" button which will take them to the checkout page (which we discussed previously in this blog entry). If the user has credit on their account, they will also see an "Apply Credit" button which will allow them to use their account credit against the invoice total. This concludes the Invoices and Purchases area of the Client Area. We will be discussing other areas of the client area in future blog entries. View full blog entry
-
IP.Nexus Dev Update: Managing and Generating Invoices
In a previous blog entry we covered the ordering process for both the end user and administrator, but of course administrators can generate invoices manually. In this blog entry we're going to be demonstrating the how administrators can manage and generate invoices for users. Please note that the interface shown in the screenshots is not finalised subject to change. Managing Invoices There are two ways you can view invoices, and we imagine most administrators will either use one or the other depending on the size of community. Firstly, you can view all invoices in a list with the most recent invoices first. We imagine this will be useful to smaller communities. You can also view the invoices for a particular customer from the customer page. We imagine this will be more practical for larger communities. The customer page can be accessed either from a link in the normal "Edit member" Admin CP page or the Customer search page in the IP.Nexus section of the Admin CP. We'll be discussing all of the features of the customer page in a future blog entry. This is what the invoice details screen looks like: As you can see, it lists each item in the invoice and any transactions related to the invoice. It also shows information on the status, and if the invoice has been paid it will indicate the date that it was paid, and any additional information that may be necessary: Generating an Invoice You can of course generate an invoice manually for a customer. You do this from the customer page by clicking the "Add Invoice" button that is there. You will see a screen like this: You can add an item by clicking the "Add Item" button. This will bring up a dropdown menu with the different types of item you can add: You can add a normal package by selecting the package from the packages you have created: You can create a custom package: You can add a miscellaneous charge (for example, a shipping cost or discount): And if you have IP.Downloads integration enabled, you can add a paid IP.Downloads file: (Note that if you have lots of files you will see a search box to enter a filename rather than a dropdown of all paid files). You can also add a renewal for any of the user's existing purchases by clicking the "Add Renewal" button: After adding each item, you'll be taken back to the first screen: From here you can edit the quantity of any item (the price will be updated automatically by AJAX and taking into account any bulk discounts you have set up) or remove an item. Once you're done, clicking the "Save" button at the top will generate the invoice. If you selected the invoice to be pending, the user will receive an Email notifying them an invoice has been generated, and if you selected the invoice to be paid, the packages will be added to the user's account straight away.
-
IP.Nexus Dev Update: Managing and Generating Invoices
In a previous blog entry we covered the ordering process for both the end user and administrator, but of course administrators can generate invoices manually. In this blog entry we're going to be demonstrating the how administrators can manage and generate invoices for users. Please note that the interface shown in the screenshots is not finalised subject to change. Managing Invoices There are two ways you can view invoices, and we imagine most administrators will either use one or the other depending on the size of community. Firstly, you can view all invoices in a list with the most recent invoices first. We imagine this will be useful to smaller communities. You can also view the invoices for a particular customer from the customer page. We imagine this will be more practical for larger communities. The customer page can be accessed either from a link in the normal "Edit member" Admin CP page or the Customer search page in the IP.Nexus section of the Admin CP. We'll be discussing all of the features of the customer page in a future blog entry. This is what the invoice details screen looks like: As you can see, it lists each item in the invoice and any transactions related to the invoice. It also shows information on the status, and if the invoice has been paid it will indicate the date that it was paid, and any additional information that may be necessary: Generating an Invoice You can of course generate an invoice manually for a customer. You do this from the customer page by clicking the "Add Invoice" button that is there. You will see a screen like this: You can add an item by clicking the "Add Item" button. This will bring up a dropdown menu with the different types of item you can add: You can add a normal package by selecting the package from the packages you have created: You can create a custom package: You can add a miscellaneous charge (for example, a shipping cost or discount): And if you have IP.Downloads integration enabled, you can add a paid IP.Downloads file: (Note that if you have lots of files you will see a search box to enter a filename rather than a dropdown of all paid files). You can also add a renewal for any of the user's existing purchases by clicking the "Add Renewal" button: After adding each item, you'll be taken back to the first screen: From here you can edit the quantity of any item (the price will be updated automatically by AJAX and taking into account any bulk discounts you have set up) or remove an item. Once you're done, clicking the "Save" button at the top will generate the invoice. If you selected the invoice to be pending, the user will receive an Email notifying them an invoice has been generated, and if you selected the invoice to be paid, the packages will be added to the user's account straight away. View full blog entry
-
IP.Nexus Dev Update: Processing Orders
In our last IP.Nexus Dev Update, we demonstrated the storefront and checkout process for the end user. In this blog entry, we're going to show you some of the Admin features for processing orders. Please note that the interface shown in the screenshots is not finalised and subject to change. There are two stages to processing an order: Approving the transaction IP.Nexus can automatically process transactions that the payment gateway reports as successful. Some users may wish to set all transactions to be manually approved for extra security, and in some cases, transactions may also need to be manually approved if the payment gateway reports a problem. Shipping the items If a user has purchased physical items which needs to be shipped, a shipping order will be generated to let you know what items need to be shipped and who to ship them to. If a user makes an order with multiple items using different shipping methods, multiple shipping orders may be generated. Some orders of course may require both of these steps and some will require neither, depending on your configuration and what the user purchases. On the Admin CP Dashboard you will see a notification if there are any pending transactions or shipping orders: This uses the IP.Board Admin CP Dashboard Notification Center which was added in 3.1. Approving Transactions You can view all transactions that are awaiting your approval on a page in the Admin CP: From here you can approve a transaction by "View" link or mark it as paid or failed by clicking the appropriate icon. The transaction details screen looks like this: You can see details about the transaction, the invoice it corresponds to and the reason it is pending approval. After a transaction has been marked complete, the details pane will show a message indicating who did so: Once a transaction has been approved, the invoice it is associated with will be marked paid and any purchases the user has paid for will be activated. If the order includes any physical items, a shipping order will be generated at this time. Shipping Orders You can view all shipping orders that are awaiting your approval on a page in the Admin CP: You can view a shipping order by clicking on the link. The details screen looks like this: As you can see, the shipping address and items to be shipped are listed. Once you have shipped the items, you can click the button in the top right to mark the order as shipped. This will send a notification to the user that the items have been shipped and archive the shipping order.
-
IP.Nexus Dev Update: Processing Orders
In our last IP.Nexus Dev Update, we demonstrated the storefront and checkout process for the end user. In this blog entry, we're going to show you some of the Admin features for processing orders. Please note that the interface shown in the screenshots is not finalised and subject to change. There are two stages to processing an order: Approving the transaction IP.Nexus can automatically process transactions that the payment gateway reports as successful. Some users may wish to set all transactions to be manually approved for extra security, and in some cases, transactions may also need to be manually approved if the payment gateway reports a problem. Shipping the items If a user has purchased physical items which needs to be shipped, a shipping order will be generated to let you know what items need to be shipped and who to ship them to. If a user makes an order with multiple items using different shipping methods, multiple shipping orders may be generated. Some orders of course may require both of these steps and some will require neither, depending on your configuration and what the user purchases. On the Admin CP Dashboard you will see a notification if there are any pending transactions or shipping orders: This uses the IP.Board Admin CP Dashboard Notification Center which was added in 3.1. Approving Transactions You can view all transactions that are awaiting your approval on a page in the Admin CP: From here you can approve a transaction by "View" link or mark it as paid or failed by clicking the appropriate icon. The transaction details screen looks like this: You can see details about the transaction, the invoice it corresponds to and the reason it is pending approval. After a transaction has been marked complete, the details pane will show a message indicating who did so: Once a transaction has been approved, the invoice it is associated with will be marked paid and any purchases the user has paid for will be activated. If the order includes any physical items, a shipping order will be generated at this time. Shipping Orders You can view all shipping orders that are awaiting your approval on a page in the Admin CP: You can view a shipping order by clicking on the link. The details screen looks like this: As you can see, the shipping address and items to be shipped are listed. Once you have shipped the items, you can click the button in the top right to mark the order as shipped. This will send a notification to the user that the items have been shipped and archive the shipping order. View full blog entry
-
IP.Nexus Dev Update: Storefront
In our previous blog entry, we covered how to create packages in IP.Nexus. This blog entry will cover the storefront and ordering process for the products that you sell. The Store The front page of the store looks like this: The front page allows users to view products items (you can configure which products are featured in the Admin CP) or the most popular (i.e. most sold) products. Users can navigate the store using the category menu on the left. When you navigate into a category, it opens a tree with subcategories. The bar on the left shows the products currently in your shopping cart, including any tax and discount costs. As discussed in a previous blog entry, you can configure products to have custom fields or associations with other products. When adding these products, you will see a screen like this: Viewing Your Cart After adding an item, or by clicking the "Edit Cart" link the sidebar, you'll see a page like this: As you can see, you can edit quantities for products which do not require custom fields by entering a new number in the box (or remove all of that product by clicking the remove link). For products which have custom fields, each item is listed individually, so you can remove the one you want. Checkout Process The checkout process is only available to registered members. If a guest clicks "Checkout" on the store, IP.Nexus will remember their cart and direct them to the registration screen. After registration is complete, when the user logs in, IP.Nexus will redirect them to the checkout page. All steps of the checkout process have a cancel button that the user can use to cancel the purchase. Clicking checkout from the cart screen, the user will be asked to enter their shipping address: Of course, if the items the user is purchasing are not physical, or the user has already provided this information in a previous order, this step will be skipped. Next, the user will be asked to select their shipping method: The available shipping methods and shipping costs are calculated automatically based on what the user is purchasing. If the user purchases several items which have different available shipping options, more than one dropdown may be available. In this case, IP.Nexus will automatically work out the minimum number of shipping orders to create based on the selections. Again, if the items the user is purchasing are not physical, this step will be skipped. The next page will show the user the total cost with shipping included and allow them to enter any coupon codes they have or apply account credit. After selecting a payment method, the appropriate fields will automatically be shown: After submitting, the user will either be taken back to the payment page if payment failed, or be shown a success page. If you have configured IP.Nexus to hold all payments until you manually approve them, the success page will indicate this: And of course if the user chooses to pay by a manual method (such as a check) they will be shown information how to pay:
-
IP.Nexus Dev Update: Storefront
In our previous blog entry, we covered how to create packages in IP.Nexus. This blog entry will cover the storefront and ordering process for the products that you sell. The Store The front page of the store looks like this: The front page allows users to view products items (you can configure which products are featured in the Admin CP) or the most popular (i.e. most sold) products. Users can navigate the store using the category menu on the left. When you navigate into a category, it opens a tree with subcategories. The bar on the left shows the products currently in your shopping cart, including any tax and discount costs. As discussed in a previous blog entry, you can configure products to have custom fields or associations with other products. When adding these products, you will see a screen like this: Viewing Your Cart After adding an item, or by clicking the "Edit Cart" link the sidebar, you'll see a page like this: As you can see, you can edit quantities for products which do not require custom fields by entering a new number in the box (or remove all of that product by clicking the remove link). For products which have custom fields, each item is listed individually, so you can remove the one you want. Checkout Process The checkout process is only available to registered members. If a guest clicks "Checkout" on the store, IP.Nexus will remember their cart and direct them to the registration screen. After registration is complete, when the user logs in, IP.Nexus will redirect them to the checkout page. All steps of the checkout process have a cancel button that the user can use to cancel the purchase. Clicking checkout from the cart screen, the user will be asked to enter their shipping address: Of course, if the items the user is purchasing are not physical, or the user has already provided this information in a previous order, this step will be skipped. Next, the user will be asked to select their shipping method: The available shipping methods and shipping costs are calculated automatically based on what the user is purchasing. If the user purchases several items which have different available shipping options, more than one dropdown may be available. In this case, IP.Nexus will automatically work out the minimum number of shipping orders to create based on the selections. Again, if the items the user is purchasing are not physical, this step will be skipped. The next page will show the user the total cost with shipping included and allow them to enter any coupon codes they have or apply account credit. After selecting a payment method, the appropriate fields will automatically be shown: After submitting, the user will either be taken back to the payment page if payment failed, or be shown a success page. If you have configured IP.Nexus to hold all payments until you manually approve them, the success page will indicate this: And of course if the user chooses to pay by a manual method (such as a check) they will be shown information how to pay: View full blog entry
-
IP.Nexus Dev Update: Packages
IP.Nexus allows to you to create packages with a variety of options and even create custom packages for your users. In this blog entry we wanted to go through some of the options available to you. Please note that the interface shown in the screenshots is not finalised subject to change. Package Groups IP.Nexus allows you to split your packages into package groups. You can have as many groups as you like, and groups can be children of other groups going as deep as you like. This is the main "Manage Package" screen in the Admin CP: You can click on a group to view the packages within that group: And click on a package to edit it: Physical Items You can set an item as physical or not. If an item is physical you can also specify the shipping methods available. Shipping options can be flat rate or based on the weight of items being shipped. When a user orders a physical item, a shipping order will be created which the Administrator can marked as filled. Shipping orders will be discussed in a future blog entry. If a user makes an order with multiple items, IP.Nexus will work out which items have the same shipping methods available and group them into as few shipping orders as possible. Associated Items You can specify that one package can (or must) be associated with another package. For example, if you are selling software and also have an addon product, you could specify that the addon must be associated with the main product. If a user purchases both the main product and the addon product at the same time, IP.Nexus will automatically work out that they are to be associated, and if the association is required, the user won't get an error message telling them they need to purchase the main product first. When a purchase is associated with another purchase, this will be indicated both on the customer page, and in any support requests the user creates. Discounts IP.Nexus includes two discount options for packages. We call these "bundle discounts" and "loyalty discounts". "Bundle discounts" allow you to specify a discount if the item is purchased with a different item. For example, here at IPS, if you purchase an IP.Blog license with an IP.Board license, you get a 5% discount on the total order - that would be possible within IP.Nexus. You can specify whether the discount can only be used alone or if it can be combined with other bundle discounts. If it can only be used alone, IP.Nexus will automatically calculate the best discount applicable according to what is in the user's cart. "Loyalty discounts" allow you to specify a discount if the user already owns a certain number of a certain item. For example, you could make it so that if the user already owns 2 of an item, they get the third cheaper - or if the user has purchased a special item (for example some kind of premium membership) they get a discount on all products. You can build up tiers so that if the user owns x items, they get y price, but if the user owns even more of the item, they get an even cheaper price - IP.Nexus will automatically work out the best discount. If you have a loyalty discount set up so, if for example, the user gets a cheaper price if they already own 2 items, and the user tries to purchase 3 of that item at the same time - IP.Nexus will still take the loyalty discount into account, and provide the discounted price for the third item. Upgrading Member Groups You can specify that a user be moved into a different user group (primary or secondary) or have an additional permission mask assigned to them when they purchase an item. You can also specify a renewal term for your license (the renewal price does not have to be the same as the base price) and have the user automatically demoted if they do not renew their item. Upgrades & Downgrades If in a product group you have different levels of a package, you can allow members to upgrade or downgrade between packages, which they can do themselves through their User CP. You can specify whether to allow upgrades or downgrades (you can allow both, neither or either of the two) but also, you can specify whether or not the user needs to pay the difference between the prices when upgrading. If this is set, when the user attempts to upgrade, they will need to pay the difference, and then be automatically upgraded. If this is not set, the user will be upgraded with no intervention. On the other side, you can also set it to issue users with a refund of the difference when they downgrade their product, this is given in the form of account credits. Custom Page You can provide custom content that the user will see when they select their purchased item in the User CP. This could be used to display download instructions, hidden content or anything else you like. In addition, you can also choose to display a "Submit Support Request" form on this page, and specify the support department it should be routed to. We'll discuss support requests in more detail in a future blog entry. Custom Package Fields You can specify "custom fields" that the user can (or must) fill out when purchasing an item. An example of how this might be used is if you're selling clothing and you need the user to select their size; or you're selling software and you want to force the user to provide the URL they will be installing the software on. Textbox and dropdown field types are supported, there are also two special field types: "username/password" and "ftp information" which allow you to ask for what we expect will be frequently requested information but without using 2 or 3 custom fields. If several of your items are going to have the same custom profile field (for example, if you're selling several different T-Shirts and they all need a custom profile field for "Size" - you only need to create it once and assign it to all fields. Removing Packages When you remove a package, you may also want to cancel the service for any members who have purchased that item, or even switch them to a different package. IP.Nexus allows you to remove a package from all members in the way you choose. Managing Purchases Once a user has purchased an item, you can edit the purchase to change the renewal terms for that member - this allows you to for example, create custom variations of a package for different users. You can also of course manually edit the custom fields, cancel a purchase (this will revert them to their original usergroup if applicable) and even transfer a purchased item to another member. Custom Packages Not only can you customise purchased items but you can create a custom package for an individual user through the Admin CP, specifying a package name, cost and renewal terms.
-
IP.Nexus Dev Update: Packages
IP.Nexus allows to you to create packages with a variety of options and even create custom packages for your users. In this blog entry we wanted to go through some of the options available to you. Please note that the interface shown in the screenshots is not finalised subject to change. Package Groups IP.Nexus allows you to split your packages into package groups. You can have as many groups as you like, and groups can be children of other groups going as deep as you like. This is the main "Manage Package" screen in the Admin CP: You can click on a group to view the packages within that group: And click on a package to edit it: Physical Items You can set an item as physical or not. If an item is physical you can also specify the shipping methods available. Shipping options can be flat rate or based on the weight of items being shipped. When a user orders a physical item, a shipping order will be created which the Administrator can marked as filled. Shipping orders will be discussed in a future blog entry. If a user makes an order with multiple items, IP.Nexus will work out which items have the same shipping methods available and group them into as few shipping orders as possible. Associated Items You can specify that one package can (or must) be associated with another package. For example, if you are selling software and also have an addon product, you could specify that the addon must be associated with the main product. If a user purchases both the main product and the addon product at the same time, IP.Nexus will automatically work out that they are to be associated, and if the association is required, the user won't get an error message telling them they need to purchase the main product first. When a purchase is associated with another purchase, this will be indicated both on the customer page, and in any support requests the user creates. Discounts IP.Nexus includes two discount options for packages. We call these "bundle discounts" and "loyalty discounts". "Bundle discounts" allow you to specify a discount if the item is purchased with a different item. For example, here at IPS, if you purchase an IP.Blog license with an IP.Board license, you get a 5% discount on the total order - that would be possible within IP.Nexus. You can specify whether the discount can only be used alone or if it can be combined with other bundle discounts. If it can only be used alone, IP.Nexus will automatically calculate the best discount applicable according to what is in the user's cart. "Loyalty discounts" allow you to specify a discount if the user already owns a certain number of a certain item. For example, you could make it so that if the user already owns 2 of an item, they get the third cheaper - or if the user has purchased a special item (for example some kind of premium membership) they get a discount on all products. You can build up tiers so that if the user owns x items, they get y price, but if the user owns even more of the item, they get an even cheaper price - IP.Nexus will automatically work out the best discount. If you have a loyalty discount set up so, if for example, the user gets a cheaper price if they already own 2 items, and the user tries to purchase 3 of that item at the same time - IP.Nexus will still take the loyalty discount into account, and provide the discounted price for the third item. Upgrading Member Groups You can specify that a user be moved into a different user group (primary or secondary) or have an additional permission mask assigned to them when they purchase an item. You can also specify a renewal term for your license (the renewal price does not have to be the same as the base price) and have the user automatically demoted if they do not renew their item. Upgrades & Downgrades If in a product group you have different levels of a package, you can allow members to upgrade or downgrade between packages, which they can do themselves through their User CP. You can specify whether to allow upgrades or downgrades (you can allow both, neither or either of the two) but also, you can specify whether or not the user needs to pay the difference between the prices when upgrading. If this is set, when the user attempts to upgrade, they will need to pay the difference, and then be automatically upgraded. If this is not set, the user will be upgraded with no intervention. On the other side, you can also set it to issue users with a refund of the difference when they downgrade their product, this is given in the form of account credits. Custom Page You can provide custom content that the user will see when they select their purchased item in the User CP. This could be used to display download instructions, hidden content or anything else you like. In addition, you can also choose to display a "Submit Support Request" form on this page, and specify the support department it should be routed to. We'll discuss support requests in more detail in a future blog entry. Custom Package Fields You can specify "custom fields" that the user can (or must) fill out when purchasing an item. An example of how this might be used is if you're selling clothing and you need the user to select their size; or you're selling software and you want to force the user to provide the URL they will be installing the software on. Textbox and dropdown field types are supported, there are also two special field types: "username/password" and "ftp information" which allow you to ask for what we expect will be frequently requested information but without using 2 or 3 custom fields. If several of your items are going to have the same custom profile field (for example, if you're selling several different T-Shirts and they all need a custom profile field for "Size" - you only need to create it once and assign it to all fields. Removing Packages When you remove a package, you may also want to cancel the service for any members who have purchased that item, or even switch them to a different package. IP.Nexus allows you to remove a package from all members in the way you choose. Managing Purchases Once a user has purchased an item, you can edit the purchase to change the renewal terms for that member - this allows you to for example, create custom variations of a package for different users. You can also of course manually edit the custom fields, cancel a purchase (this will revert them to their original usergroup if applicable) and even transfer a purchased item to another member. Custom Packages Not only can you customise purchased items but you can create a custom package for an individual user through the Admin CP, specifying a package name, cost and renewal terms. View full blog entry
-
IP.Nexus Dev Update: Integration with IP.Downloads
I had previously blogged about the API in IP.Nexus allowing other applications to process payments using IP.Nexus. We have implemented this in IP.Downloads to bring paid file support. You can specify which groups can add paid files, and which groups (for example the admin group) can download paid files without paying. You can also specify how much commission to take from sales and what to give to the user who submitted the file when it is purchased. A member who has permission will be able to specify how much to charge for a file when submitting it. When viewing a paid file, instead of the "Download File" button, users will see a purchase button. When clicking this button, the user will be taken to the payment screen and payment will be taken. If payment is successful, the user will be taken straight back to the download page where they will now see the normal "Download File" button. The commission to be given to the member who submitted the file will be applied in the form of account credit, which, if allowed, he can request be paid out. This will be discussed in a future blog entry. As you can see, the IP.Nexus & IP.Downloads integration is very simple to set up and use but allows IP.Downloads to be used by those selling digital files without the need for a complete billing system.
-
IP.Nexus Dev Update: Integration with IP.Downloads
I had previously blogged about the API in IP.Nexus allowing other applications to process payments using IP.Nexus. We have implemented this in IP.Downloads to bring paid file support. You can specify which groups can add paid files, and which groups (for example the admin group) can download paid files without paying. You can also specify how much commission to take from sales and what to give to the user who submitted the file when it is purchased. A member who has permission will be able to specify how much to charge for a file when submitting it. When viewing a paid file, instead of the "Download File" button, users will see a purchase button. When clicking this button, the user will be taken to the payment screen and payment will be taken. If payment is successful, the user will be taken straight back to the download page where they will now see the normal "Download File" button. The commission to be given to the member who submitted the file will be applied in the form of account credit, which, if allowed, he can request be paid out. This will be discussed in a future blog entry. As you can see, the IP.Nexus & IP.Downloads integration is very simple to set up and use but allows IP.Downloads to be used by those selling digital files without the need for a complete billing system. View full blog entry
-
IP.Nexus Dev Update: Extensibility
One of the first things I wanted to talk about with IP.Nexus is how easy it is for third-party developers to integrate with IP.Nexus. You could for example, have an area of your application that you only want available to users who pay a fee. IP.Nexus makes this possible. There is a special class in IP.Nexus called commerceApi that allows you to generate an invoice, and check if an item has been purchased. In addition, you can make use of special extension files to automatically run when an item from your application is purchased, expires or is renewed - and your items can appear in the Admin CP "Generate Invoice" page. For example, we have written integration for IP.Nexus with IP.Downloads using this functionality, which we will demonstrate in a future blog entry. For developers, to generate an invoice, you simply call the commerceApi::generateInvoice() method. This is the code we use within the donation module of IP.Nexus: try { $title = "Donation: {$goal['d_name']}"; $invoiceID = commerceApi::generateInvoice( $title, $this->memberData['member_id'], array( array( 'act' => 'charge', 'app' => 'commerce', 'type' => 'donation', 'cost' => $amount, 'itemName' => $title, 'itemID' => $goal['d_id'] ) ) ); } catch( Exception $e ) { $this->registry->output->showError( "An error occurred while trying to generate your invoice. Please try again or contact an administrator. ({$e->getMessage()})", 12345 ); } $this->registry->getClass('output')->silentRedirect( $this->settings['base_url'] . 'app=commerce&module=payments&section=pay&id=' . $invoiceID ); As you can see, the code passes some information about the item(s) being purchased. At this point, commerceApi generates an invoice, and then the user is sent to the payment screen. Once payment has been processed, the user will be sent right back to the file. Using this functionality you can: Specify a base cost for your itemSpecify renewal termsProvide a URL to the item which will be linked to on the invoice screenSpecify a member who should get commission for the purchase and how much commission to give them (for example, if the item was added by another member)Specify a URL to return the user to once payment has been received Later in your code, to check if a user has purchased an item (for example, when they try to access a restricted area) you just call commerceApi::itemIsPurchased() to check if they have paid for the item. if ( commerceApi::itemIsPurchased( $this->memberData['member_id'], 'myapp', 'item_type', $data['id'] ) != 'ACTIVE' ) { // Item not purchased... } commerceApi::itemIsPurchased() will return a value indicating whether the item was purchased, and if the renewals are active. As you can see, the API is very simple to use and means mod authors do not have to worry about implementing payment systems in their own applications. We're really excited to see how mod authors will use this functionality and as always, if you have any questions, please post them in our feedback forum. Our next blog entry will demonstrate how we used this functionality to implement paid files within IP.Downloads.
-
IP.Nexus Dev Update: Extensibility
One of the first things I wanted to talk about with IP.Nexus is how easy it is for third-party developers to integrate with IP.Nexus. You could for example, have an area of your application that you only want available to users who pay a fee. IP.Nexus makes this possible. There is a special class in IP.Nexus called commerceApi that allows you to generate an invoice, and check if an item has been purchased. In addition, you can make use of special extension files to automatically run when an item from your application is purchased, expires or is renewed - and your items can appear in the Admin CP "Generate Invoice" page. For example, we have written integration for IP.Nexus with IP.Downloads using this functionality, which we will demonstrate in a future blog entry. For developers, to generate an invoice, you simply call the commerceApi::generateInvoice() method. This is the code we use within the donation module of IP.Nexus: try { $title = "Donation: {$goal['d_name']}"; $invoiceID = commerceApi::generateInvoice( $title, $this->memberData['member_id'], array( array( 'act' => 'charge', 'app' => 'commerce', 'type' => 'donation', 'cost' => $amount, 'itemName' => $title, 'itemID' => $goal['d_id'] ) ) ); } catch( Exception $e ) { $this->registry->output->showError( "An error occurred while trying to generate your invoice. Please try again or contact an administrator. ({$e->getMessage()})", 12345 ); } $this->registry->getClass('output')->silentRedirect( $this->settings['base_url'] . 'app=commerce&module=payments&section=pay&id=' . $invoiceID ); As you can see, the code passes some information about the item(s) being purchased. At this point, commerceApi generates an invoice, and then the user is sent to the payment screen. Once payment has been processed, the user will be sent right back to the file. Using this functionality you can: Specify a base cost for your itemSpecify renewal termsProvide a URL to the item which will be linked to on the invoice screenSpecify a member who should get commission for the purchase and how much commission to give them (for example, if the item was added by another member)Specify a URL to return the user to once payment has been received Later in your code, to check if a user has purchased an item (for example, when they try to access a restricted area) you just call commerceApi::itemIsPurchased() to check if they have paid for the item. if ( commerceApi::itemIsPurchased( $this->memberData['member_id'], 'myapp', 'item_type', $data['id'] ) != 'ACTIVE' ) { // Item not purchased... } commerceApi::itemIsPurchased() will return a value indicating whether the item was purchased, and if the renewals are active. As you can see, the API is very simple to use and means mod authors do not have to worry about implementing payment systems in their own applications. We're really excited to see how mod authors will use this functionality and as always, if you have any questions, please post them in our feedback forum. Our next blog entry will demonstrate how we used this functionality to implement paid files within IP.Downloads. View full blog entry
-
Support Vacancy
Invision Power Services is seeking a knowledgeable and industrious individual to join its support team as a part time support technician. Successful applicants will be responsible for answering general support tickets, including providing customers with information, troubleshooting problems and performing maintenance. You would be expected where appropriate to interact with other technicians and developers to resolve issues. Requirements: Must be familiar with IPS applications. Must have a basic knowledge of PHP and SQL. Must be able to work remotely. Must speak fluent English and possess strong verbal and written communication skills. Preferable, but not required:Knowledge of server administration and experience working for a web hosting company. Knowledge of additional web technologies such as JavaScript, CSS, XML, etc. Experience of working in customer support. Working hours are flexible and salary will be based on knowledge and experience. Thank you to all who applied. Applications are now closed.
-
IP.Board 3.1.0 Dev Update: View Reputation
In IP.Board 3.0 we introduced a simple reputation feature, allowing users to give positive or negative reputation to a post. While administrators can view who gave reputation through the Admin CP, in IP.Board 3.1 we have introduced a way for all users to view who gave reputation on any given post. To view who gave reputation, you just click on the reputation number at the bottom of the post which will now display a popup balloon indicating who has given reputation. There is a per-group setting to control who can use this feature. If a user does not have permission to use it, the number will not be clickable and appear unchanged from how it currently is. The data is loaded through an AJAX call when the link is clicked, so there is no additional queries to the topic view for this feature.
-
IP.Board 3.1.0 Dev Update: View Reputation
In IP.Board 3.0 we introduced a simple reputation feature, allowing users to give positive or negative reputation to a post. While administrators can view who gave reputation through the Admin CP, in IP.Board 3.1 we have introduced a way for all users to view who gave reputation on any given post. To view who gave reputation, you just click on the reputation number at the bottom of the post which will now display a popup balloon indicating who has given reputation. There is a per-group setting to control who can use this feature. If a user does not have permission to use it, the number will not be clickable and appear unchanged from how it currently is. The data is loaded through an AJAX call when the link is clicked, so there is no additional queries to the topic view for this feature. View full blog entry
-
IP.Converge 1.1
IP.Converge is designed to be an open platform allowing any website or application to make use of its features. However, due to some limitations and the complexity of writing the modules, it's only been used by IP.Board until now. In IP.Converge 1.1 we have added the features developers need to make almost any application IP.Converge-ready. Username support One of the most frequently requested features for IP.Converge from both developers and end-users is username support. Some applications don't support e-mail address-authentication which IP.Converge natively uses and many end-users would simply prefer to log in with their username. In IP.Converge 1.1 developers can now set IP.Converge to send usernames to their applications instead of e-mail addresses. We have also added a transparent layer into IP Board 3 so that even if you are using IP.Converge, you can log into IP Board using your username. Users will also be able to change their username on one application and have it update across all your IP.Converge applications, just like e-mail addresses and passwords. Sending non-md5 password A lot of applications don