VirtualMerchant gateway

Contrib type: 
Module
Status: 
Bug testing
Moderation: 
Not ready for moderation
Latest version: 
v 1.4

Downloads

Compatibility: 
Ubercart 1.x

Based off the viaklix module originally developed by ESA Technologies, http://www.esatech.com. VirtualMerchant gateway is used by NOVA Systems / Costco Merchant Services.

Update: a few bug fixes on 12/15/2007.

Jan 3, 2008 Update: a few more bug fixes.

July 21 2008 update: Added in the recommended fixes from the comments below. thanks for the feedback.
Jan 2009 update: Update and beta-testing with Drupal versions 1.6 and 1.7.
Feb 2009 updates

PreviewAttachmentSize
uc_virtualmerchant_1.zip3.85 KB
mmwebdev's picture
Offline
Joined: 11/09/2007
Juice: 25
SSL

aswalla,

I cannot thank you enough for developing and contributing this payment module! I have a customer who insists on using Wachovia Bank who then has outsourced all of their Merchant Services to NOVA. And so, it is NOVA's brand new gateway "MyVirtualMerchant" or nothing! I had first attempted and struggled horribly with OSCommerce but, once I discovered Drupal/Ubercart and your Module, I was thrilled - Thanks!

One confirmation question, in order utilize your "test" Transaction mode (also very nice Thank you), does it require that I have first set-up the SSL for the site?

I got this error: "Credit card payment declined wHAT."

And in looking at your code, I see this message falls under the SSL test.
Is my assumption correct?

Thanks in advance - kim

aswalla's picture
Offline
Getting busy with the Ubercode.Spreading the word - Ubercart for president.
Joined: 08/17/2007
Juice: 105
Re: VirtualMerchant gateway

Just updated the virtualmerchant payment gateway module.

Fixes:
1) NOVA appears to require the tax field even if it is just set to 0. So, that is what it is set at. The total amount sent to NOVA then includes product + tax + shipping cost. I hope this is okay with folks.

2) Address verification field was getting screwed up if people had both street address and an apartment number. To remedy this, just the first 20 characters are grabbed for this field, which is the maximum NOVA can accept on this field anyhow.

Please test and let me know how it works for you.

Steve Oliver's picture
Offline
Uber Donor
Joined: 08/07/2007
Juice: 53
Unable to process your credit card payment.

Aswalla - I'm getting this error on checkout: "We were unable to process your credit card payment. Please verify your card details and try again. If the problem persists, contact us to complete your order."

Anything special I need to do? Have you tested it to work?

Thanks,

-Steve

aswalla's picture
Offline
Getting busy with the Ubercode.Spreading the word - Ubercart for president.
Joined: 08/17/2007
Juice: 105
Re: VirtualMerchant gateway

For some reason, NOVA appears to change their requirements every so often. Latest NOVA changes seemed to break the gateway but I got it working again. Attached is the latest version - 1.2.

Please test.

AttachmentSize
uc_virtualmerchant1.2.zip 2.86 KB
Steve Oliver's picture
Offline
Uber Donor
Joined: 08/07/2007
Juice: 53
Virtual Merchant Payment Gateway Module (1.2) not working for me

Same results. I am in production mode and still not receiving any NOVA responses, only generic Drupal messages.

-Steve

Steve Oliver's picture
Offline
Uber Donor
Joined: 08/07/2007
Juice: 53
Have you tested v1.2?

Have you test either 1.1 or 1.2? If so, what was your setup?
(I am running Ubercart Alpha8 on Drupal 5.2 with PHP5)

Steve Oliver's picture
Offline
Uber Donor
Joined: 08/07/2007
Juice: 53
Virtual Merchant Payment Gateway Module (1.2) not working for me

I stopped attempting to process cards on checkout. Instead, I tried processing the payment through the store orders admin page. I'm getting a "Credit card payment declined wHAT." error. I've got SSL working, the VM payment gateway is in production mode, plus I've run a test order from my server to VirtualMerchant using a simple HTML form with the required fields. Any idea what's going on? I'm really anxious for this to be working!

-Steve

benwei's picture
Offline
Getting busy with the Ubercode.
Joined: 09/29/2007
Juice: 47
How to get a more verbose error

Steve,

I was getting this same error, and it seems to be a generic thing. There is actually more specific error information available but for some reason it doesn't get printed (maybe it gets stored somewhere, but I couldn't find out where).

To access it, you can modify line 178 of uc_virtualmerchant.module from this:
'message' => t('Credit card payment declined wHAT.'),

To this:
'message' => t('Credit card payment declined wHAT. ').print_r($response, TRUE),

This should give you the specific error code and description of the error that you are getting.

