You need to login in order to make a new post. If you do not have a community account, you can get one here.

Proper Virtuemart Support

Hi,

Is 2Checkout ever going to have a proper Virtuemart module?

I see all sorts of 2CO code being announced, but are there no resources to get a single script written?

I have contacted 2CO multiple times in the past about this and I’ve received “We’ll look into it” almost every time.

Is anybody looking into this?

Just for clarity sake:

Virtuemart is a Shopping Cart solution for Joomla (2co just released a joomla plugin).
When using it with paypal or other payment options, the checkout process is the smoothest thing ever.

When checking out with the 2Co module, people have to enter their billing info twice. (once for virtuemart which should be copied to 2co like it does with paypal).

Once they checked out, their order stays at the “pending” status. Regardless if this has anything to do with the fraud check, people should be able to download after they paid. This is not possible with the 2Co module.

If you do a 5 minute google search, you’ll notice that this problem is common and several people have received the claim from 2CO that “they are looking into it”.

There are all sorts of hacks and scripts out there to improve the situation. But none do the job very well and I can’t say I’m comfortable using foreign code in my store.

So for the sake of still being able to use 2Co as a payment processor. Could somebody actually look into this please?

Kind Regards

- Bjorn

RSS feed

23 Comments »

# Comment by craig 2CO Staff
2009-05-10 08:39:50

Thank you for bringing these issues to our attention. Unfortunately, when working with a 3rd party cart, we are only able to advise them on what needs to be changed in order to work with our service. I will contact the VirtueMart developers in hopes of addressing these issues and update this post when more information is available.

In regards to the return issue you are encountering please open a support ticket so we can investigate the issue further. From what I have read on VirtueMart’s documentation this should not be an issue as long as the path to your return script is set up properly as your accounts approved url.

If their are any suppliers on the community who are currently using VirtueMart we would appreciate your feedback.

 
 
# Comment by vaynero
2009-05-10 08:49:21

Hi Craig,

Thank you for your reply.

Correct me if I’m wrong (or if you have a colleague named Greg), but you said the exact same thing when I asked this question over your Live Chat many weeks ago.

I’ll try some test orders again to see if I’m incorrect about the return script issue.

Thank you!
Kind Regards,

- Bjorn

 
# Comment by craig 2CO Staff
2009-05-10 09:39:39

I am not the agent you previously chatted with but I apologize that your concern was not initially handled properly. I will insure that these concerns are directed to an integrations specialist in the future.

 
 
 
# Comment by vaynero
2009-05-10 16:34:24

No problem.
I legitimately believed somebody was looking into this issue and gave it a rest for a while. Only to see no change.

I will set everything up again according to the provided instructions and will keep you posted on the problems.

I hope some other users might share their experiences, because I can imagine they’ve seen a lot of snippets of code and forums trying to get this working.

Thanks

- Bjorn

 
 
# Comment by vaynero
2009-05-14 06:13:40

I’ve set everything up again and it seems my payments still show up as pending.

Let me take you thru my settings:

- 2Co Payment method chosen in Virtuemart. (Comes with the virtuemart package)

- In the payment method form I have the payment method type set to “HTML-Form Based”

- In the Configuration Tab, I’ve entered my Vendor ID, Secret word, Confirmed status for completed orders, Pending status for failed orders and test mode is off.

- I have the following script:

f("user_info_id")."'";
$dbbt = new ps_DB;
$dbbt->setQuery($q);
$dbbt->query();
$dbbt->next_record();
// Get ship_to information
if( $db->f("user_info_id") != $dbbt->f("user_info_id")) {
$q2 = "SELECT * FROM #__vm_user_info WHERE user_info_id='".$db->f("user_info_id")."'";
$dbst = new ps_DB;
$dbst->setQuery($q2);
$dbst->query();
$dbst->next_record();
}
else {
$dbst = $dbbt;
}

