-
Remotely Hosted Payment Page - Possible?!?!
Hello there,
I'm wondering if zencart can checkout to a remotely hosting payment page that collects credit card details and treat the order as being competed upon the return of the customer.
There are no response codes to worry about because its a manual gateway, its straight out to the hosted page and back again after payment, but it is not looking like zencart can send to a manual external payment solution outside itself and treat the order as being completed upon customer's return, either that or I'm completely missing something.
Is there a basic module for this? Is it possible with zencart?:wacko:
Any advice would greatly be appreciated.
Thanx zenners
-
Re: Remotely Hosted Payment Page - Possible?!?!
you mean like paypal and 2checkout and firepay and stormpay work.. Yes it can be done.
you need to have the order returned to checkout_process after payment is made with so that the system can proceed to checkout_success....
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
you mean like paypal and 2checkout and firepay and stormpay work.. Yes it can be done.
you need to have the order returned to checkout_process after payment is made with so that the system can proceed to checkout_success....
Hey thanx Merlinpa1969 for replying. Yeh, its to the e-Path manual payment gateway so there are no response codes or success/failure pages to worry about. Its just checkout from cart to make payment on remote payment page then back into cart.
The customer is returning correctly to checkout_process but it is the front page - "Congratulations! You have successfully installed your Zen Cart™" that they see, nothing more. But I think the cart needs to accept the order as having been completed and this is not happening, it doesn't show checkout_success nor is it recording it as an order when I go into admin.
Wondering if there was just a basic generic module that goes: ZC checkout > payment page > back to ZC checkout_success.php. This is all I need. If there is I should be able to mod it to tie in with e-Path's field values. Is there a module like that out there do u know?
Thanks again Merlinpa1969 for your reply.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Man, If customer pay order and returned to checkout _success it is no problem...
But you dont know this customer pay order or not, if yo udosnt receive any info from billing system...
If CC rejected and you return customer to checkout _success it dosnt look good...
try other system...
Offsite Payment http://www.zen-cart.com/index.php?ma...products_id=99
You receive order and send to customer link for make payment. after that you can work with this order.
If you dosnt receive online payment confirmation from billing system - no way to know what page show to customer... "Congradulations" or "Your payment rejected"
-
Re: Remotely Hosted Payment Page - Possible?!?!
Thank for replying but are you sure you are right??
The page I'm sending to is a manual gateway. It doesn't charge the card, just collects it and the card holders authourisation. See http://e-path.com.au. The customer authourises the charge and the merchant charges it through his eftpos machine later when he approves the order himself. The idea here is that with e-Path the mercahnt can contol what is entered in his mercahnt account, it is not an "all in without any checking" situation like a real time gateway.
The customer still needs to come back to the cart after he has entered his payment authourisation into the payment page to see that his order has been successfully received and so ZC can close of the order.
What code do I put in the module that will tell ZC to treat the order as completed? I think this is what I'm after (I think). I just need a generic basic module that goes from ZC checkout to payment page then back again where ZC can treat the order as completed. I'm embarrased I'm stumped on such a basic module.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
what is the url that the customer is comming back to?
and remember that the session ID must be passed back as well otherwise you will get a time out error.
Your customer is better off using the stock credit card module and manually processing the charges....
in order for a payment gateway to be successful for zen cart it either needs to stay on zen carts pages like authnet. or check/money order.... ( authnet is a real time charge check/mo actually complets the order and leaves it in a pending state till payment is recieved )
Or like paypal in which the system is designed to talk back to zen cart.
you cant just send someone off site and then send em back again....
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hey, thanks for replying again Merlinpa1969.
If you go here.. http://thefruitboxshop.com/shopping_carts.html they have a zen demo that shows what I'm talking about. The OSCommerce one on that page seems to work fine, emailing out to the customer and closing off the order OK. The zen one doesn't for some reason.
There's a bit of a talk around the place here in OZ about banks threatening to suspend merchant accounts of people who receive credit card details by insecure means, like email and shopping carts that store info on servers etc. Apparently there is a massive security protocol needed to store credit card numbers on servers, even temporarily. They are really cracking down on everything now. I'm not too sure of the facts but e-Path is an approved service and seems to do everything a real time gateway does but instead of charging the card it gets the card holders authorisation, just as securely as a real time thing.
So I guess I need a basic module that tells the cart all is well when the person comes back to it from authorizing their card payment on the e-Path hosted payment page.
I have modified the Paymate module and zen is sending everything through correctly and the customer is returned correctly to the checkout_process page but zen doesn't "read" it as done, there is no checkout_success and no record of the orders in admin. Maybe the Payment module is too old.
Anymore thoughts? And thanks again Merlinpa1969 for your help, I appreciate it.
Thanx
-
Re: Remotely Hosted Payment Page - Possible?!?!
Zen cart dosnt store the number in the db
it stores 1/2 and emails 1/2 along with the cvv code.
email me the file you have for OSC that you started with.
see what I can do with it...
zens functions and OSC functions are not the same
merlin AT camelot-hosting DOT com
-
1 Attachment(s)
Re: Remotely Hosted Payment Page - Possible?!?!
I hope I don't get into trouble for this, but I've attached the module...
I'm trying to get a simple action, from ZC to epath then back to ZC so it recognises it as being paid. I don't know whether asking you to look at it is too rude, but if you notice anything not right please let me know. Its working OK except ZC doesn't recognise it as being paid and doesn't send any emails out. I'd greatly apprecate it should you care to have a peek. but my apologies if I am expecting way too much here.
Thanks for your time Merlinpa1969.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Sorry to add something after I've already posted.
You'll notice the time function for the unique order number sent to e-Path. This works well because I've called it back in order.php so it emails the e-Path unique receipt number underneath the ZC order number - the merchant can see exactly what payment relates to what order.
But you are right, the cart is sending to e-Path its return address as
/index.php?main_page=checkout_process for some reason. :shocking:
Thanx
-
Re: Remotely Hosted Payment Page - Possible?!?!
/index.php?main_page=checkout_process
is the correct path for checkout process..
the only thing I could see right off the top of my head is 1.
you missed a the -> fields in the zone statements....
2. why did you add the .php to the end of the action path?
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
E-Path are being helpful but they are keen to get two demo examples of the zen cart happeneing (one raw and one custom) so the pressure on me is pretty insane
Get them to code it. Payment Processing companies are always looking to get someone else to do their work for them - Pay Pal are favourites for doing this sort of thing.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Thank you Merlinpa1969 and Vger for your replies.
Merlinpa1969,
1. Zones are not applicable cause the payment page is not charging the card in any currency, its merely obtaining authorisation from the card holder so the merchant can do this later through their merchant account, and the currency will be whatever the the cart says I guess.
2. The php is the file name. It ends up like this....
https://e-path.com.au/demo/xxx/xxx.php?
where xxx=MODULE_PAYMENT_EPATH_ID. E-Path makes a directory for each new merchant and its the same name as their unique payment page, hence MODULE_PAYMENT_EPATH_ID being mentioned twice in the action path of the module I sent you.
Hey Vger,
They don't know much about carts Vger. It should be an easy set up, here is a snip of their brief to me....
Quote:
As far as the actual cart communicating to your e-Path payment page, you simply need to have the cart send the following field names with values to your payment page...
ord = A unique order number
for = What the customer is buying or the merchants official name
amt = The amount the customer is paying
ret = A return URL which will be provided by the cart. This enables the customer to return to the cart so the cart closes off the order.
If you think it sounds too simple, well, that's because it just is. There is nothing more, no response codes, no further action from e-Path, nothing.
I've actually got everything working fine as you can see from the demo, but ZC just can't read its own return URL to close off the order - the customer's cart is still full and no emails are sent out.
So you can see the brief suggests a coders dream, or at least it should be. But its starting to look like zencart can not send to a remotely hosted manual gateway payment page. Maybe the ZC logic requires the complexities that only come with real time gateways and their responses. I have no idea. Perhaps that's something for a future version of ZC - the ability to send to a remotely hosted payment page. I know all the other carts do, that OSCommerce demo on that same page (http://thefruitboxshop.com/shopping_carts.html) doesn't have a problem.
But thank you to all who have looked at it. I have to break the news to e-Path which means they'll take ZC off their site - I am not looking forward to doing that I can tell you. I appreciate everyone's help very much.
Thanx :down:
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
But its starting to look like zencart can not send to a remotely hosted manual gateway payment page. Maybe the ZC logic requires the complexities that only come with real time gateways and their responses.
If Zen Cart couldn't do that then the old Pay Pal module (non IPN) would not have worked with Zen Cart.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Yes I agree, it does seem weird. Maybe there is PayPal logic actually built into ZC that means the only remotely hosted payment solution that can work with ZC is PayPal. I really don't know. But that's the only possible scenario left.
Zen Cart is a brillant cart and if they built it to be able to do remotely hosted payment solutions like OSCommerce does then they'd be on a winner for sure. That's for future updates I guess, but its something we can all look forward to.
Thanx.
-
Re: Remotely Hosted Payment Page - Possible?!?!
There's no magic involved here. Either:
1. The module you are using is too out of date
2. Or else the problem is at the payment processor end of things.
3. Or the problem is with your site setup.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
No there is no code embedded in zen cart that only paypal will work.
the issue seems to be the lack of a return string from the payment processor..
this NEEDS to happen....
Zen needs to know that this was approved zen needs to know the session id
-
Re: Remotely Hosted Payment Page - Possible?!?!
Thanks again Vger and Merlinpa1969 for your replies.
Hi Vger,
"1. The module you are using is too out of date"
I have posted it and nobody can identify anything that is out of date with it.
2. Or else the problem is at the payment processor end of things.
They do nothing, the return URL sent by ZC is the one that returns the customer.
3. Or the problem is with your site setup. Possible. e-Path have been through quite a number of fresh installs for me.
Hi Merlinpa1969,
I'm not quite sure if anything special is needed to be done here. With OSCommerce the returning URL the cart sends e-Path returns the customer correctly to OSCommerce and it deals with it as an order paid. Why would ZC be completely different? My own lack of experience is showing here.
E-Path have given me permission to post the full module here in case anyone wants to test it on their ZC. Its working and will send your customer off to the demo payment page, so make as many "payments" as you like. I would not be at all surprised if the thing works perfectly on your install of ZC, in which case its got to be e-Path's installs that are the problem.
I really can't believe ZC can't send to this remotely hosted payment page properly, its very simple. There must be a reason why its not reading the activity as paid.
Dang, can't seem to attach the zip file
-
Re: Remotely Hosted Payment Page - Possible?!?!
Trying to attach zip file again....
-
Re: Remotely Hosted Payment Page - Possible?!?!
Nope, it wont show my zip file. Gawd this is frustrating
-
Re: Remotely Hosted Payment Page - Possible?!?!
-
Re: Remotely Hosted Payment Page - Possible?!?!
My email is peterston AT bigpond DOT com if you'd like to test this module out. Can't attach it for some reason.
Thanx
-
Re: Remotely Hosted Payment Page - Possible?!?!
I told you to send me the entire module earlier and I gave you my email address.
-
Re: Remotely Hosted Payment Page - Possible?!?!
-
Re: Remotely Hosted Payment Page - Possible?!?!
The normal mode of operation is to send a zen cart session id to the payment processor along with the transaction, and when the customer is returned to your site the retun is made with the same session id so that the cart can recognise the order. If the payment procesor does not return the session id, or if they use a session id of their own, then the cart does not recognise the order - the customer is logged out upon their return - their basket is still full - no order confirmation emails get fired off - and the order is not entered into the database.
A generated order id could also be used to track the order, but which method of tracking is used depends upon how the payment module is set up.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Thanks Vger,
I wish Zencart could do what OSCommerce does with remotely hosted payment pages. That EXACT same remotely hosted payment page works perfectly being fed by OSCommerce. See it - http://thefruitboxshop.com/shopping_carts.html
And a little further down on that page is the zencart demo feeding to the SAME payment page. I just don't know enough about it to understand why OSCommerce recognises everything coming back but Zencart doesn't, especially considering they are both sending to exactly the same page. Totally beats me.
But don't take my word for it, try both carts for yourself on the demo page: http://thefruitboxshop.com/shopping_carts.html and remember that you'll be seeing the exact same e-Path payment page when you checkout from both carts.
One works with remotely hosted payment pages, the other doesn't. I'm trying damn hard to come to a different conclusion but its not looking good for Zencart at this stage. I'm still working on it though.
Thanx Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
zen cart can do everything that osc can do.
and actually alot more.
can you send me the files for OSC.
lets see what is missing from the files you sent me
-
Re: Remotely Hosted Payment Page - Possible?!?!
There is no official 'contribution' for osCommerce for this module - so I don't know where it's coming from - unless it's listed under another name.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Its USA epay
I will know more once I can get the OSC site to do anything but puke and die
-
Re: Remotely Hosted Payment Page - Possible?!?!
Thankx heaps Merlinpa1969,
Sending the OSCommerce ones right now. Did you install the zen ones? Did you get the same probs?
thanx
-
Re: Remotely Hosted Payment Page - Possible?!?!
No I didnt install them,
and I think I would bypass changing core code in the future
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
I will know more once I can get the OSC site to do anything but puke and die
Yes, the osC forums have been screwed for several days now. Time for another server upgrade by the looks of things.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
well I got into the osc downloads, and even though the links are there the modules are not
-
Re: Remotely Hosted Payment Page - Possible?!?!
oops, I was looking for epay,
-
Re: Remotely Hosted Payment Page - Possible?!?!
You need to figure out how to remove the ?ord= from the return url.
this is whats breaking it.
If you test it and come back to the site and then remove the ord= from the url it works just fine
-
Re: Remotely Hosted Payment Page - Possible?!?!
I did the OSCommerce ones a while back. But I can't take credit for them because they are from bits and pieces of others. Bloody hundreds of attempts but I'm pleased with the final one, haven't had cause to improve on it since. But its only a super basic thing as e-Path doesn't actually do anything, they just take the fields and return customer cleanly to whatever the return address the cart sends it. Hardly difficult stuff.
I do know e-Path have just under 140 merchants with OSCommerce carts using my module right now and so far not one bad feedback. So I'm pretty safe to get it up to OSCommerce.
This is one of the reasons why I'm keen to get Zen working, e-Path religiously point everyone to OSCommerce, bout time they woke up and smelled the coffee, which they are doing with their demo site I guess - and kudos to them, not many gateways get their hands dirty with grass roots stuff like that. But the very bottom line is the thing obviously needs to work. Talk about frustration.
I might get e-Path to do another fresh install. Can't help but feel its not the modules fault (I could be wrong of course)
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
Products
------------------------------------------------------
1 x Test 3 (TEST3) = $75.00
Color Green
Media Type DVD
------------------------------------------------------
Sub-Total: $75.00
Flat Rate (Best Way): $5.00
Total: $80.00
Delivery Address
------------------------------------------------------
Merlin Pendragon
12345 dragons heart way
york, PA 17402
United States
Billing Address
------------------------------------------------------
Merlin Pendragon
12345 dragons heart way
york, PA 17402
United States
Payment Method
------------------------------------------------------
CREDIT CARD - E-PATH
-----
It is a problem with epath adding the order number to the end of the URL.
unless that gets removed this will never work for Zen.... Unless you can possible strip off the extra crap at the end
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
You need to figure out how to remove the ?ord= from the return url.
this is whats breaking it.
If you test it and come back to the site and then remove the ord= from the url it works just fine
BLOODY HELL!!!! This is a HUGE discovery. Well done man.
I would not have picked that cause OSCommerce doesn't appear to be bothered with having the ord value in the string.
I need to get the ord value into that returning URL somehow, because the cart needs to send it off in the emails, otherwise the merchant won't know what authourisation is for what order. I'll have a play. Well done Merlin, you da man!!
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
If you use &ord rather than ?ord it will pass the order.
You will want to figure out how to add the $ord to the order table then it can be displayed on the email.
But it has to have something to display. looks like you missed an addition the the DB insert in the origional checkout_process.php file from OSC
-
Re: Remotely Hosted Payment Page - Possible?!?!
and your right osc dosnt mind the ? but that will cause confusion since zen carts links already have ? in them
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
looks like you missed an addition the the DB insert in the origional checkout_process.php file from OSC
You mean to get the e-Path order value into the DB? I didn't even think about that one. can you tell me where and how?
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hi Merlinpa1969 and Vger,
Just an update on trying to get ZC to handle the returning customer from a remotely hosted payment page the same as OSCommerce does, no luck I'm afraid.
There is no way to include the returning payment receipt number in the string from the remotely hosted payment page and have zen treat the order as complete.
I hope this will be addressed in some future version of Zen because OSCommerce seems to have a clear advantage here - as much as I hate to admit it.
But thanks for your feedback and help.
Thanx
-
Re: Remotely Hosted Payment Page - Possible?!?!
I doubt that zen cart is going to totally redesign the cart from the center out so that your module can add ?ord=
you can strip the ?ord= off of the return url. and this will let the otders complete.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Merlinpa1969,
If the ord field does not come back holding the unique receipt number - which is included in the order emails to the admin, then admin will never know what payment is for what order.
It is my understanding that ZC can not include the actual order number to ANY remotely hosted payment page at checkout because it hasn't created it yet - hence the need for the time function in the module so ZC can send a unique order number to the remotely hosted payment page which it gets back to associate the order with the payment. So the admin gets this.....
The Fruit Box Shop - E-Path Demo
------------------------------------------------------
Order Number: 39
E-Path Receipt Number: 1150087904
Detailed Invoice: http://thefruitboxshop.com/oscommerc...php?order_id=9
Date Ordered: Monday 12 June, 2006
The admin then knows that e-Path's payment authourisation 1150087904 relates to order 39 (the above snippet taken from the OSCommerce order email)
Otherwise admin would get order confirmations and won't be able to figure out what payments are for what.
Either I'm missing something or this is how it is with ZC. I don't think its a matter of them having to rewrite everything. Its really only a matter of ZC needs an order number when you send to a remotely hosted payment page so it can be returned and dealt with by ZC as order completed. At the moment ZC can't do this, this is why I have ZC send a time stamp number which is cleanly sent back to it and recorded in the confirmation email. But, as you've pointed out, ZC can't do this.
Can you think of any other way? I can't and I've been on it non stop for the last 24 hours.
But I appreciate your continued thoughts on it.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Just because you need an order id returned to match up with order received it doesn't mean that the order id has to be in the url - which is the problem (as far as I can see). It only needs to be added to the order confirmation email which is generated upon return.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Well in your example the admin would get plenty of orders from Zen all saying the right stuff.
He'd then go to collect all this E-Path payemts and not one of them would have a corresponding order number, how is he/she going to know what payment authourisation belongs to what order?
Without that unique order number going to the remotely hosted payment page, which is also used to identify that payment, it all would be lost. And you can't really have two time functions creating a uniqe order because they would be created at slightly different times thereby both would be different.
I just can't see a solution.
-
Re: Remotely Hosted Payment Page - Possible?!?!
I told you how to be able to get it back to the site with the ord number attached
use & rather than ?
-
Re: Remotely Hosted Payment Page - Possible?!?!
I tried that before and no order numbr came through on the emails, but I've just asked e-Path to do it again and leave it there so you can see.
Just make one, and here is the order email that comes through...
------------------------------------------------------
Order Number: 5
E-Path Receipt Number:
Date Ordered: Thursday 15 June, 2006
Note no numbers for the E-Path Receipt Number.
Putting the "&" strips the ord=xxxxxxx from the string soere are no numbers for ZC to pick up and put in the email - nobody knows what payment is for what order. So putting the "&" is a no go I'm afraid.
Thanks for your thought though.
-
Re: Remotely Hosted Payment Page - Possible?!?!
The reason you can't see a solution is not our fault.
All that you need to do is to pass a field with the Order Id in to the payment processor (it can be a hidden field which does not appear in the html output nor get displayed on the payment form page), which then gets passed back to you unchanged. The Order Id is then added to the Order Confirmation email, but does not appear in the url.
Vger
Quote:
Originally Posted by jumbuck2
Well in your example the admin would get plenty of orders from Zen all saying the right stuff.
He'd then go to collect all this E-Path payemts and not one of them would have a corresponding order number, how is he/she going to know what payment authourisation belongs to what order?
Without that unique order number going to the remotely hosted payment page, which is also used to identify that payment, it all would be lost. And you can't really have two time functions creating a uniqe order because they would be created at slightly different times thereby both would be different.
I just can't see a solution.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Vger
The reason you can't see a solution is not our fault.
All that you need to do is to pass a field with the Order Id in to the payment processor (it can be a hidden field which does not appear in the html output nor get displayed on the payment form page), which then gets passed back to you unchanged. The Order Id is then added to the Order Confirmation email, but does not appear in the url.
Vger
Easier said than done. Here is my thought flow in attacking this....
ZC does not create a unique order number that can be sent to a remotely hosted payment page. It is my understanding the order number is created after this point.
Now, the remotely hosted payment gateway (all of them not just e-Path) needs to know what order it is accepting payment for, so it can tell the merchant, quite apart from ZC. This is a pretty basic thing.
OK. because ZC can't give that order a unique number at the time when the person clicks "check out" I make ZC create a unique order number with the time function (contained within the payment module). This means that a particular number can then be a ZC number assigned to that order and it will go to the gateway so the gateway has a number to quote to its merchant in its own advice.
OK, so far so good. The last step is to ensure this same unique order number gets included in ZC order confirmation emails.
Bottom line is there needs to be a single number that goes to the remotely hosted payment page that also must appear in the order confirmation email so the merchant knows what payment is for what order, or visa versa.
This is my line of thinking, please correct me if I am wrong here.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
Vger presented you with the solution,
have epath pass the number back as a hidden variable, then you dont have to worry about it not returning to checkout_process and it will then be readable by the code you are installing.....
and for the record paypal passes the order number 1 on every order.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hi Merlinpa1969,
Understand however the e-Path receipt page that passes the customer back is not a form function, its a straight link so I can't use hidden variables.
-
Re: Remotely Hosted Payment Page - Possible?!?!
You need to look at some other payment modules, which assign a unique order id based on a random number generation code in the payment module itself - which then gets passed to the payment processor, returned to the website, inserted into the database and into the order confirmation email. At no time does it appear in the url e.g.
Code:
//Generation of the order_id
srand ((float) microtime() * 10000000);
$r1 = rand(100,999);
$t1 = date("yz-his");
$sequence = "Company Name order $t1";
$ordernum = $t1;
if (!empty($_POST['OrderId'])) $ordernum=$_POST['OrderId'];
This is from an HSBC e-Secure Payment Module.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Just had a form function installed on the e-Path receipt action is the returning address as supplied by ZC and the hidden variable containing the order number
POST = ZC closed off the order OK but number not passed to confirmation email.
GET = ZC fails to close off the order.
I've tried the code above as well as quite a few other varieties and methods from other modules but with no luck.
-
Re: Remotely Hosted Payment Page - Possible?!?!
I should qualify my last sentence. No luck meaning getting it included in the ZC confirmation email. Generating a unique number in the payment module is simple but getting that same number in the ZC confirmation email is not possible from what I can see.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Did you actually edit the order confirmation email to echo the $order_num variable?
Vger
Quote:
Originally Posted by jumbuck2
I should qualify my last sentence. No luck meaning getting it included in the ZC confirmation email. Generating a unique number in the payment module is simple but getting that same number in the ZC confirmation email is not possible from what I can see.
-
Re: Remotely Hosted Payment Page - Possible?!?!
I'm looking for a slight variation of the Remotely Hosted Payment Page, basically manually processed credit cards on a remote secure service.
Just like cheques and COD, I don't need the payment page to report back that a payment has been successful or not, just that payment is pending.
But I do want to pass the cart total, order number, etc, to my secure server (like the Paypal page does).
The OfflinePayment module doesn't link through to the remote site. Any suggestions?
Regards,
Ian Tresman
-
Re: Remotely Hosted Payment Page - Possible?!?!
Once again the order MUST be returned to the cart to trigger the order creation.
The return url to checkout_process trigers a successsful order Just like cod or MO or stock credit card.
a return to checkout_payment means something failed and needs to trigger a response.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
Once again the order MUST be returned to the cart to trigger the order creation.
The return url to checkout_process trigers a successsful order Just like cod or MO or stock credit card.
a return to checkout_payment means something failed and needs to trigger a response.
OK, I think I can get my remotely hosted payment page to return to the appropriate page. I assume that the Cheque payment option does this in one step.
Is a module available that will let me pass the customer's order details to my remote server?
Regards,
Ian Tresman
-
Re: Remotely Hosted Payment Page - Possible?!?!
yes check money order. CC and COD all pass this information to checkout process then trigger checkout success
I dont know who your processor is,
there might be a module, but as others have found out mods for other carts dont always work, and even the ones that do require lots of work
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
yes check money order. CC and COD all pass this information to checkout process then trigger checkout success
I dont know who your processor is,
there might be a module, but as others have found out mods for other carts dont always work, and even the ones that do require lots of work
I'm using my own custom remote hosting process. So just like Paypal, I need to know how to pass inrformation from the Zen Cart to my form on the remote site. And then how to pass back a success or fail.
Regards,
Ian Tresman
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hi Vger,
Quote:
Originally Posted by Vger
Did you actually edit the order confirmation email to echo the $order_num variable?
Vger
Yes, in order.php.....
"E-Path Receipt Number: <? echo $ord ?>\n" .
But the result is.....
------------------------------------------------------
Order Number: 7
E-Path Receipt Number:
Date Ordered: Thursday 15 June, 2006
Detailed Invoice:
http://thefruitboxshop.com/zencart1/...nfo&order_id=7
(Keep in mind "E-Path Receipt Number: $ord\n" . works brilliantly in OSCommerce when added to checkout_process.php)
Maybe the order.php is the wrong file to add it to in ZC, However order.php in ZC carries all the data sent to the emails, just as checkout_process does in OSCommerce.
So the hidden "ord" variable within the form action on the e-Path receipt page that sends customer back to ZC is not being picked up by ZC. Putting the unique order number in a hidden variable I don't think is the answer.
Its weird, I just need one value passed back to ZC where it won't break it from closing off the order normally but its not looking like there is a solution.
Thanks Vger for your further interest.
-
Re: Remotely Hosted Payment Page - Possible?!?!
where is $ord defined....
this variable needs to be defined to display anything
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
where is $ord defined....
this variable needs to be defined to display anything
Firstly in the payment module to create it.....
$process_button_string = zen_draw_hidden_field('ord', time()) .
then in oreder.php to get it back and it into the confirmation emails....
"E-Path Receipt Number: $ord\n" .
Or, to try and pull it from coming back when its in a hidden variable...
"E-Path Receipt Number: <? echo $ord ?>\n" .
Neither does the trick.
Thanks Merlinpa1969 for staying with me this on this one. I really do appreciate your input, same with Vger.
-
Re: Remotely Hosted Payment Page - Possible?!?!
try this
$this->order['ord'];
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
try this
$this->order['ord'];
Thanks for the suggestion...
No luck.
This to order.php...
"E-Path Receipt Number: $this->order['ord']\n" .
gives this in the confirmation email....
------------------------------------------------------
Order Number: 9
E-Path Receipt Number: ['ord']
Date Ordered: Thursday 15 June, 2006
Detailed Invoice:
http://thefruitboxshop.com/zencart1/...nfo&order_id=9
Also tried it this way...
"E-Path Receipt Number:" . $this->order['ord'] . "\n" .
No luck.
Could it be order.php is the wrong file to add this to? But order does what checkout_process.php does in OSCommerce regards formating the confirmation email so order.php should be the right one I would image. However, order.php is simply not reading the returned "ord" value no matter what I seem to do.
Thanks . . . yet again.
-
Re: Remotely Hosted Payment Page - Possible?!?!
echo ($this->order['ord'])
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
echo ($this->order['ord'])
That change to order.php produces....
------------------------------------------------------
Order Number: 11
E-Path Receipt Number: echo (['ord'])
Date Ordered: Thursday 15 June, 2006
Detailed Invoice:
http://thefruitboxshop.com/zencart1/...fo&order_id=11
So no luck on that one.
-
Re: Remotely Hosted Payment Page - Possible?!?!
I should sleep more
try this
$order->info['ord']
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Merlinpa1969
I should sleep more
try this
$order->info['ord']
No luck, this one produces...
------------------------------------------------------
Order Number: 14
E-Path Receipt Number: ['ord']
Date Ordered: Thursday 15 June, 2006
Detailed Invoice:
http://thefruitboxshop.com/zencart1/...fo&order_id=14
This is getting kinda funny, do u think I've stumbled onto a problem - ZC not being able to read any values coming back from a remotely hosted payment gateway? I can't quite understand why I'm having so mach problem with this. And the fact that you have been kind enough to stay with me on this for so long and yet we are still not having any luck is weird.
-
Re: Remotely Hosted Payment Page - Possible?!?!
No the values coming back can be read,
there are several that do....
its coming back, just not coming back correctly is my guess,
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hi Merlin,
I hear what you say but there are only so many ways to send a value back to another page.
I've tried adding it to the string which works perfectly for OSCommerce but sith ZC it brakes the string resulting in the the order not closing off.
I've tried sending it back as a hidden variable but again ZC can't read hidden variables because its not appearing in the order confirmation email - just blank or the acutal code as detailed in my posts before.
There MUST be some way to get ZC to read a value coming back to it from a gateway page. I would imagine this would have been a real basic thing, But its got me stumped why ZC can't do it.
Thanks.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Once again quit blamning ZEN....
zen can read the variables coming back if they are presented correctly...
Paypal works ( when set up correctly )
every other payment gateway works. tyeh ALL send information somewhere else and get it back ( real time pay mods )
-
Re: Remotely Hosted Payment Page - Possible?!?!
I am presenting it correctly to Zen. Its not really rocket science here. A value is coming back from a gateway page and Zen is failing to read it. I have weeks and weeks of trying different things together with your kind help and the help from Vger but, even with this expert assistance of "Zenners" here it makes no difference.
Blaming how the info comes to Zen is a cop out. I'll send it back to Zen in anyway you tell me, or anyone tells me, which you have, and which other people have too. And each time I done exactly as suggested which has covered numerous methods but still Zen won't read it.
As much as this loathes me to say this, Zen doesn't do it. Zen can't do it like OSCommerce can - you will perhaps disagree but the fact is this is the evidence we have in front of us after all our combined skills and knowledge have been applied to trying to get Zen to read a simple value being returned from a remotely hosted gateway solution. The bottom line is its not happening.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
I have this gut feeling it should be checkout_process.php I need to be looking at to accept the returned value and not order.php, even though order.php formats the confirmation email which is where I want that value to appear.
I just don't know anymore, no options left.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Before I quit and throw in the towel on ZC. Let me revisit what we know to date with this exercise...
1. We know the payment module works and is sending the remotely hosted payment solution a unique order number created by Zen from the payment module code.
2. We know the remotely hosted payment gateway is cleanly returning this order number value back to Zen.
3. We know OSCommerce handles it perfectly. We know Zen doesn't.
OK, so lets look at whats different between OSC and Zen at the final stage - and here I think rests the problem.
OSC receives everything back from a remotely hosted payment gateway with checkout_process.php. This file itself also formats the order confirmation email. So, being the receiving file it will naturally be able to read and slot in the unique order number value being returned to it from the gateway. Which it does and the order confirmation emails go out with the correct unique order numbers as passed back to it from the gateway. All is sweet.
Now, like OSC, Zen receives everything back from the remotely hosted payment gateway through checkout_process.php. BUT the confirmation email is formatted by order.php. This is another file.
This makes me think that maybe Zen's checkout_process.php is actually successfully reading the returned value (just as OSC does) but because the email is formatted by aother php file, it is not being passed from checkout_process.php to order.php.
In my mind thia would explain it. Zen's order.php does not actually have that value passed to it so how would it know what $ord means when formatting the confirmation email.
I'm going to try and work out how to capture the value in order_process.php and have it sent or recognised by order.php. This is my train of thought at the moment, please get back to me if you think I'm off the rails.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
I forwarded your files on to someone to take a look at em,
-
Re: Remotely Hosted Payment Page - Possible?!?!
Just a quick update.....
Zen's checkout_process.php is correctly reading the value being sent it from the remotely hosted gateway (just like OSC's)
So the task at hand is when checkout_process.php activates order.php to send out the confirmation emails, what code snippet do I add to checkout_process.php so it can be read by order.php - the same way checkout_process.php is reading the $ord value that is being sent to it from the remotely hosted gateway.
If anyone can suggest anything I would be eternally grateful.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
What would be very useful, is a "bare bones" remoting payment module. since the available documentation is quite scant. I'd like to see a Paypal-like module with as much of the functionality removed as possible, ie. a "minimum code" module with the following features:
BARE BONES
1. Ability to pass cart details to a remote URL, and to receive a response.
2. Option to install/remove module
3. Ability to define the remote URL.
NICE EXTRAS
4. Ability to select which available cart information to pass.
5. Option to choose GET/POST
6. Ability to map the cart information to the customer form names for the remote processor. eg. my remote processor may require the customer's name to be called $realname
And of course a bit of documentation in the module to explain what's going on.
Regards,
Ian Tresman
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
What would be very useful, is a "bare bones" remoting payment module
Please feel free to write one. And once you've done it post the info here, as I'm sure others would be interested to have it.
Vger
-
Re: Remotely Hosted Payment Page - Possible?!?!
Update
It is deffinatly checkout_process.php that needs to let order.php know this unique value.
checkout_process.php reads the value being passed to it from the gateway and I've been working on adding code to it to make that same value available to order.php so it includes it in the confimration email.
However, the strange thing is order.php is called from within checkout_process.php so I can't really create a session wthin checkout_process.php.
Any ideas anyone??
-
Re: Remotely Hosted Payment Page - Possible?!?!
Quote:
Originally Posted by Vger
Please feel free to write one. And once you've done it post the info here, as I'm sure others would be interested to have it.
Vger
I would love to, but the documentation is rather sparse.
Regards,
Ian Tresman
-
Re: Remotely Hosted Payment Page - Possible?!?!
Well after quite a while and with the kind input of Merlinpa1969 and Vger, we are not able to get Zen to read a simple value being passed back to it by a remotely hosted gateway and put it on the order confirmation emails.
From my previous posts you will see the result of all attempts, most have been per the kind suggestions from the above two "zenners".
I narrowed it down to one area:
order.php is unable to read the a value being passed back to it and therefore is unable to add it to the confirmation emails.
I'm heading over to the "suggestion" section because its a pretty basic function. OSCommerce does it without a problem - and this is something I don't like admitting very easily.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
-
Re: Remotely Hosted Payment Page - Possible?!?!
Who and where is DrByte???
-
Re: Remotely Hosted Payment Page - Possible?!?!
DrByte is a dev here.
he willbe your best help on this
do a member search he is easy to find
-
Re: Remotely Hosted Payment Page - Possible?!?!
I've PM'd DrByte, hope this is the appropriate thing to do. He must get hammered with mundane requests. At least he'll see that no stone has been left unturned in our quest here.
Thanks Merlinpa1969
-
1 Attachment(s)
Re: Remotely Hosted Payment Page - Possible?!?!
This is not a problem in Zen Cart. The problem is with missing logic in the payment module.
PHP Code:
function before_process() {
return false;
}
should be
PHP Code:
function before_process() {
global $messageStack, $order;
if (!isset($_POST['ord']) || $_POST['ord'] == '') {
$messageStack->add_session('checkout_payment', MODULE_PAYMENT_EPATH_ERROR, 'error');
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false));
}
$_SESSION['ord'] = $_POST['ord']; // this is just to keep it handy for other purposes ... it's not really needed
$order->info['comments'] .= sprintf(MODULE_PAYMENT_EPATH_RECEIPT_NUMBER_TEXT, $_POST['ord']);
return $_POST['ord'];
}
There are a couple other errors in the code you had sent to Merlin. I'm attaching the updated files for your convenience.
-
Re: Remotely Hosted Payment Page - Possible?!?!
What can I say.
It works perferctly and e-Path have approved it as the offical module for Zencart for the e-Path payment gateway.
They have given you a nice mention and published an extra link to these forums I think.....
http://thefruitboxshop.com/shopping_carts.html
Thank you oh great one.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Actually, they requested some minor alterations to the module which I have completed before they signed off on it being the officially approved one for e-Path (as far as they are concerned). But the fact remains it would not have happened had it not been for the great DrByte.
Thanks
-
Re: Remotely Hosted Payment Page - Possible?!?!
Cool.
Perhaps you might convince them to correct their links, etc:
- the correct URL is zen-cart.com (note the hyphen)
- Zen Cart is formally spelled as two words, both capitalized, not Zencart
Glad to be of help.
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hi Dr Byte,
Advised them and they did it straight away.
Please check all is correct - http://thefruitboxshop.com/shopping_carts.html
Thanks Dr Byte
-
Re: Remotely Hosted Payment Page - Possible?!?!
It's pretty close. Thanks for letting them know.
-
Re: Remotely Hosted Payment Page - Possible?!?!
I see it, in the acknowledgment, they didn't change that one. I'll let them know.
Bye
-
Re: Remotely Hosted Payment Page - Possible?!?!
Cool - Thanks.
Have they tested to be sure nobody can spoof an order? ie: start an order, go for authorization, but then fake-out the return process to make it look like the return was successful even if it wasn't?
-
Re: Remotely Hosted Payment Page - Possible?!?!
Hi Dr Byte,
E-Path is a manual gateway so there is no success or failure responses. The merchant receives the order and then can check it (approve it or otherwise) before he/she charges the credit card.
As you know with a real time gateway the merchant doesn't have a chance to approve the order before the credit card is charged. The merchant's merchant account is open to anyone anywhere to enter any number they like. So spoofing is a real concern.
But with e-Path (as well as the cc capture in ZEN) you have that extra layer of security in that you can check the order first. If something doesn't look right the card just doesn't get charged. Perhaps the merchant can follow up with an email contact or phone to confirm things - something you can't do with a real time gateway before the card is charged. This is what I do. Its completely eliminated fake transactions for me and not having to deal with charge backs later is a blessing.
Having gone from PayPal to a real time gateway then to e-Path I've done the rounds myself and as far as I am concerned the manual way is bloody awesome. However, if other people are reading this then I should say it is not for everyone. If you do large numbers of transactions then you will surely get tired of having to charge the card yourself. You will appreciate the automation that a real time gateway offers. But then again real time gateways comes at a cost, i.e. will cost you a lot more and you don't have any control before the card is charged.
The feedback I've got from e-Path is that they are happy with the module. I had tried to further modify it so the display of the e-Path receipt number appeared under the name of the gateway in the order confirmation email, i.e., simply trying to tie it into the 'payment' display and not the 'comment' display, but didn't have much luck.
I know they are very interested in having the e-Path payment gateway option as a standard option in future Zen Carts but they can take this up with you themselves.
Thanks again Dr Byte.
P.S. And they are pretty full on into promoting Zen and OSCommerce on their main site now (http://e-path.com.au). They have the Zen logo in a graphic and mention it numerous times as "one of the worlds best shopping carts". Its great Zen is getting this type of direct support/promotion from a payment gateway.
-
Re: Remotely Hosted Payment Page - Possible?!?!