Testing Credit Card Transactions In Payflow Pro (Thanks Dan Vega!)

Posted January 16, 2008 at 2:26 PM by Ben Nadel

Tags: ColdFusion

This week, I've been testing the shopping cart and checkout of an eCommerce site that uses Payflow Pro. In order to test credit card transactions, I was using the URL that is right in the LIVE documentation (downloaded last week, prior to testing):

To test your application, direct all transactions to pilot-payflowpro.paypal.com. Transactions directed to this URL are processed through PayPal's simulated payment network, enabling you to test the configuration and operation of your application or storefront -- no money changes hands. (You must activate your account and configure your application for live transactions before accepting real orders.)

After setting up the proper certificate paths and this URL, I went about testing. Immediately, my Payflow Pro requests were timing out and returning this error:

-12 - Timeout waiting for response

The curious thing was that the tag seemed to be completely ignoring the timeout attribute of the CFX tag. We have our requests set to timeout after 45 seconds. The current requests, however, were timing out in 3, maybe 4 seconds. Clearly something was wrong.

No matter what I did, I couldn't fix this. After doing a good deal of Googling, I finally came across a Payflow Pro post by Dan Vega. Although the post was over a year old, I got in contact with him (when it comes to Payflow Pro, Dan is kind of a big deal). Dan suggested that the test URL was wrong. Instead of using:

pilot-payflowpro.paypal.com

... I should try using:

test-payflow.verisign.com

I popped that baby in there, and blam! Things started working. It's so frustrating when the documentation is wrong (at least, that's what I think is going on).

Anyway, a big thanks to Dan Vega!



Reader Comments

Jan 16, 2008 at 5:05 PM // reply »
45 Comments

No problem at all, glad you got it working! Are you using there new endpoint? It is really easy to use, a quick cfhttp call with a few paramters and your up and going, no more cfx! :)


Jan 16, 2008 at 5:12 PM // reply »
10,640 Comments

@Dan,

Yeah, I'd love to be on the CFHttp end. Kind of came into this project late. Next time!


Jan 18, 2008 at 10:45 PM // reply »
5 Comments

Ben,

I've been developing a shopping cart for processing UK transactions via Paypal and it is really frustrating. You have to usually send a support ticket. The response errors are usually wrong and the URLs are different for the UK and the US. The UK url is pilot-payflowpro.verisign.com and in some documentation you see pilot-payflowpro.verisign.com/transaction, the documentation says the one with the transaction but it is incorrect, it took me a week to get some help from their support to get this right!

I really think that they should do something about this.


Jan 20, 2008 at 9:59 AM // reply »
10,640 Comments

@Donnie,

Absolutely. There's got to be something wrong when the documentation is not telling you where URLs can be used or how they are used properly. Especially when the documentation is so many pages. I should be able to jump down to "Testing Credit Card Transactions" and have the relevant data. Who knows, maybe there was important information in the other parts of the document, but the necessary info should be in the testing section.


Apr 24, 2009 at 4:09 PM // reply »
1 Comments

pilot-payflowpro.paypal.com for testing with cfhttp is working now. And Payflow Pro guide is https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_PayflowPro_Guide.pdf


May 20, 2009 at 3:02 PM // reply »
1 Comments

The problem orginally is there are two versions of the Payflow service, what we call v3 and v4 - payflowpro.paypal.com is v4 and payflow.verisign.com is v3.

All v3 SDK/Integrations use the v3 host urls and v4 SDKs using the v4 host urls.

The original CF tag was written for v3 and such did not work with newer service.

More information can be found on the Payflow Developer Forums at http://developer.paypal-portal.com/pdn/board?board.id=payflow.

Also, all v3 SDK/Integrations are deprecated now and no longer supported. All users should migrate to v4.


May 20, 2009 at 10:41 PM // reply »
10,640 Comments

@Todd,

Thanks for the updated information. I'll be sure to keep this in mind as a reference.


Jul 30, 2009 at 12:01 PM // reply »
1 Comments

the link "pilot-payflowpro.paypal.com " is the one which should be working , as from Sept1 verisign will be void, and all transactions will be with the new url .

but i am still wondering why my page directions go to sandbox.paypal.com


Aug 5, 2009 at 10:08 AM // reply »
10,640 Comments

@Deepak,

Ah, thanks for the cut-off date.


Aug 26, 2009 at 11:43 AM // reply »
6 Comments

