3D-Secure Payment Passthrough

Project: 
Ubercart
Category: 
feature request
Priority: 
normal
Status: 
closed

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... Sticking out tongue).

As a point of note, International Maestro cards now requires 3D-Secure. It seems to be the way of the future.

AttachmentSize
Ubercart_RC5_passthrough_patch.diff1.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. Smiling

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. Laughing out loud