This is a little patch required for 3D-Secure payments to be possible in payment gateways. I think this could be added to core without breaking any functionality.
To summarise, it allows a payment gateway that works alongside uc_credit.module to set a return variable for the calling uc_payment_process() function such that the user can be redirected to a page where a secondary authorization transaction (3-D Secure) can take place.
I'm requesting this be considered with a view to adding to core because as far as I can see it would be otherwise impossible to do this kind of transaction without some kind of hack (and I've just written a payment gateway module that requires it...
).
As a point of note, International Maestro cards now requires 3D-Secure. It seems to be the way of the future.
| Attachment | Size |
|---|---|
| Ubercart_RC5_passthrough_patch.diff | 1.1 KB |



Re: 3D-Secure Payment Passthrough
What would happen if the 3D secure failed, though? Would you not lose the CC details to try and charge it again?
Re: Re: 3D-Secure Payment Passthrough
No, it's handled by the payment gateway but mine redirects to cart/checkout and gives the default message about not being able to process the payment, and the cc details are still there.
Re: Re: Re: 3D-Secure Payment Passthrough
Hmm... I'm still not decided on this as a core patch... like the reference to $_SESSION['3dsecure']['redirect'] in the drupal_goto(). Is there no better way to return the redirect URL?
Re: Re: Re: Re: 3D-Secure Payment Passthrough
I'll have a think about it.
Re: Re: Re: Re: Re: 3D-Secure Payment Passthrough
It's very difficult because
uc_payment_process()returns a scalar. The alternative is that the payment gateway registers a passthrough redirect somehow, but this would seem to be complicated and would unnecessarily reduce runtime flexibility. How about if the redirect variable were simply named$_SESSION['uc_payment_passthrough']?Re: Re: Re: Re: Re: Re: 3D-Secure Payment Passthrough
Actually it seems this is not necessary at all. Mea culpa.
Re: Re: Re: Re: Re: Re: Re: 3D-Secure Payment Passthrough
Eh? You found another way around it? Do tell.
Re: Re: Re: Re: Re: Re: Re: Re: 3D-Secure Payment Passthrough
Erm... an embarrassingly obvious way. drupal_goto(). *shame*
Re: Re: Re: Re: Re: Re: Re: Re: Re: 3D-Secure Payment Passthroug
lol Alrighty, I'll mark this issue closed and forget about it for now.