Not matching the Collaborator error on virtuemart direcpay integration


While i am integrating direcpay on virtuemart i got the “Not matching the Collaborator” error. So here we are going to see how to resolve the Collaborator-id mismatching issue.

DirecPay collaborator not matching

What is Collaborator id


It is a mandatory field and merchant should use TOML (case sensitive)
for integrating on DirecPay staging (testing) environment and DirecPay (case sensitive)
for integrating on DirecPay production (live) environment.

Collaborator id is the last item in requestparameter.TOML is used for sandbox environment and DirecPay is used
live environment. Here is the example requestparameter.

requestparameter = 200904281000001|DOM|IND|INR|10|1335502321695|None|||<strong>TOML</strong> 

Please read my early post to know more about integrate direcpay of timesofmoney.Ok Lets directly go to the issue.

Timesofmoney offers coding packages to integrate direcpay on cms like Joomla, Magento and so on. So using this package i tried to integrate direcpay on joomla virtuemart.I successfully integrated the direcpay and configured the payment in test mode.After that while test my checkout payment using direcpay.I got “Not matching the Collaborator” error. After inspecting the code i found the issue that in the code.

In the download package, we can find the “Joomla installation” document. There in fourth point has some bug. this file -
administrator/components/com_virtuemart/html/ checkout.thankyou.php
Find following code : 
     echo $tpl->fetch( "pages/$page.tpl.php" );
Replace with this code :
 if($db->f("payment_class") == 'ps_direcpay')
'requestparameter' => DIRECPAY_MERCHANTID.'|DOM|'.$db->f("country_3_code").'|'.$vendor_currency.'|'. number_format($db->f("order_total"), 2, '.', '').'|'.$orderno.'-'.$db->f("order_id").'|others| '.JURI::root().'/index.php?page=direcpay.transaction&option=com_virtuemart&Itemid=53| '.JURI::root().'/index.php?page=direcpay.transaction&option=com_virtuemart&Itemid=53|'.$collaborator.' '

While copy and past this code in Dreamweaver, extra space is created after collaborator. So this space is lead the “Not matching the Collaborator error”. Must remove that space. Replace that with below code

'requestparameter' => DIRECPAY_MERCHANTID.'|DOM|'.$db->f("country_3_code").'|'.$vendor_currency.'|'. number_format($db->f("order_total"), 2, '.', '').'|'.$orderno.'-'.$db->f("order_id").'|others| '.JURI::root().'/index.php?page=direcpay.transaction&option=com_virtuemart&Itemid=53| '.JURI::root().'/index.php?page=direcpay.transaction&option=com_virtuemart&Itemid=53|'.$collaborator.''

Hope this helps someone.

Posted in Joomla and tagged , by .

About Gowri

I am professional web developer with 8+ years experience. PHP, jQuery, WordPress, Angular and Ionic are my key skills in web development. I am working with strong enthusiastic team with spirit. We provide all web related solution like HTML/CSS development, Web graphic design and Logo.