Postponed (maintainer needs more info)
Project:
Authorize.net Advanced (CIM) Payment Gateway
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
15 Oct 2010 at 14:03 UTC
Updated:
13 May 2012 at 21:00 UTC
Comments
Comment #1
sansui commentedHow about creating a new default option in the stored credit card profiles for "No Card", which would bypass the credit card creation form from being entered unless the admin specifically used the new credit card option?
Comment #2
sansui commentedI hacked out a workaround myself -
In uc_cim.module on line 1137 I changed it so that the cc form only gets processed if CIM payment method is selected.
else {to
elseif($arg1['payment_method'] == 'cim') {On line 867 and after, I removed the check for "if($existing_cards_form)" so that the required value would be removed from the form elements for the new CC field
On line 1115, where it says "//Add the required tag", I commented this if section out
Lastly, I wanted to make sure some of the billing address fields were filled out, so under the section where I changed the else to elseif, I added some extra validation like so, for each form value I wanted checked:
Now I can use both check and CIM payment methods without issue. Make sure to keep your payment methods pane enabled, since the instructions in the readme indicate to disable it. If anyone else needs to do the same and needs some help getting it working, just let me know. I'm not sure this is the best hack/workaround, but we *really* needed it, and it seems to work very well for us.
Comment #3
sansui commentedHrmm, well not quite perfect. The "bill to" pane seems to get overwritten still by the CIM module, so if I put in an address to bill to and checkout with check, it comes back blank because it's expecting to be filled in by the CIM profile, which does not exist. Will try and tweak that
Comment #4
sansui commentedWhat I'm seeing is that the uc_cim module is duplicating the billing address form in Ubercart completely. This includes using the exact same form name as the bill to address pane.... which results of course in those values being used instead of the ones that were set.
I don't think I can fix this :( Hopefully someone else with the skills will come along and modify this some day. Still can't believe more people don't use this module, considering core UC has terrible CIM implementation and this is the only thing even close to working.
Comment #5
entrigan commented:( I know what you mean. It is somewhat surprising this module does not receive more love, but I suppose there are not that many people using Drupal > Ubercart > Authorize.net > CIM. Either way , hopefully we can get this module back to health and useful again!
Comment #6
torgospizzaI will revisit this soon, though I'm not sure what this use case is exactly. Isn't the point of CIM to not use other payment methods? Can you use the Check payment method for those users?
Comment #7
hozt commentedIf you have multiple payment enabled and try to edit an existing order or manually add a new order through the "create order" menu and try to use a payment method other than CIM this problem will show up.
I would think it is common for you to be able to use CIM with other methods, specifically paypal.
Comment #8
torgospizzaIIRC isn't this an issue with the way the form behaves in the order screen? I feel like I've read this somewhere else other than this thread.. hmm.
Comment #9
sansui commentedNot sure, Torgos. I ended up creating a small javascript workaround that removed the CIM CC forms when any method other than CIM was selected, so that the billing forms still worked.
Comment #10
torgospizzaYep, that's what I thought. It's like the CC pane for CIM takes over the entire form and that screws up the payment method.
Sorry for hijacking the thread. I'd love to find a permanent solution to that.. the JS workaround sounds like a step in the right direction but probably wouldn't work for everyone. If you have a suggestion for patching the non-JS code, let me know, and I'd be happy to test and apply it.
Comment #11
hozt commentedHas anyone come up with a solution for this yet?
@Sansui, any chance you could share you javascript workaround?
Comment #12
drjonez commentedSubscribing.
Comment #13
jordotech commentedI've accomplished this for my store using a little javascript so modify the form elements based on which payment method is chosen. You have to have the billing info pane enabled for order edit screens as well as the cim pane for this to work.
The js appends '_disabled' to each form element based on which payment method is chosen.
here is the relevant js:
http://pastebin.com/K5hpqLps
Hope this helps!