views:

46

answers:

2

The payments we gather on our website are for online subscriptions and registrations for conferences. In both cases, we want to gather absolutely all information other than the payment information ourselves, and ideally pass some of it on to PayPal (so users don't have to fill in name, address, etc. twice).

I know there are solutions where the information is gathered by the server itself and then redirected to PayPal via a web services call but that's not an option, unfortunately. All secure payment information gathered has to happen off-server due to network policy.

In addition, not every form will need to be processed using PayPal. Some people will be paying via check, etc. so they shouldn't be sent to a payment page at all. Most solutions I've looked at have a "Pay with Paypal" button, so I assume a form post is necessary to go to the PayPal site, but ideally we'd want to get there via a 302 redirect. Is that at all possible? (I'm aware we could do something like a form that was auto-submitted by JavaScript but I'd prefer to not go down that route).

Whichever system we implemented would need to handle recurring (periodic) payments also.

+1  A: 

Paypal has something called Payflow Pro. They bought it from VeriSign a few years ago.

You can use it to do a full integration with the paypal api. So that the user enters their payment details on your site, and your backend code submits the transaction to paypal's servers. Paypal will then give you a transaction id back. Keep the transaction ID, chuck everything else (like the card number) out the window.

We have several clients that use Payflow Pro. It's very good and easy to use api.

Chris Lively
I can't gather *any* of the payment information on the server. It would all have to happen via Paypal. I've added some bolding to the question to highlight this.
Jordan Reiter
A: 

I'm not entirely sure I understand the full scope of your question, but I think I do. I've coded a number these conf. registrations (though I have not interfaced with PayPal...rather iTransact and Plug'NPay) and in my applications, I had to read through the API documentation for the system being used (PayPal in this case). Then I logged into the payment gateway and usually they have an html form generator. All this does, of course, is returns an html form with the fields labeled appropriate to their API (so the billing name and address carry over from your system to PayPal's and the user doesn't have to re-enter their information), shows you what hidden fields you'll need(like cutomer_id, etc) and the form POST path.

Then what I do is I have the user register, preview their order details on another page (where you can choose to drop their info into a DB or wait until AFTER their credit card is processed) and then upon confirmation, they go to PayPal, pay with either credit card OR check (the options always exist) and when they hit confirm, the passback URL you put into a hidden var somewhere, takes you to a custom Thank You page (and hopefully processing script to capture successful transactions) which can be hosted anywhere on your servers.

It's pretty simple, just a bit labor intensive at first as you try and figure out the new form variables specific to a payment gateway API.

Hope this helped!

Lynn
Yeah, thanks, I'm aware of the steps involved. It's just from reading the Paypal documentation it really isn't clear which of the many systems (Website Payments Standard/Pro, PayFlow Pro, etc.) actually does this exactly.
Jordan Reiter
I'm just not sure what you mean by this part then: "All secure payment information gathered has to happen off-server due to network policy." We grab all the registration info (like for sessions or classes the user's chosen and the total cost of the things they've chosen) and stuff it into our DB. And we send an email with the same details to our client whenever a new registration happens. Naturally we don't save credit card info though.PayPal will doubtless provide transaction reporting on their end. I'm stumped by the off-server part. How else can you even serve the form?
Lynn
The misunderstanding here is probably because as you said you haven't used PayPal. PayPal has something many different ways of processing web payments -- Payflow Link, Payflow Pro, Website Payments Standard, Website Payments Pro -- and I'm not sure *which one* is best suited to my needs.
Jordan Reiter
gotcha! good to know then! I'll leave this thread alone since this is a payment gateway that seems to behave much differently than the others. Best of luck.
Lynn