Forum OpenACS Q&A: New Ecommerce and Payflow Link

Collapse
Posted by Hamilton Chua on
Hello,

I was just wondering if anybody has tried to customize the new
ecommerce module to work with Payflow Link.

I believe there's support for PayflowPro via a service contract.

Regards,

Collapse
Posted by Bart Teeuwisse on
I don't know of any work on Payflow Link. However, they way to integrate Payflow Link with the ecommerce module (or any other package) is to write an implementation of the payment service contract for Payflow Link.

You can take a look at the implementations for Authorize.net and Payflow Pro for examples how to create an implementation of the payment service contract.

Collapse
Posted by Hamilton Chua on

Hello Bart,

Thanks for responding so quickly.

I am already taking a peek at the service contract implementation for PayFlowpro.

I am also reading through the configuration guide and other docs from Payflow Link and I am finding that there may be major changes to the checkout process when using payflow link since the actual order form is hosted in Verisign's website.

Your Thoughts,

Collapse
Posted by Janine Ohmer on
I have not looked at Payflow Link but I agree with both of you - the thing to do is to write a service contract implementation, and it will be very different from the Payflow Pro module.

If they follow the usual model of taking your information via https and returning the answer back via a URL you specify, then your service contract implementation will have to split the Authorize functionality into two pieces - send off the request in the Authorize procedure and write a new Tcl script which gets the response and stores it in the database.  There won't be any way of returning a status directly from Authorize, unfortunately...

The existing contract could be modified to have Authorize always store the result in the database, and to never expect immediate responses, but then we lose backward compatability with sites that are using the service contract as it is now.

This is really a procedural issue as much as anything else - is it better to make a major change to an existing service contract, or to write a second service contract which is similar but different?  This issue will come up again, so we should decide now how to handle it.

Personally, although changing the existing contract is preferable to me in most respects I think we are stuck with writing a new one, because of the backward compatability issue.  But that's just my opinion.

Collapse
Posted by Hamilton Chua on

Hello,

I have far less field experience with OpenACS in general (specially in the ecommerce module) compared to you two so I might not be the best person to help decide.

Nevertheless, I have done some research on Payflow Link. Please allow me to highlight some points that I have gathered below.

  • Payflow link is much cheaper compared to PayflowPro. Depending on the options enumerated below, you may not need to get SSL.
  • It's ideal for websites who do not want to go through the trouble of developing an order form and storing payment information.
  • Payflow link allows the storefront to either have its (1) own order form or (2) utilize the order form provided by verisign.
  • Option (1) is as close as you get to PayflowPro (at least in the way it works now in ecommerce) because the storefront will have to gather billing and payment information and then http post it to verisign. The verisign payflowlink website will process the information and can be configured to post back results to the storefront. This option is more expensive because in addition to payflow link you will need to acquire SSL as the store front gathers payment information and posts it to verisign.
  • Option (2) is where the order form is hosted at Verisign's servers. The customer upon clicking checkout will be redirected to Verisign's website where he/she will continue the checkout process by filling up the order form. The order form can be configured to post back information to the storefront to confirm an order. The information being posted back is customizable, you can choose which information will be posted back to your storefront. The order form's look and feel is also customizable.This option may be the cheaper option because if you decide that you don't need the payment (credit card) information posted back to your storefront, you may not need to get SSL.

Some thoughts :

If an ecommerce site opts to go with option 1 of Payflow Link, then it might just be a minor modification to the existing payflow pro service contract.

If an ecommerce site opts to go with option 2, then I beleive we would not only need to create a separate service contract for Payflow Link but also modify/add checkout pages specifically for payflow link.

Regards and Enjoy the Weekend.

Collapse
Posted by Don Baccus on
This option is more expensive because in addition to payflow link you will need to acquire SSL as the store front gathers payment information and posts it to verisign.
OpenSSL is free, though ...

Other than that your analysis looks good. I think for the standard toolkit option 1 makes the most sense. Option 2 seems less attractive for the standard toolkit though it could be attractive for individual site builders.

Collapse
Posted by Janine Ohmer on
OpenSSL is free, but a secure certificate isn't.  And Thawte is raising their prices now that they are Verisign company - is anyone surprised? That said, I think it's a manageble expense.  We want to make things low-cost, but folks can't expect to do e-commerce for free.

Hamilton, can you describe how you would modify the service contract for Option 1?  I don't think it's such a small change but I'd like to hear what you have in mind;  I might be overlooking something.

Collapse
Posted by Sanjeev Sharma on
Is anyone actually doing this?

If clients are asking for this as their preferred solution, you may counsel that it takes the wrong approach.

Recurring billing will not work this way at all (unless Verisign has an option there to let the customer specify recurrent billing)