//Authnet vars to send
$formdata = array (
'x_login' => TWOCO_LOGIN,
'x_email_merchant' => ((TWOCO_MERCHANT_EMAIL == 'True') ? 'TRUE' : 'FALSE'),

// Customer Name and Billing Address
'x_first_name' => $dbbt->f("first_name"),
'x_last_name' => $dbbt->f("last_name"),
'x_company' => $dbbt->f("company"),
'x_address' => $dbbt->f("address_1"),
'x_city' => $dbbt->f("city"),
'x_state' => $dbbt->f("state"),
'x_zip' => $dbbt->f("zip"),
'x_country' => $dbbt->f("country"),
'x_phone' => $dbbt->f("phone_1"),
'x_fax' => $dbbt->f("fax"),
'x_email' => $dbbt->f("email"),

// Customer Shipping Address
'x_ship_to_first_name' => $dbst->f("first_name"),
'x_ship_to_last_name' => $dbst->f("last_name"),
'x_ship_to_company' => $dbst->f("company"),
'x_ship_to_address' => $dbst->f("address_1"),
'x_ship_to_city' => $dbst->f("city"),
'x_ship_to_state' => $dbst->f("state"),
'x_ship_to_zip' => $dbst->f("zip"),
'x_ship_to_country' => $dbst->f("country"),

'x_invoice_num' => $db->f("order_id"),
'x_receipt_link_url' => SECUREURL."2checkout_notify.php"
);

if( TWOCO_TESTMODE == "Y" )
$formdata['demo'] = "Y";

$version = "2";
$url = "https://www.2checkout.com/checkout/spurchase";
$formdata['x_amount'] = number_format($db->f("order_total"), 2, '.', '');

//build the post string
$poststring = '';
foreach($formdata AS $key => $val){
$poststring .= "
";
}

?>
<form action="" method="post" target="_blank">

Click on the Image below to pay...

In 2checkout, I have the approved and pending URL’s set to http://www.my_site.org/2checkout_notify.php

Every time I complete an order using 2CO, It remains listed as pending in my Virtuemart store.
So download links don’t get sent out.

Any idea where I went wrong?

 
 
# Comment by vaynero
2009-05-14 06:16:09

Ehrm.. These code tags didn’t work too well.

Anyway, here are a few links to forums discussing these problems.
If you want I can give many more links. I’m not the only person who has been trying to set this up for many weeks without any luck.
We need 2Co to help us out.

http://forum.virtuemart.net/index.php?topic=13874.msg109118

https://dev.virtuemart.net/cb/issue/1364

https://forum.virtuemart.net/index.php?topic=46438.msg154361

Kind Regards

- Bjorn

 
# Comment by joel 2CO Staff
2009-05-14 08:57:17

Bjorn,

The last message in the last message board link you provided has what appears to be a solution. This solution does make sense to me based on the problem you are describing. If the approved URL code is checking for a parameter we do not send back to the script it will never be able to change the status of the sale. Please try changing the code in your approved URL based on the information below and let me know if this works.

“When I looked at 2CO’s parameters page, I found this:
x_2checked – Y if card was successfully processed, K if pending.

