Sagepay can work in 3 different ways Form, Direct & Server. The module I wrote only works with Sagepay Form.
As for intergration I hope that people find it fairly easy (I know I did) but nothing is quite as simple as Paypal IPN lol. Sagepay's website can be found here, I have found them to have very good levals of customer service and they always seem to want to try and help when they can.
annnika I've solved the problem
MAKE SURE you backup your website & database first.
Go to includes/modules/payment/sagepay_form.php and edit that file with a good editor.
findreplace withCode:// Basket detail code if (MODULE_PAYMENT_SAGEPAY_FORM_SHOPCART == 'true') { $shipping = $order->info['shipping_cost']; $shipping = number_format($shipping, 2, '.', ''); $products = $_SESSION['cart']->get_products(); $no_lines = sizeof($products) + 1; $shippingStr .= ":Shipping:---:---:---:---:".$shipping; $basketStr = "Basket=".$no_lines; $moreStr .= ":More products...See Order.:---:---:---:---:---"; $moreLen = strlen( $moreStr );This will change the shipping field thats sent to sagepay so instead of seeing thisCode:// Basket detail code if (MODULE_PAYMENT_SAGEPAY_FORM_SHOPCART == 'true') { $shipping = $order->info['shipping_cost']; $shipping = number_format($shipping, 2, '.', ''); $shippingtax = $order->info['shipping_tax']; $shippingtax = number_format($shippingtax, 2, '.', ''); $totalshipping = $shipping + $shippingtax; $totalshipping = number_format($totalshipping, 2, '.', ''); $products = $_SESSION['cart']->get_products(); $no_lines = sizeof($products) + 1; $shippingStr .= ":Shipping:---:".$shipping.":".$shippingtax.":".$totalshipping.":".$totalshipping; $basketStr = "Basket=".$no_lines; $moreStr .= ":More products...See Order.:---:---:---:---:---"; $moreLen = strlen( $moreStr );
Shipping --- --- --- --- 15.19
you should get this
Shipping --- 15.19 3.04 18.23 18.23
Just in case your not sure what you see is:
15.19 = shipping cost
3.04 = shipping tax
18.23 = total shipping
18.23 = line total (I've left this in as it looks better)
Hope this helps
Nixak
p.s. this will be included in the next update.
Last edited by Nixak; 16 Mar 2011 at 05:58 PM. Reason: adding info
you are a star!!![]()
![]()
![]()
Nixak, I've uploaded those two PHP files to the relevant folders on my Zen Cart and nothing has changed in the payment section of my admin. Any ideas?
I'm not sure what to say .....
Once the files are uploaded got to admin/modules/payment and it should be there in the list as Debit/Credit Card - Sagepay Form.
Only thing I can think of is I know that firefox can be a sh*t at times and I have to clean out my cache to see any changes.
Nixaks,
I have to thank you so much for this. I had no idea how to do this and I followed your instructions and it seems to work perfectly.
Thank you so so much![]()
![]()
Hi Nixak,
I'm having trouble using the module on Zencart 1.3.9h. The shop is: https://www.loveaquatics.com/ and i can get as far as step 3 of the checkout and it hangs, it's like the rest of the page isn't loading.
The last piece of the source code is:-
<form name="checkout_confirmation" action="https://test.sagepay.com/gateway/service/vspform-register.vsp" method="post" id="checkout_confirmation" onsubmit="submitonce();">
That's it, nothing more, i can't continue. I have SSL enabled etc. Do you know what the problem could be?
The login to Sage Pay for me is: https://live.sagepay.com/mysagepay/loginpage.msp
Thank you.
In your admin change the module to simulator mode and then make a test purchase, you will be taken to a page where it will list everthing thats been sent & it will point out if anything is wrong. Let me know what you find.
Regards
Nixak