--
Cody Fauser
http://shopify.com - e-commerce done right
http://www.codyfauser.com - blog
http://peepcode.com/products/activemerchant-pdf - ActiveMerchant PeepCode
http://www.oreilly.com/catalog/rjsrails - RJS Templates for Rails
Possibly why he wants to move to Protx...
Anyway, his question was on 3D secure. The basic idea is that after
what looks like a normal request to process a card, instead of getting a
success/fail you actually get a redirect response. You redirect to that
new site which does some additional authentication and finally arrive
back on your site again.
Clearly not to hard to customise as a one off to handle Protx or
whatever, but the question is whether AM will evolve to handle this
within the API? I guess it blurs the boundaries between the integration
and payment type gateways? To a large extent we seem to be moving
towards a bit of both kind of situation?
Ed W
The buyer is then redirected to the 3D Secure website and logs into
their account. 3D Secure website then returns the buyer back to the
checkout with the information from the bank like the CAVV, etc.
Finally the normal purchase() or authorize() method is called with the
additional 3D secure data returned from the bank.
PayPal Payflow Pro seems to have a great implementation:
https://www.paypal.com/en_US/pdf/PayflowPro_FPS_Guide.pdf, but it
seems some services like Protx try to make the entire process more
"simple" and as a result make it harder to abstract a generic
solution.
It think the best way to get started would be to implement Payflow Pro
as a reference because they have great documentation, a good
implementation and a good test environment. Then we can try and
shoehorn the other gateways into that.
--
I'm going to bow to your experience having not studied the Paypal
gateway, but I *think* one of us misunderstands the protx flow (no
disrespect intended - it's probably me!)
My understanding of the protx "direct" process is that you
a) collect the CC details from the customer
b) post them directly to Protx which decides if the transaction is good,
if the customer is enrolled in 3D and if you setup the rules to do so
decides to continue with a 3D auth. It might return you success/fail at
this stage, but otherwise returns you a URL to redirect the customer to
and a unique ref code, plus a security hash
c) you redirect the customer to the banks 3D page + the magic extra
digits and also the return URL
d) bank redirects the *customer* back to your URL (no direct auth from
the bank - question: what happens if the auth is successful but the
redirect back fails?)
e) App then posts back to Protx for final verification of the results
from the 3D secure and the results of that post are basically as per b)
above in the case of no 3D requirement, ie c)-e) are the 3D callout process
In contrast they also offer Protx "server" option which is a halfway
house (and attractive to me). Here they basically offer to run steps
a)-e) above for you and let you know the results - they give you a
reference to the transaction to then issue repeats/voids, etc. This
seems very attractive because the site *doesn't* need to be PCI
compliant to use this process (cool)
The process flow here is:
a) direct post to Protx to setup the transaction, result is a URL to
redirect to
b) redirect customer to protx which does all the heavy lifting on
templated pages of your choice (make it look like your site, etc), and
finally directly posts the result (success/fail, etc) back to the URL of
your choice
c) you answer the post with some info including the URL you want the
customer redirected to
d) Protx redirects the customer back to your site via the URL in c)
The point of describing the above is that I would like to implement this
in AM. Can you offer an opinion if this is best done as an integration
or as per Protx "direct"?
Curiously if you use the method above, you can still use Protx "Direct"
for all the advanced stuff like repeat transactions, voids, etc.
Basically they are just letting you outsource the CC collection screens
Grateful for your thoughts
Ed W