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.
What is Collaborator id
- Collaborator:
-
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|http://test.timesofmoney.com/direcpay/secure/merchant.jsp|http://test.timesofmoney.com/direcpay/secure/merchant.jsp|<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.
4.open 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.