mmwebdev's picture
Offline
Joined: 11/09/2007
Juice: 25
Authorized Referrers

Quick qeustion regarding setting the authorized referrer(s) within NOVA's MyVirtualMerchant system interface that limits the url(s) by which NOVA then will only accept HTTP communication from my Ubercart store.

What should that URL be? Their tech support said only that it was the URL(s) of those page(s) where a customer would be entering in their credit card number? Trouble is, when entering this URL into MyVirtualMerchant, the interface would not "take it"?

When I think about it, would it instead be the path to this module where the actual processing/communication is taking place vs. the checkout and Administration Order Processing URL?

Hoping someone who is up and running w/ NOVA & this Module can advise. Please send a private message if answering would leave Ubercart less secure.

(If curious, I am running Drupla 5.5, I believe I am running Ubercart Alpha 8, for sure not yet Beta, and this Module 5.x-1.1-alpha8.)
All is well with my install and I have sucessfully ran a live credit card order through to NOVA but have since set MyVirtualMerchant in such a way that cards will not be processed as I have left the authorized referrer empty, basically blocking all attempts to process.
Once, I have the authorized referrer correct, I will be allowing the store to "Open" officially for business and looking forward to getting going.

Thanks in advance - KIM Smiling

josiahdajo@drupal.org's picture
Offline
Joined: 02/16/2008
Juice: 2
Not Really Realistic

I was having issues with this as well. For checkout it was fairly straightforward, because without even looking in the code to see where the call to their gateway was actually taking place, I knew that checkout only has a few URLs: cart, cart/checkout, cart/checkout/review, and cart/checkout/complete, so I could, if nothing else, enter all those urls into the myvirtualmerchant.com admin interface as allowed referrers.

The problem comes when you want to do processing from the store administration section, because each page you'll be processing from includes the individual order number in it. Without wildcards, this means you'd have to enter each individual order processing page as an allowed page.

I called the support number and asked about using wildcards, and apparently that's not something they support. This essentially rules out being able to use the store administration interface for processing if you've enabled the "Use HTTP Referer" option.

I've just disabled this referer filtering option, as it's unrealistic to expect the store admins to never use that feature.

Good luck! And if you find a way to do that wildcard, post back here and let us know, thanks!

Josiah

steveoliver's picture
Offline
Joined: 01/17/2008
Juice: 2
Enable HTTP Transactions & Disable HTTP Referrers

That's what I did to get things working in my store, www.mysticinkpublishing.com

-Steve

thill's picture
Offline
Joined: 01/25/2008
Juice: 815
small tweak

I had to add the following line after line 115 to get it to work for me

'ssl_salestax'=>'0',

I have it working just fine with RC 4

Thanks for the module.

Tim

aswalla's picture
Offline
Getting busy with the Ubercode.Spreading the word - Ubercart for president.
Joined: 08/17/2007
Juice: 105
Re: VirtualMerchant gateway

thanks everyone for the feedback on the module. I have added in the tweaks and made a note in the module to enable http transactions and disable http referrers.

thill's picture
Offline
Joined: 01/25/2008
Juice: 815
Error message

I just upgraded to Ubercart 1.0 and upgraded the payment module. I ran update.php also.

When running a order/payment in production mode i get the following.

Payment failed: Credit card payment declined error message. Array ( [errorCode] => 4009 [errorName] => Required Field Not Supplied [errorMessage] => The field Customer Code (ssl_customer_code) required but not supplied in the authorization request. )

Any thoughts?

Thanks

update, I added the following between line 118 and 119, It works now, i have no clue why that field is required, it shows it isn't in the developers manual.

'ssl_customer_code' => 1111,

let me know if this is wrong
thanks

thedosmann's picture
Offline
Joined: 07/22/2008
Juice: 62
no response after confirmation

Have drupal 5.9 (latest)(new install)
ubercart - latest update
and I have the latest uc_virtualmerchant.zip I belive this updated with the last ubercart
I have the gateway set to vm in test when I try to make payment it simply goes back to checkout page with no error and does not process. - no other response-
I also tried swiching to production just to try and get a response -no response, it just goes back to checkout page-

I did do the https on and referreers off on the vm panel but nothing else. It seems I'm not getting to VM site because I'm not getting a response of any kind. The process takes me to the confirm page and then when I try to proceed with payment it just lands me back on the checkout page with no error message or reponse.

Using the test gateway works....

scratch that..it was working until the last update so I going to post this on the main support page

Running this on a linux system

Any help or a direction to start looking?? It would help if I could get an error or response of some kind.

This turned out to be an update issue.

The orders process but it only sets the the order to pending on confirm it does not auto run the transaction. I see were I could process on order view but some card info is missing and this shouldn't be the processs. One would expect on confirm order that it processes and either completes the transaction or returns an error of some kind? Am I missing something?

