close ad
Databridge V2 with MySQLi support IS Now Available!
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Migrating to PayPal Express or Dual Gateway with Authorize.Net

Thread began 11/25/2009 12:26 pm by Kevin373660 | Last modified 12/09/2009 11:55 pm by Eric Mittman | 3106 views | 11 replies |

Kevin373660

Migrating to PayPal Express or Dual Gateway with Authorize.Net

I have setup my eCart 4.5.2 Wizard (php, MySQL) and related pages to process payments remotely through our Authorize.Net account. Now I need to switch to PayPal for remote processing which would allow customers to select their preferred method of payment either through their credit card or PayPal accounts. I have proceeded to get the PayPal Standard account setup which from my understanding is compatible for remote processing with eCart. I believe that the PayPal Express will not facilitate credit card processing.

This is with a dynamic data base, and integrated shipping with UPS. At the moment billing and shipping address information is collected on the Checkout.php page to facilitate shipping and country/state tax rates and the tables are updated as soon as the customer moves ahead to the Confirm page. We will be handling shipping and tax calc and do not need to forward this information to PayPal. I believe that we do not need to collect the billing information as that is payment method specific and can be collected by PayPal.

At the end of the successful payment process we need to update the tables if payment is successful and send the customer (using Universal Email) an acknowledgment/receipt with order details and activation codes for some items.

As support knows, a lot of work has already gone into getting everything working up to the Confirm.php page. Do I have to run the Wizard again? Or can I simply add the PayPal payment process and disable/remove the Authorize.Net payment code?

Please, please post back with direction on how to proceed and still meet the project objectives. Thank you.

Sign in to reply to this post

Eric Mittman

It seems that you are hoping to implement Payments Standard instead of the Express Checkout option for PayPay to handle credit card processing. This is not necessary as the Express Checkout option will allow your user to pay with credit card or any other PayPal payment method. There are many advantages to using the Express Checkout over Payments Standard, the biggest is that the checkout is a local one and you will know the status of the transaction at the time it is placed.

Using Payments Standard is much harder to work with to get a positive end result and requires a bit of customization to get it working properly with an IPN response. Unless you have no choice in the matter I would suggest that you choose Express Checkout over Payments Standard.

It is very easy to integrate with the Authorize.NET as you can just enable the option from within the wizard to include the Express Checkout. You just need to ensure that you are signed up for the service with PayPal correctly and use the credentials that they provide for you.

Sign in to reply to this post

Kevin373660

We are set up for remote processing, not local. Yes, I want users to be able to process with credit cards and PayPal. I got the PayPal Standard account setup on Friday.

Prior to last week we were going to use Authorize.Net and with help from you and Jason we had everything in place and working upto and including the confirm page which updates the db. Now we need to use PayPal and have a way to acknoledge successful payment and send the email with the access codes.

Please pass this thread over to Ray or Jason, they have had similar threads and I am sure that they will know how I can implement this. Even if I have to just run the Wizard again. I must have the payment process running this week.

Sign in to reply to this post

Eric Mittman

Thanks for filling me in on this info. You can generate a set of pages to work with PayPal standard using the checkout wizard, you would just need to ensure that you enter your credentials in here.

The tricky part about using Payments Standard is how you handle the response from PayPal. You will not get a response at the time that the user submits the transaction, instead you will get a response sent via the IPN post that occurs. You will need to enable the IPN and specify the page for it to post to in your profile.

To get Payments Standard implemented so that you can send the email when a transaction is successful you will need to have an IPN page in place. On this page you will need to do all of the proper checking for the transaction then you can update the order in your db and set it to successful and send out an email receipt.

PayPal has some great tools for creating the IPN pages in the developer center. You can have it post test responses to your IPN page to make sure that it is working correctly.

Sign in to reply to this post

Kevin373660

Thank you Eric. Yesterday, I was working with UPS senior tech to complete our shipping integration. It is a nice solution (paperless), connects dynamically with our data base and also allows customers to track shipment progress from our website. Today I will run the Wizard again, and follow your sugestions and post back as needed. I realy need your help and I appreciate it very much.

