News:

Support the VirtueMart project and become a member

Main Menu

Handoff to a 3rd party webpage for payment?

Started by KenHorse, November 21, 2012, 19:56:31 PM

Previous topic - Next topic

KenHorse

Title says it all.

I use Linkpoint (First Data) and have always passed off my customer (using my "old" shopping cart) to them for the actual CC info entry and passes along the product info to them as well. (this way I don't need to worry about SSLs) and. I see there is a Linkpoint plugin that uses the API but obviously I don't want to do it that way.

If I can't make VM do this, I can't use it

Any suggestions would be appreciated

maclean_cherry

Hi Ken,

Which country are you based in?

Maclean


maclean_cherry


ykaz

hi KenHorse

you are going to have to create a custom payment plugin to do this.

Copy the standard payment plugin folder and give it a unique name (e.g myplugin).

Rename the standard.php and standard.xml files to myplugin.php and myplugin.xml files respectively.

Open the xml file and change the the following lines

<name>VMPAYMENT_STANDARD</name>
<filename plugin="standard">standard.php</filename>
<language tag="en-GB">en-GB.plg_vmpayment_standard.ini</language>

to

<name>myplugin</name>
<filename plugin="myplugin">myplugin.php</filename>
<language tag="en-GB">en-GB.plg_vmpayment_myplugin.ini</language>

copy the language file en-GB.plg_vmpayment_standard.ini from the administrator/language/en-GB folder into the myplugin folder and name it en-GB.plg_vmpayment_myplugin.ini


Open the myplugin.php file  and rename the class plgVmPaymentStandard to plgVmPaymentMyplugin

There are 3 functions you are going to have to modify

plgVmConfirmedOrder
This is the function responsible for redirecting to the CC info page.
You will need to create a html form with all the required Linkpoint data (product info, price info, user info), set the action url to the Linkpoint CC page and submit the form using javascript (use the paypal and/or payzen payment plugins as reference)

If the Linkpoint api allows you to send the the return url (page the user is redirected to after payment) and notify url (page the payment getaway ALWAYS calls after payment. Not all payment gateways supports this)  as part of the form data. The return url should be set to

http://mysite.com/index.php?option=com_virtuemart&view=pluginresponse&task=pluginresponsereceived&pm=[paymentid]


and the notify url should be set to

http://mysite.com/index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&tmpl=component&pm=[paymentid]

Replace [paymentid] with the plugin's  id. It should be checked by both plgVmOnPaymentResponseReceived() and plgVmOnPaymentNotification() (see below) to see if it should process the payment


plgVmOnPaymentResponseReceived
It processes the Linkpoint response displays the status of the transaction to the user.

plgVmOnPaymentNotification
It processes the Linkpoint response data updates the order status. If Linkpoint does not support this, then your plgVmOnPaymentResponseReceived() function should update the order status

Zip the myplugin folder.  Install it and test the plugin

See the Virtuemart Payment Plugin wiki for more information

http://dev.virtuemart.net/projects/virtuemart/wiki/Payment_Plugins
Virtuemart 4B payment plugin/
http://vm4b.com

Virtuemart iDEAL payment plugin
http://vmideal.com

Virtuemart Sagepay payment plugin
http://vmsagepay.com