Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at RIA Unleashed (Nov. 2010) with: Bob Silverberg

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

By Ben Nadel on
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

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! :)

Reply to this Comment

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.

Reply to this Comment

@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.

Reply to this Comment

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.

Reply to this Comment

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

Reply to this Comment

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)
-------------------------------------------------------------------------

Reply to this Comment

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.

Reply to this Comment

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 :(

Reply to this Comment

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)

Reply to this Comment

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!

Reply to this Comment

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.

Reply to this Comment

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?

Reply to this Comment

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!

Reply to this Comment

@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?

Reply to this Comment

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

Reply to this Comment

@Sami,

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

Reply to this Comment

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

Reply to this Comment

hey Ben,
I got an error while inserting verisign_payment date generated by payflow-pro,
the date is 01/01/0001 12:00:00 AM which is not accepted by my database SQL..
the exception is sqldatetime overflow,must be between 1/1/1753 to 12/31/9999,
I am using a test account,
plz help.

Reply to this Comment

This has been an informative page. For our project, we would need to integrate with PayPal, and for starters, I am sending test transactions on : https://pilot-payflowpro.paypal.com

This is my request:
TRXTYPE=A&TENDER=C&PWD=<myPassword>&PARTNER=PayPal&VENDOR=<myVendorId>&USER=<myUserId>&ACCT=5555555555554444&EXPDATE=0308&AMT=1.00&INVNUM=123456789&STREET=5199 MAPLE&ZIP=94588

and this is the Response from PayPal:
RESULT=200&PNREF=NULL&RESPMSG=APPROVED&AUTHCODE=NULL&AVSADDR=NULL&AVSZIP=NULL

Please note that I am sending an AMT of USD 1, so Paypal should send me a rejection code, but it tells me that everything is fine (200), and I don't even get an AUTHCODE.

Even if i send a 15 or 15 digit number 1234567890123456, it still give me response code 200.

Am I missing something here? Any pointers? Thanks in advance.

Reply to this Comment

pilot-payflowpro.paypal.com is up and running fine now. The documentation I have shows us using "test" back about the same time period, but switching back to "pilot" for testing in the last year or so.

Reply to this Comment

Post A Comment

You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
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.