Just the heads up. On Sept 1st 2009 the method used by Dan Vega and commented by Ben will be deprecated and it will stop working.

The cutoff date will deprecate the CFX custom tag.
See: https://www.paypal.com/gatewayupdate

Ryan Stille has kindly provided an almost drop in replacement custom tag that uses standard CF tags.

http://cf_payflowpro.riaforge.org/

http://www.stillnetstudios.com/cfx_payflowpro-drop-in-replacement/


Jan 29, 2010 at 1:03 PM // reply »
4 Comments

hi all,

i am using Virtuemart 1.1.4 Stable version....having loads of problem while setting Paypal Payflow Prow as payment gateway (there in payment gateway its mention as Verisign flow Pro).....

first i open a test account in Paypal(manager.paypal.com) and got all the credential and used that in Payflow Pro setup in Virtue-mart.....but i am not being able to make transaction using this setup, although i can easily logon manager.paypal.com using same credential.

i have gone thru all the forums and sites suggested by Google however my problem remains same

this is the error i am getting all the time while making final checkout:
-----------------------------------------------------------------------
Error: User authentication failed. Error is caused by one or more of the following: a) Login information is incorrect. Verify that USER, VENDOR, PARTNER, and PASSWORD have been entered correctly,
b) Invalid Processor information entered. Contact merchant bank to verify.
c) Allowed IP Address" security feature implemented. The transaction is coming from an unknown IP address. See PayPal Manager online help for details on how to use Manager to update the allowed IP addresses.
c) You are using a test (not active) account to submit a transaction to the live PayPal servers. Change the URL from test-payflow.paypal.com to payflow.paypal.com.
Error: Failure in Processing the Payment (payflow_pro)
-------------------------------------------------------------------------


Jan 29, 2010 at 2:14 PM // reply »
6 Comments

1) Check URL. If your account is test mode then use: test-payflow.paypal.com

2) Make sure that you are using PayPal as partner and not Verisign. Careful is case sensitive.


Jan 29, 2010 at 2:36 PM // reply »
4 Comments

hi EstebanD, thanx for ur reply.

i have changed my file and pass that url(test) now i am getting this error:
----------------------------
Error: Couldn't resolve host 'test-payflow.paypal.com'
Error: The transaction could not be completed.
Error: Failure in Processing the Payment (payflow_pro)
----------------------------
even i tried by changing test url as:
pilot-payflowpro.paypal.com

however it gives earlier error.

please suggest :(


Jan 29, 2010 at 2:44 PM // reply »
6 Comments

try using this URl : pilot-payflowpro.paypal.com


Jan 29, 2010 at 2:55 PM // reply »
4 Comments

i already tried this....it gives this error:
---------------------------------------
Error: User authentication failed. Error is caused by one or more of the following: a) Login information is incorrect. Verify that USER, VENDOR, PARTNER, and PASSWORD have been entered correctly,
b) Invalid Processor information entered. Contact merchant bank to verify.
c) Allowed IP Address" security feature implemented. The transaction is coming from an unknown IP address. See PayPal Manager online help for details on how to use Manager to update the allowed IP addresses.
c) You are using a test (not active) account to submit a transaction to the live PayPal servers. Change the URL from test-payflow.paypal.com to payflow.paypal.com.
Error: Failure in Processing the Payment (payflow_pro)


Jan 29, 2010 at 3:11 PM // reply »
6 Comments

1) I assume you made sure on the manager that your account is set as DEMO.

2) Check Allowed IP Addresses is not filtering.( Set on the manager site)

3) Check:
Partner: Paypal
Vendor: <userName used for manager>
Username:
(If you have not set up additional users on the account, USER must have the same value as VENDOR)
Password:<userName used for manager or as the USER setup for this purpose>

Good luck!


Jan 29, 2010 at 9:20 PM // reply »
4 Comments

its showing as 'test acccount'-
"Status: Your account is currently in TEST status. You can run only test transactions."

and i can assure you that i have been able to login in manager.paypal.com by using my credential .
---------------------------------
EstebanD, this is my manager.paypal.com credential-
Vender: PayPal
Merchant Login: chisohawa
User: <no user>
Password: Payment@1982
---------------------------------

and this is what i am entering in my control panel:
---------------------------------
VeriSign processing Partner ID: PayPal
Merchant Login / Vendor Name: chisohawa
User Name: chisohawa
Password: <used my manager login password and my control panel password>
---------------------------------