Melanie's picture
Offline
Joined: 12/09/2008
Juice: 7
Virtual Merchant Implementation

Were you able to get the module up and running to process payments?

piuschungath's picture
Offline
Joined: 01/19/2009
Juice: 2
faced some issue with the uploaded code ---please try this one

I have made some changes in the code. Please use and let me know the comments

AttachmentSize
uc_virtualmerchant.zip 3.34 KB
grokkin's picture
Offline
Joined: 01/22/2009
Juice: 2
ssl_merchant_id

It looks like the ssl_merchant_id is hard-coded into the submit_data array. Also, ssl_customer_code appears to be missing from the array as well.

j0rd's picture
Offline
Getting busy with the Ubercode.
Joined: 07/16/2008
Juice: 453
Re: faced some issue with the uploaded code ---please try this o

If you could update the "version" in your uc_virtualmerchant.info file to version = "5.x-1.7" it would be appreciated as well. It appear the stale entry is causing "update_status" module to complain.

mattsteven's picture
Offline
Joined: 02/18/2009
Juice: 9
Fixed version

I've taken the latest zip on this page and simply changed the hardcoded ssl_merchant_id to

'ssl_merchant_id' => variable_get('virtualmerchant_user_id', ''),

It seems to work again that way. Hope it helps someone.

AttachmentSize
uc_virtualmerchant_0_fixed.zip 3.61 KB
Inphinion's picture
Offline
Joined: 02/26/2009
Juice: 5
Re: VirtualMerchant gateway

I am trying to configure the Virtual Merchant gateway for the web-site: http://www.adminmed.com/

Configuration: 1and1 shared Linux server with a "shared" security certificate, Drupal 5.15, Ubercart 1.7.

The checkout works fine with PayPal Website Payments Standard as well as with the Credit Card payment method with Test Gateway.

I configured the Virtual Merchant to Enable HTTP Transactions & Disable HTTP Referrers.

When I try the Credit Card payment method with Virtual Merchant gateway, I am getting the following message:
"We were unable to process your credit card payment. Please verify your card details and try again. If the problem persists, contact us to complete your order."

Both uc_virtualmerchant_0 and uc_virtualmerchant_0_fixed give the same result.

Please let me know what else can be done to make it work.

Inphinion's picture
Offline
Joined: 02/26/2009
Juice: 5
Re: Re: VirtualMerchant gateway

I modified the line in the code as follows:
'ssl_merchant_id' => variable_get('virtualmerchant_merchant_id', ''),

Now everything works fine even with ENABLED HTTP Referrers

AttachmentSize
uc_virtualmerchant_0_fixed+.zip 3.85 KB
aswalla's picture
Offline
Getting busy with the Ubercode.Spreading the word - Ubercart for president.
Joined: 08/17/2007
Juice: 105
Re: Re: Re: VirtualMerchant gateway

Excellent - thanks for the updates. I've added this version into the top entry; apologies for hardcoding that id into the code; my fault in not ensuring I had uploaded the correct version.
cheers,
Aaron

freedomhonal's picture
Offline
Joined: 05/04/2009
Juice: 2
Error in VM

I am not certain if this is where the errors for VM are to go. Please correct me if I have posted to the wrong place.

I installed SSL made the Keys folder and everything said by the manual I am getting this error and am unable to use VM as a payment gateway.

* warning: Invalid argument supplied for foreach() in /sites/all/modules/ubercart/payment/uc_virtualmerchant/uc_virtualmerchant.module on line 99.
*

We were unable to process your credit card payment. Please verify your card details and try again. If the problem persists, contact us to complete your order.

My knowledge on keys and how it works is minimum and I am unable to figure this error out as it is pointing to the keys section.

This is the configuration of my site
Drupal 5.12
MySQL database 5.0.67.d7
PHP 5.2.8
PHP register globals Disabled
Unicode library PHP Mbstring Extension
Web server Apache
Ubercart 5.x 1.6

I am using all of uber cart core modules, a couple of optional
ubercart ( catalog etc..) and 1 payment module.( I had to switch to
paypal as this virtual merchant was not working)

Any help would be appreciated.

Thanks,
Honal.

ngreenup's picture
Offline
Joined: 05/16/2009
Juice: 6
Ubercart 2.0

Has anyone gotten ubercart 2.x to work with myvirtualmerchant.com?

dillonm's picture
Offline
Joined: 07/27/2009
Juice: 11
anyone?

I haven't tried it, but am curious if anyone has gotten it to work...

majortom@drupal.org's picture
Offline
Joined: 03/05/2008
Juice: 11
Ping....

Has anyone gotten this to work with UberCart 2.0?