Sign in to reply to this post

Eric Mittman

The shipping integration sounds pretty slick. Let us know if you have any problems or if you have any questions after running the wizard.

Sign in to reply to this post

Kevin373660

Hi Eric, The Wizard ran fine. I have all pages working and tested upto and including the confirm page done.

I am like totally stuck on creating the IPN listener page. If I can get past this, I think I can figure out the redirect, db updates and confirm email. At the PayPal Developer area I did find two IPN listener code samples (c/w recomended email confirmation method ???? e_howto_admin_IPNImplementation )(IPN_PHP_41.txt). I take it that this listens for a reply, acknowledges received, set values for variables returned. Additional values can be added and I found the link to that page (e_howto_html_IPNandPDTVariables).

I cannot find the thread in the forum that is mentioned several times about the procedures for this. I can add the server behavior Get Contents From Form eCart ->add to cart->add to cart from form, and choose Trigger: Valide Paypal Transaction, Cart: mycartname, Payment Gateway: "PayPal IPN Cart" as the form type.

However, I don’t know how to put these two elements together to complete my IPN. Does anyone know the old forum post or can explain what should do? Your assistance is appreciated.

Sign in to reply to this post

Eric Mittman

There is nothing needed by you to get the add to cart from form working on the IPN page. When you put this server behavior on the page it will start out by checking the PayPal transaction to ensure that it is valid. Next it will loop through the posted values to repopulate the cart based on this posted info.

Once that is complete this IPN page will have access to the cart with the items in it that the user purchased. You can then add in a Universal Email server behavior to this page. In the body of the message you will insert a new cart display manager, from the display manager interface you will choose the email friendly cart display. For the UE server behavior you can trigger on any form post but you will need to make sure that you have the UE server behavior on the page after the 'get contents from form' server behavior since it relies on the cart being populated to send the email correctly.

Since this page is never visited directly by the user what will happen after a transaction is that PayPal will send a response to your IPN page. This response will then be evaluated by the 'get contents from form' server behavior which will repopulate the cart. Then the UE server behavior occurs and sends the user an email with the receipt info.

You may also want to add in an update server behavior to ensure that the status of the order in the db is updated to be successful.

Sign in to reply to this post

Kevin373660

I am not a 100% sure that I have constructed the paypal IPN page correctly (attached). I have been trying a number of combinations and reading everything I can to get this payment process completed.

To get the variables for the UE mail receipt I had to first add a cart display to the page. I don't think that it should be displayed on the IPN page? I did add the email version of the cart display in the body of the UE mail.

I believe that the eCart Data Manipulation server behaviors are to insert and not for updating a record. So to update the db I used DataAssist Update-Single Record Update, trigger: from any post, with the key column as the OrderReferenceID and the value from the pp post "invoice" form value. Durring the previous steps I had set the OrderReferenceID to the cart sessionID and it is created and stored in the tb on the confirm page. I am not sure how to confirm that it is being passed to pp as the "invoice" variable. My orderdetail table links with the record OrderID from the order table.

Please take a look and advise if I am close and what I need to correct so that we can start processing orders. P&T

Sign in to reply to this post

Eric Mittman

From what I can tell the IPN page seems ok to me, you do not need a cart display on the page though, you can just have the one in the email receipt body. Also, you do not need any redirects occurring on this page.

If you are not getting the records to update then the value may be missing for the invoice or it does not hold the session_id value like it should. This variable should be set on your page that is just before the user goes to PayPal. On this page you should have the invoice form field and it should be set to the same value you are using in your store order summary server behavior to store the id.

You can do some additional testing of your page in the state it is now in by logging into the PayPal developer center and going to Test Tools > IPN Simulator. In here you can configure the details of a test transaction including the invoice value. You can use one from an existing record in your table. This type of test should let you know if your IPN page is working properly with the values you are using. If it is then you just need to make sure that the id value you are using is being sent in the invoice element properly.

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...