Skip to main content

Virtuemart - DIBS module “No paytype(s)! Missing test parameter?”

As a follow up to my previous post about installing the DIBS module in Virtuemart, there is a poorly documented error you will run into when trying to use the payment module on a live site.

Basically, it will complain about a missing "paytype" which is actually not what is missing.  What is missing is the "test parameter" as the error will tell you.  After spending too much time trying to fix the "missing" paytype, I tried a different method and deduced that it really was missing a test parameter.

With the default setup, the DIBS payment processor will only send a "test" variable to DIBS when it is actually in testing mode.  Makes sense, right?

 if(DIBS_TESTMODE == "YES") {
  $oid = 'test-' . $db->f("order_id") . '-' . time();
  $post_variables["test"] = "YES";
  $post_variables["orderid"] = $oid;
 } else {
  $oid = $db->f("order_id") . '-' . time();
  $post_variables["orderid"] = $oid;
 }
 

Unfortunately, when it is not in testing mode, it does not send the "test" parameter to DIBS, as you can see in the above conditional statement.

It is an easy fix.  You just need to add a line which will send a "test" value of "NO" to the DIBS payment site when you are not testing the site as shown below:

 if(DIBS_TESTMODE == "YES") {
  $oid = 'test-' . $db->f("order_id") . '-' . time();
  $post_variables["test"] = "YES";
  $post_variables["orderid"] = $oid;
 } else {
  $oid = $db->f("order_id") . '-' . time();
  $post_variables["orderid"] = $oid;
  $post_variables["test"] = "NO";
 }

Comments

Popular posts from this blog

How To Run Chrome From Within Notepad++

If you have recently tried to Run  Chrome from within Notepad++ recently, you've probably encountered the same issue I did.  Chrome didn't run. The fix is actually really simple.  Open up the Run box in Notepad++ and browse to your installation of Chrome. ie.  C:\Program Files\Google\Chrome\Application\Chrome.exe Select the file when you find it.  Now, the trick is: Put quotation marks around the path you see in the Run  box.  Now, put 1 space after the closing quotation mark. Type this: $(FULL_CURRENT_PATH) It'll look something like this: Click Run .  If Chrome opens, click Save and set your hotkey.

Developer Note: Virtuemart - Editing the Add to Cart MooTool Popup

To edit the “Add To Cart” popup that appears when you add an item to a cart in Virtuemart, there are few files that you need to know about. These are the files to know \components\com_virtuemart\themes\default\theme.js \components\com_virtuemart\js\mootools\   - contains the files for editing the appearance of the popup. To edit the appearance of the box, edit \components\com_virtuemart\js\mootools\mooPrompt.css to change the styles as well as editing the 2 images in the directory to edit how they appear as well (close box and header-background)

Proper Viewport Scaling on iPad and iPhone

So, this is a little silly and I'm a little embarrassed to say that I've spent far too much of my time on this issue. I had a multi-page site that wasn't displaying correctly on my iPad.  One page would look great, but the next would have the top menu cut off on the right and everything would be slightly zoomed in. I realized that it was a scaling issue, but for all the experimenting I did with the meta viewport tag , I couldn't get it to work. Then I thought of something...some pages didn't have as much content as the others.  The longer pages were displaying great, it was the pages short on content that weren't.  So, I went ahead and set a min-height for each page of 1050px (I figured it had to be a little larger than the 1024px portrait height of an iOS device) and voila, it worked. All the pages showed correctly.  Now, I fully admit that this is most likely a hack that isn't considered the "proper way", but I am absolutely open to sugge...