Every 'good design for ecommerce' analysis[1] I've read  says to keep the credit card number somewhere so the next time the customer does not have to type it in again (the Amazon standard behaviour).

[1] and my own usually skeptical 'experts, ha!' reaction is not TOO bad on this point

Collapse
Posted by Jun Yamog on
Hi Ham,

Why not just use a non-ecommerce package for Option 2?  Just a catalog product maker.  Much like a specilized CMS.

I guess maybe in the future when ecommerce is more broken into parts like... product catalog, shopping cart and checkout, order tracker then I guess using just the product catalog and order tracker will be ok for Payflow link Option 2.

Anyway see you tomorrow.

Collapse
Posted by Hamilton Chua on
OpenSSL is free, though ...

Hi Don,

Sorry, about that I really meant the site certificate when I wrote SSL back there.

If clients are asking for this as their preferred solution, you may counsel that it takes the wrong approach.

Hi Sanjeev,

I am very inclined to agree. The payment gateway for the ecommerce module works beautifully the way it is. However, I beleive it boils down to "security vs. cost vs. customer convenience". Sometimes trying to strike a balance between the three can be a nightmare for us developers. Nevertheless, experience tells me that this is what forces us to push the envelope a little further. Who knows, maybe after all this discussion, we may come up with a good way to integrate payflowlink as an alternative payment gateway for the ecommerce module without sacrificing customer convenience.

.... can you describe how you would modify the service contract for Option 1?

Hi Janine,

After consulting with colleagues in the office and after I finished reading the payflow link user guide in detail. I have realized that a service contract for PayflowLink is overkill. At this point I am studying the code for the checkout process in the ecommerce module, I believe the key to getting payflowlink to work with ecommerce is there. I can send you the user guide in pdf via email if you'd like to take a look, I'm sure you'll come to the same conclusion after reading it. I will also be honored to send you and Bart the additions/modifications I make.

Hi Jun,

I believe I may already have the answer. Will discuss it with you tomorrow.

Best Regards,

Collapse
Posted by Janine Ohmer on
I don't have time to read their docs right now, but if you'd like to run your design by me please feel free.  (mailto:janine@furfly.net)  I won't volunteer on Bart's behalf but of course his advice would be valuable as well.
Collapse
Posted by Bart Teeuwisse on
Hamilton,

now that I have taken a closer look at the Payflow Link documentation, I'm afraid that the ecommerce module is a poor fit for Payflow Link.

The ecommerce module handles financial transactions in 2 stages: an authorization step and a capture step. Authorization is obtained when the customer submits the order. Items that require shipping will not be captured untill those goods are shipped. Soft goods like course registration or software will be captured immediately after authorization has been obtained.

Payflow Link on the other hand authorizes and captures financial transactions in 1 step. You should consider the following use cases in your design:

- Should items be out of stock can the ecommerce administrator refund the customer from the ecommerce admin pages? Or can refunds only be given from the Payflow Link administration site?

- Fulfilling orders from the ecommerce admin pages relies on the 2 step process, you will have to modify this process to accept the 1 step Payflow Link transactions.

- Be sure to pass the customer information collected by Payflow Link to the ecommerce package. The ecommerce checkout process that you bypass with Payflow Link collects shipping and billing information that is later used when fulfilling orders.

I also urge to take a look at Authorize.net as this might be very price competative. Yes, you have to get a SSL certificate but that should cost more than $100/year. The monthly fees for Authorize.net are very modest. They can be as low as $10/month depending on the reseller. Transaction fees are around $0.30/transaction, which -with competative discount rates- can be cheaper than competing discount rates.

I'm not convinced that the low price of Payflow Link outweights the work required to modify the ecommerce package to work with Payflow Link. After all, the ecommerce package already offers merchants a turn-key ecommerce solution, including a shopping cart, order fulfilling and billing. All that the ecommerce package requires is a payment processing service to send the billing information to. With the ecommerce package there is no need to use the Payflow Link checkout pages instead.

Have you tried the ecommerce package with a Payflow Pro test account? You'll notice how no programming experience is required to set up a store once Payflow Pro has been installed.

I'd have to agree with Jun that a shopping cart (not just a product catalog as Payflow Link can only handle the total order amount) would be a better fit for Payflow Link.

Feel free to contact me directly if you have any questions. You can reach my by e-mail or on the OpenACS IRC channel.

/Bart

Collapse
Posted by Broken Arrow on
guys, am new to eCommerce & in a deep trouble with payFlow Pro! Please help me.

got PayFlow Pro but not sure how to use it from my static HTML site! my site has the form to collect all necessary user data & cc info, now i want PayFlow Pro to make the transaction & report back landing on a pege of mine.

please help guyse...