support@protx.com
 

VSP Form Shopping Cart Integration: Cactus Shop




After opening the Cactushop settings/configuration panel (below) please view the list of definitions which explain each part of the Cactushop configuration setup. You will require your Protx 'VSP Vendor Name' and 'Encryption password' to correctly set the cart up. For any additional questions on this cart, please view the contact details below;

Cactushop website: http://www.cactushop.com/support/

Cactushop ticketing system (login requirement): http://www.cactushop.com/support/



To setup Protx VSP Form for CactuShop v6


Once you have your Protx account details, setting up Protx VSP Form support on CactuShop v6 should take less than 5 minutes and requires no editing of scripts.

The first step is to ensure that CactuShop is installed and running on your web space. For this please review the CactuShop PDF manual documentation available from

http://www.cactushop.com

Once this is setup, login to the back end of CactuShop, click the 'config settings' link in the 'configuration' section, and then the 'Protx' link in the 'payment and shipping gateways' section.

This should bring up the Protx config settings for editing:





PROTX_AuthorizedOnly: CactuShop supports multiple payment systems running side-by-side and this setting lets you limit use of a payment system to customers who you have specifically set as 'authorized' (trusted). Generally for a credit card gateway you would leave this unchecked so anyone can pay by this method.

PROTX_Password: The Protx password as supplied to you by Protx. Be sure that this is entered EXACTLY as Protx supplied it to you. Trailing spaces or the wrong case (capital letters instead of lower case) will cause problems.

PROTX_ProcessCurrency: If your CactuShop is running multiple currencies, you need to decide how to process them. If your Protx setup and merchant account supports all the currencies your store offers (let's say Pounds, Euros and Dollars) you may decide to leave this setting blank, in which case CactuShop will process whatever currency the customer is using. If you wish to convert all orders to a certain currency prior to processing (because your merchant account only supports one currency or you don't wish to handle incoming orders in multiple currencies), set this value to the three-letter ISO code of the currency you wish to use. For example: 'GBP'. Note that when converting all orders to a single currency, a notice with the converted value in that currency will be displayed to the customer during the checkout process where they approve the final order amount. The conversion rate used is that which has been setup in the 'currencies' section of CactuShop's back end.

PROTX_Status: This menu sets the status of the Protx gateway on your CactuShop. 'Off' disables Protx and means that it will not be offered to customers in the payment methods drop down menu when they check out. 'On' means that Protx is enabled and will be shown to customers (although the PROTX_AuthorizedOnly setting can override this). There are also a couple of other status settings which are useful while setting up and testing your CactuShop Protx integration. 'Test' means that the Protx option will only display at checkout if you are logged in to the back end of the web site (in which case the admin bar will be visible at the top of front end pages). This way, you can test the Protx gateway and make test transactions without having the option available as a choice to normal customers. While in 'test' mode, the system will also pass a test mode flag to Protx. Finally, the 'fake' status bypasses the Protx system altogether and fakes the callback to CactuShop by passing the order values to CactuShop that Protx would pass. This is useful for testing the callback script on CactuShop and ensuring that it does not generate errors.

PROTX_TxType: This is the transaction type sent to Protx. The default value is 'PAYMENT'. Other types supported include 'PREAUTH', 'DEFERRED', 'REPEAT','RELEASE', 'REFUND'. See Protx documentation for more details.

PROTX_URL: When making an order on CactuShop which is to be paid for on Protx, this is the page that the order details are posted to. Protx uses a different URL for test orders and live orders.

For testing: https://ukvpstest.protx.com/vps2form/submit.asp

For live orders: https://ukvps.protx.com/vps2form/submit.asp


PROTX_VendorEmail: the email address of the store owner where order notifications from Protx are to be sent. CactuShop will send its order notifications to the orders email configured in the 'language & email settings' of the back end.

PROTX_VendorID: The vendor ID supplied to the store owner by Protx. Once these config settings have been set, the system should be ready to test, and following that, go live. No further setup is required on the Protx end.



Common Problems with CactuShop and Protx



Callback URL

The vast majority of problems we encounter with Protx integration are to do with callbacks. The callback is a method by which the Protx server can communicate with the CactuShop installation and let it know when a particular order has been successfully paid for. In the case of Protx, this is done by forwarding the customer to the callback page of CactuShop, which is located on the root of CactuShop:

http://www.mydomain.test/folder/callback.asp?g=protx

A parameter is passed to tell CactuShop that this callback is coming from Protx, so it knows which named parameters to expect. Other values are also passed, which allows CactuShop to find the order in question, tag it as 'paid' and send the order notification to the store owner and confirmation to the customer.

CactuShop passes the URL of this callback page to Protx when it directs the customer there. The URL is based on the 'webshopURL' config setting; if this is wrong, the callback will fail with a 404 (page not found). Common mistakes with the 'webshopURL' include forgetting the forward slash "/" at the end, forgetting to put the folder name in the path (if CactuShop is running in a folder on the domain rather than at the root of the domain) or putting the eventual 'live' domain in when the site is only running on a test URL. If you get a 404 error on the callback, check the URL bar of the browser carefully and the problem should be clear. Correct the 'webshopURL' config setting in CactuShop and try again.


Callback Email

Another common problem with callbacks is some kind of error that terminates the page so it does not send the appropriate email notifications or tag the order as 'paid' in the back end (so the order can only be viewed under 'unfinished').

Users frequently report a '500 internal error - page cannot be displayed' error. If this happens, you need to disable friendly HTTP errors in Internet Explorer (i.e. uncheck that box), or use an alternative browser like Firefox or Opera. This won't fix the error, but will give a clearer message as to why the page failed.




In most cases, the problem is related to email. The exact nature of the error will vary depending on which of the supported email methods is used, but it is most commonly a 'create object' failure, or sometimes 'all servers failed to receive the message' (in Jmail).

You can verify the problem easily by trying to sign up an address to the mailing list box on CactuShop. The same error will normally appear as CactuShop tries to send the opt-in verification mail.

You need to ensure your hosting supports the email method you are trying to use, and that this is configured properly. We commonly see people confuse 'ASPmail' and 'ASPemail', so check carefully if you're using one of these. Using a test script for that method supplied by your host is recommended, as this will clarify that the problem is not with CactuShop or Protx, but with the email settings on your hosting.



Back to top