RE: Paysystems module help needed
Ceres <[email protected]>
| Newsgroups | gmane.comp.web.oscommerce.contributions |
|---|---|
| Message-ID | <23f6075e17cc46da1fd062491fe30bd3@osCommerce-Forums> |
This message was sent from: Contributions
http://forums.oscommerce.com/viewtopic.php?p=227243#227243
----------------------------------------------------------------
Well, I guess I solved this problem with the help of Michael Sasek from AABox hosting. In the spirit of community, I'll just post how this problem was solved (and hopefully save someone else with this problem a few dollars and a few days):
First thing I did after I realized that I was being charged $1 for every test transaction I made ($15 dollars down the drain :evil:) is I downloaded the source for the Paysystems page that did the redirect. Even doing the downloading cost me a buck since you can't get to that page without doing a valid transaction. The upside to this is that I could now do as many redirects I wanted without worrying about making myself poor. Looking back, I might have just been able to create a help desk ticket and they might have given me some free test transactions. But in case you can't do this or they won't give it to you, here is how I tested:
1. Buy an item on my site
2. Checkout and go all the way to the confirmation page (the page right before you get redirected to the Paysystems site)
3. Copy the osCsid from this session
4. Open up the downloaded Paysystems page in your favorite editor
5. Use the osCsid from step 3 and put it into the appropriate section of the page (you can alternatively change whatever else you want in that page as well such as the redirect timer and such)
6. Open up the edited page from step 5 and see what happens
My solution to my problem:
1. Go into the Paysystems module (catalog/includes/modules/payment/paysystems.php) and look for:
[code]tep_draw_hidden_field('formget','Y') .
tep_draw_hidden_field('redirect',tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL', false)) .
tep_draw_hidden_field('redirectfail',tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', false)) .[/code]
and change this to:
[code]tep_draw_hidden_field('formget','N') .
tep_draw_hidden_field('redirect',tep_href_link(FILENAME_CHECKOUT_PROCESS, 'cc_status=pass', 'SSL', true)) .
tep_draw_hidden_field('redirectfail',tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true)) .[/code]
2. Test it out
From what Michael told me, this seems to be a problem specific to shared SSL (since sessions are not registered as cookies on shared SSL servers). Since the Paysystems server does not return the oscSid when it does it's redirect, I had to pass the osCsid on as part of the redirect string. I'm still not sure why I had to use the "post" method for this to work (formget = N) so if anyone can shed some light on this it would be appreciated.
Thanks,
Ceres