please please go thru this, i am not being able to find any fault on this.

or please send me your email id, this is mine -chisohawa@live.com, this will help me to contact you in frequent basis.


Feb 16, 2010 at 7:48 PM // reply »
1 Comments

I'm also having issues with this tag. It seems to work fine in non test mode, but using either URL fails to either connect, or return a response.

I'm getting '#result.result#' is undefined, where that is usually the response code.

Do I need to create a 'test' account to user their testing server, or do i use my same credentials?


May 6, 2010 at 10:09 AM // reply »
1 Comments

Hi. I need help in making my decision. I'm working as a tester currently in an investment banking, right now on some compliance projects. My boss gave me 2 projects to choose from this coming June which are:

1. DMA/FIX Testing - i was informed that this offers a great career path since there are only few testers in the world - bigger pay in the future as well - they say. THe knowledge that I will gain here cannot be learned through self study - unlike item 2 (see below).

2. Ad hoc Testing - the project here requires overseas training, to Sydney, for 2 months and it has been my dream to really go there! The specifics of the project are quite interesting - credit card application, online banking, accounts management, etc.

Any comments on the options I have? Thanks much!


May 6, 2010 at 9:34 PM // reply »
10,640 Comments

@KX,

I don't know enough about that kind of testing to give you any solid advice. Both sound challenging and interesting. Is this all part of PCI compliance stuff?


Sep 28, 2010 at 1:10 AM // reply »
1 Comments

Ben Nadel try this.. i guess it will work..pilot-payflowpro.paypal.com


Nov 22, 2011 at 9:35 PM // reply »
1 Comments

hi every one im having a problem with payflow pro and orbitalpay gateway making them work together in virtuemart

Error: couldn't connect to host
Error: The transaction could not be completed.
Error: Failure in Processing the Payment (payflow_pro)

please help me asap


Nov 22, 2011 at 11:14 PM // reply »
6 Comments

@Sami,

do the basic debugging of the cfhttp response because it seems that your server is not connecting to their server.


Nov 28, 2011 at 12:33 PM // reply »
1 Comments

Error: Couldn't resolve host 'https'
Error: The transaction could not be completed.
Error: Failure in Processing the Payment (payflow_pro)

im getting this error, my payment gateway company is orbitalpay.gettrx.com can anyone tell me what im doing wrong help asap please



Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Feb 12, 2012 at 3:37 AM
Learning ColdFusion 8: CFImage Part III - Watermarks And Transparency
Hi Ben, Just to ask currently it is placed bottom right corner, if i need to replace the same rendered image on the bottom left side or in the bottom center, how that can be calculated. bottom ce ... read »
Feb 11, 2012 at 9:29 PM
Use jQuery's SlideDown() With Fixed-Width Elements To Prevent Jumping
I can't say how glad I am that I found your post. Thank you very much. ... read »
Feb 10, 2012 at 7:21 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
Update! Instead of $(eval(options.insertAfter)).after(data['insertData']); I now use: var ajaxNode = document.createElement('span'); var parent = $(eval(options.insertAfter))[0].parentNode; ... read »
Feb 10, 2012 at 6:18 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
encountered this same, what I consider, jQuery bug last week. I'm building a site in which I load some content via AJAX. This content contains Linkedin share button placeholders which Linkedin API ne ... read »
Feb 10, 2012 at 11:30 AM
Cross-Origin Resource Sharing (CORS) AJAX Requests Between jQuery And Node.js
After you understand the concepts here, this is an awesome cheatsheet for enabling CORS in just about anything http://enable-cors.org/ ... read »
JM
Feb 10, 2012 at 9:10 AM
My Safari Browser SQLite Database Hello World Example
@Amy, Here is a very good tutorial on how to use JOIN: http://www.sqltutorial.org/sqljoin-innerjoin.aspx ... read »
Feb 10, 2012 at 4:42 AM
Building A Twitter-Inspired RESTful API Architecture In ColdFusion
This is great, very useful Ben. I spotted a small typo in the api.cgm listing: <cfthrow type="Unauthroized" /> Cheers Stefan ... read »
Feb 9, 2012 at 10:35 PM
CFDirectory Filtering Uses Pipe Character For Multiple Filters (Thanks Steve Withington)
I was wondering if there would be a filter you could apply so that you got everything but what you included in the filter. As in show me all docs that are not a .pdf. ... read »