macographer's picture
Offline
Joined: 12/02/2008
Juice: 4
curious...

I am also curious about this.

Myron's picture
Offline
Joined: 03/17/2009
Juice: 5
Dynamic Currency Conversion (DCC)

Has anyone encountered issues with Virtual Merchant's (VM) Dynamic Currency Conversion (DCC)?

The DCC feature is supposed to allow store users that are from another country to choose whether they want to charge their order in their home currency or the store currency at the time of purchase. This causes problems for this module since it appears to read anything that's not an approval as a rejection. Our Canadian customers are getting their orders rejected because Virtual Merchant sends back information for them to choose what currency to order in and Ubercart takes that as a rejection of their order.

Is there a way to add logic that presents this choice to the purchaser?

If not, is there a way to automatically choose one, either based on a store configuration option or hard-coded (e.g. using cURL again)?

barry769's picture
Offline
Joined: 03/19/2009
Juice: 11
Drupal 6

Has anybody gotten this to work in Drupal 6? I'm supposed to have my customer's website running this week and hadn't realized this was a D5 module. I'm kind of dead in the water right now.

barry769's picture
Offline
Joined: 03/19/2009
Juice: 11
Re: Drupal 6

This works with Drupal 6 and Ubercart 2.0 as is.

Just modify the .info file so that drupal recognizes it as a D6 module.

This is what I changed it to and how it now works for me.

; $Id$
name = Virtual Merchant Gateway
description = Virtual Merchant payment gateway.
dependencies[] = uc_payment
dependencies[] = uc_credit
package = Ubercart - payment

version = "6.x-2.x-dev"
project = "ubercart"

core = 6.x

bissupport's picture
Offline
Joined: 12/08/2009
Juice: 2
authorize only and then capture

this is a great module. is there any way i can only authorize on checkout, set order to payment received and then from admin, process the authorized payment (settle the old authorization) just like we can do with auth.net module? any help towards adding this functionality will be really helpful.
thanks

aJayBoulder's picture
Offline
Joined: 12/15/2009
Juice: 2
Error in VM

Did you ever figure this out? I'm getting the same error. Any guidance would be much appreciated.

eWebArchitecture's picture
Offline
Joined: 01/29/2010
Juice: 2
Dynamic Currency Conversion: Disable

I ran into difficulty with dynamic currency conversion (DCC), too, and eventually wound up calling VM support (800) 377-3962 to get them to shut it down. There's no option in Drupal or VM's merchant account controls to allow you to do this yourself, unfortunately, because I asked where I could manipulate this. In other words, VM *only* has access to control this variable.

bgm
bgm's picture
Offline
Joined: 12/10/2007
Juice: 26
Re: authorize only and then capture

@bissupport, #32: can you test if the following works ? : in the function uc_virtualmerchant_charge(), replace "ccsale" by "ccauthonly".

Reference: www.myvirtualmerchant.com/VirtualMerchant/download/developerGuide.pdf

If that works, I can provide a patch to add a configuration option in the Drupal configuration interface. I don't have a dev environment at the moment to test. If you are interested, contact me at mlutfy@koumbit.org, I can provide support for a small fee.

(Note that I am not the initial author of this contrib, but I have been using it with a client for a few weeks, and we have good experience with payment processors.)

matt

bgm
bgm's picture
Offline
Joined: 12/10/2007
Juice: 26
Repackaged for Drupal 6

As barry769 has mentionned in #31, making this work with Drupal 6 is rather straightforward.

For convenience, here is a repackaged version of the contrib that includes the correct .info file.

AttachmentSize
uc_virtualmerchant.tar.gz 3.01 KB
dillonm's picture
Offline
Joined: 07/27/2009
Juice: 11
Project on d.o.

You can also use the one on Drupal.org for D6

http://drupal.org/project/virtualmerchant

It's only been up for a couple months, but I'm using it on several sites. It's the payment module for Elavon/VirtualMerchant/Costco payment gateways.

thomlynn's picture
Offline
Joined: 06/10/2013
Juice: 13
Any development plans for Drupal 7

I'm in need of a module to use virtual merchant with ubercart on D7.

Thanks!

kelseygittings09's picture
Offline
Joined: 04/29/2014
Juice: 6
Virtual Merchant for Drupal 7

Has there been any updates in anyone working on a module to join Ubercart and Virtual Merchant in Drupal 7?
I have a client that is looking for this and I haven't found anything yet if there is or not.

Thanks for any help!

Kelsey

thomlynn's picture
Offline
Joined: 06/10/2013
Juice: 13
This worked for me...
thomlynn's picture
Offline
Joined: 06/10/2013
Juice: 13
Here's the zip file

HTH!

AttachmentSize
virtualmerchantmodule.zip 42.44 KB