So I changed line 65 from this:
if ($_REQUEST['x_response_code'] == ‘1′) {

To this:
if ($_REQUEST['x_2checked'] == ‘Y’) {

And then it updates the order status as it should.”

 
 
 
# Comment by vaynero
2009-05-14 09:31:25

It seems to be already in there.

_(’VM_CHECKOUT_ORDERIDNOTSET’);
else {

/* Load the 2Checkout Configuration File */
require_once( CLASSPATH. ‘payment/ps_twocheckout.cfg.php’ );

/* x_invoice_num is the name of the variable that holds OUR order_number */
$order_number = vmGet( $_REQUEST, “x_invoice_num” );

// In Demo Mode the MD5 Hash is built using a “1″
if( isset($_REQUEST['demo']) )
if($_REQUEST['demo']== “Y”)
$_REQUEST['order_number'] = “1″;

/* Concat some variables for MD5 Hashing (like 2Checkout does online)
* order_number is the 2Checkout Order Number, not our one!
*/
$compare_string = TWOCO_SECRETWORD . TWOCO_LOGIN . $_REQUEST['order_number'] . $_REQUEST['x_amount'];

// make it md5
$compare_hash1 = strtoupper(md5($compare_string));
$compare_hash2 = $_REQUEST['x_MD5_Hash'];

/* If both hashes are the same, the post should come from 2Checkout */
if ($compare_hash1 != $compare_hash2) {
?>
<img src=”images/button_cancel.png” align=”middle” alt=”_(’VM_CHECKOUT_FAILURE’); ?>” border=”0″ />
_(’PHPSHOP_PAYMENT_ERROR’) ?>query($qv);
$dbbt->next_record();
$d['order_id'] = $dbbt->f(”order_id”);

if ($_REQUEST['x_2checked'] == ‘Y’) {

// UPDATE THE ORDER STATUS to ‘VALID’
$d['order_status'] = TWOCO_VERIFIED_STATUS;
require_once ( CLASSPATH . ‘ps_order.php’ );
$ps_order= new ps_order;
$ps_order->order_status_update($d);

?>
<img src=”images/button_ok.png” align=”middle” alt=”_(’VM_CHECKOUT_SUCCESS’); ?>” border=”0″ />
_(’PHPSHOP_PAYMENT_TRANSACTION_SUCCESS’) ?>
order_status_update($d);

?>
<img src=”images/button_cancel.png” align=”middle” alt=”_(’VM_CHECKOUT_FAILURE’); ?>” border=”0″ />
_(’PHPSHOP_PAYMENT_ERROR’) ?>

<a href=”purl( SECUREURL.”index.php?option=com_virtuemart&page=account.order_details&order_id=”.$d['order_id'] ) ?>”>
_(’PHPSHOP_ORDER_LINK’) ?>

<?php
}

 
 
# Comment by vaynero
2009-05-14 09:33:33

Any other ideas what might be the problem?

Is there any chance to get somebody at 2Co to get this up and running for themselves?
I wish this were user error…

 
# Comment by simba 2CO Staff
2009-05-15 06:24:48

We are going to look into this issue further. The research may take a little time, but our integrations team is going to take a closer look at the VirtueMart scripts and see if they can work out a solution.

 
 
 
# Comment by vaynero
2009-05-15 06:34:02

Thank you very much.

I’ve honestly tried all other avenues. Some of the forum threads I linked date over a year back. Hence the outdated script adjustment tips.

I’m currently just using PayPal on my new site, but its slowly but surely reminding me why I used 2Co for the last 2 years. Paypal is smoothly integrated from my perspective, but it scares the daylight out of some potential customers.
I really enjoy doing business with 2Co, so I hope this issue can be resolved.

Thank you for looking into this!

Kind Regards

- Bjorn

 
 
# Comment by vaynero
2009-05-20 10:28:31

Hi,

Is there anything I can do to help?
I have the 2co plugin installed in an active store that is working smoothly, but its currently deactivated.

Cheers

- Bjorn

 
# Comment by simba 2CO Staff
2009-05-21 07:49:28

Your offer is greatly appreciated. Although, at the moment, there is not much that can be done other than having our integrations team work with the developers of VirtueMart to work out a solution. We will post information to this thread once we hear of any solutions.

 
 
 
# Comment by vaynero
2009-06-02 04:52:20

Any updates regarding this subject?

 
# Comment by joel 2CO Staff
2009-06-02 08:56:16

Hello Bjorn – Simba is not available to provide an update today but as soon as him or I can provide an update we will post it here.

 
 
 
# Comment by vaynero
2009-06-28 12:26:29

So is there a final word on this wetter or not you’re going to support virtuemart?

 
# Comment by craig 2CO Staff
2009-06-28 12:42:52

Unfortunately, its not up to us to support VirtueMart. We have to get VirtueMart to support one of our parameter sets and at this point we have received no response from the VirtueMart support staff. Our integrations team will continue to attempt to contact the cart developer and will update this post when the integration issues have been resolved.

 
 
 
# Comment by vaynero
2009-06-28 15:12:34

So basically the next time somebody asks about this, they’ll get the same reply. You stated about a year ago that you are looking into this “in depth”. http://www.2checkout.com/community/public/getting-started/virtuemart/

I find it hard to believe that the developers can’t be reached by phone or email for all this time. But yeah, you’re right. Its not up to you to support something like this. Even if the whole appeal of the service is 2co support.

http://virtuemart.net/documentation/User_Manual/Payment_Methods.html

Anyway. I suppose I’ll have to concede. Lord knows I tried sorting this out with the virtuemart developers too. 2 companies pointing fingers. This will never get resolved.
The only reason I complained harder here is because virtuemart isn’t the one losing customers.

Thanks for trying.

- Bjorn

 
# Comment by craig 2CO Staff
2009-06-28 15:38:37

We appreciate your concern with this issue and understand your frustration as this is the most requested shopping cart to get certified. The main goal of our integrations department is to get as many carts certified as possible. We have been trying to get VirtueMart certified for the some time now but thus far have been unsuccessful. We have attempted to contact all 3 contacts listed on their site with in the past month but have not been successful thus far. We will continue to pursue this certification and will update this post once we have new information pertaining to this issue.

 
# Comment by craig 2CO Staff
2009-08-31 15:47:45

We have been in communication with the VirtueMart developers and we have been assured that these issues will be resolved in VirtueMart’s next software release. At this time we do not have a release date but we will update this thread as soon as we have more information.

 
 
 
 
 
# Comment by soeren
2009-09-04 05:51:46

Hi,

to fix the issue, the VirtueMart Store owner must update their 2Checkout Payment Method using the Store’s Payment Method Form.
In the payment method form for the 2Checkout payment method, select the tab “Configuration”. After that fill in this new text (completely replace the old text) in the field “Payment Extra Info”:


f("user_info_id") != $dbbt->f("user_info_id")) {
$q2 = "SELECT * FROM #__vm_user_info WHERE user_info_id='".$db->f("user_info_id")."'";
$dbst = new ps_DB;
$dbst->setQuery($q2);
$dbst->query();
$dbst->next_record();
}
else {
$dbst = $dbbt;
}

//Authnet vars to send
$formdata = array (
'x_login' => TWOCO_LOGIN,
'x_email_merchant' => ((TWOCO_MERCHANT_EMAIL == 'True') ? 'TRUE' : 'FALSE'),

// Customer Name and Billing Address
'x_first_name' => $dbbt->f("first_name"),
'x_last_name' => $dbbt->f("last_name"),
'x_company' => $dbbt->f("company"),
'x_address' => $dbbt->f("address_1"),
'x_city' => $dbbt->f("city"),
'x_state' => $dbbt->f("state"),
'x_zip' => $dbbt->f("zip"),
'x_country' => $dbbt->f("country"),
'x_phone' => $dbbt->f("phone_1"),
'x_fax' => $dbbt->f("fax"),
'x_email' => $dbbt->f("user_email"),

// Customer Shipping Address
'x_ship_to_first_name' => $dbst->f("first_name"),
'x_ship_to_last_name' => $dbst->f("last_name"),
'x_ship_to_company' => $dbst->f("company"),
'x_ship_to_address' => $dbst->f("address_1"),
'x_ship_to_city' => $dbst->f("city"),
'x_ship_to_state' => $dbst->f("state"),
'x_ship_to_zip' => $dbst->f("zip"),
'x_ship_to_country' => $dbst->f("country"),

'x_invoice_num' => $db->f("order_number"),
'x_receipt_link_url' => SECUREURL."2checkout_notify.php"
);

if( TWOCO_TESTMODE == "Y" )
$formdata['demo'] = "Y";

$version = "2";
$url = "https://www2.2checkout.com/2co/buyer/purchase";
$formdata['x_amount'] = number_format($db->f("order_total"), 2, '.', '');

//build the post string
$poststring = '';
foreach($formdata AS $key => $val){
$poststring .= '
';
}

?>
<form action="" method="post" target="_blank">

Click on the Image below to pay...

ciao, Sören

 
 
# Comment by soeren
2009-09-04 05:52:54

there’s something missing at the beginning of the code!

this:
###
f

###

 
 
# Comment by soeren
2009-09-04 05:56:23

ok, see here: 2Checkout in VM 1.1.3

 
 
You need to login before leaving a comment If you do not have an account, you can register one here.

Recent Activity:

Welcome to 2Checkout!

2Checkout is a full-service e-commerce solution recognized by Inc. Magazine as one of the fastest growing companies in the United States. 2CO’s proprietary technology supports back-office functions including financial reporting, tracking, fraud prevention, affiliate tracking, customer service and sales tracking. Click here to learn more.

Spotlight Product

Spotlight Product

Professional Banner Design

Spotlight Supplier

Spotlight Supplier

Sell Downloads Guide


Popular Tags