Needs work
Project:
UC Sage Payments Gateway
Version:
7.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Reporter:
Created:
13 Jun 2013 at 21:59 UTC
Updated:
24 Mar 2016 at 18:07 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
SeanA commentedComment #2
strings6 commentedHello,
I also need this feature very badly! If you ever do add the ability to "Authorize Only" you will need to also consider Ubercart's "Process card" button. We need that to be able to capture the transaction later on, when it is initially just AuthOnly.
I'm not putting a very high probability on new features for a D7 module, but if you do add it, I think there are plenty of us that will be using D7 for awhile before all the D8 modules are ready to go. Or, perhaps someone in the community has already figured out how to edit the code to do all this? I was able to change the hardcoded 01 to an 02 to get that initial AuthOnly, but there is something else needed for the "Process card" button to work. When we click on that, it doesn't actually work. If anyone knows how, please contact me.
Thanks.
Comment #3
strings6 commentedHey, I got this working! There is a catch though... I added my code to the previous 1.1 version of the module. For some reason, we have not been able to make the 1.2 version work on our server with those new cURL additions. It seems to fail when validating part of it, even though our certs are that happy green color on our websites. I read that cURL is pretty picky. Anyway, I think my code should be helpful to others even though I added it to 1.1, so I'll submit it next week, hopefully Monday.
My code additions do the following:
1. In the settings you can choose between AuthOnly and AuthCapture.
2. If you choose AuthOnly, it will store the necessary reference number in Ubercart so that the "Process card" button can be used later.
3. If you choose AuthOnly, it will leave the order marked as Pending once the order is placed.
4. Once you use the "Process card" button, it changes the status to "Payment received" and updates Ubercart to show that the balance is 0.00.
Basically how the Authorize.net one works.
Check back next week if anyone is dying for the code. I wanna submit it the right way, as a patch file, and I have to get going home for the weekend now.
Comment #4
SeanA commentedOK! Thanks for working on this. I'll be sure to check it out when you upload your patch. I'm not sure why the cURL changes would cause any problems; the error message generated should give some clue about what's going on in the 1.2 version.
Comment #5
strings6 commentedGreetings,
Please see the attached patch to version 1.1.
I hope others find it helpful! I was able to develop this through my job at VoyageurWeb.
Thanks.
Comment #6
SeanA commentedThanks for posting your patch. It needs to be updated to work with the latest dev version, if I find time I'll work on it.
Comment #7
SeanA commentedNote that no one should be still using version 1.1 of this module, as it doesn't verify the authenticity of the remote host and leaves open a potential "man in the middle" attack on the transaction. If you can't get version 1.2 to work, then the solution is to fix the problem there, not fall back on a less secure version.
strings6, the SSL cert installed on your server actually has nothing to do with the cURL transaction. The cURL SSL verification options (CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST) are for verifying/authenticating the certificate on the remote host you are connecting to. If you'd like help fixing the problem on your setup, you can contact me directly or post a separate support request issue and we'll figure it out.
Comment #8
strings6 commentedHi SeanA,
I'll holler if I need your expertise regarding 1.2. We'll continue to look into it over the next week and it is certainly our goal to get to 1.2.
As for the purposes of this post, I hope you find something in my code helpful. So far, it's working like a charm for us.
Thanks.