Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

Paylfow Prow Module woes...


Recommended Posts

I'm seeing this error when I attempt to process cards using the PayFlow Pro module:


Fatal error:  pfpro_process() array values must be strings, ints or floats in /hsphere/local/home/diskolog/diskology.com/catalog/includes/modules/payment/payflowpro.php on line 198


What is the deal?

Link to comment
Share on other sites

Here's the code the error is referencing, I can't see what the problem is? Anyone have any ideas?

function before_process() {
     global $HTTP_POST_VARS,$order;
     //include(DIR_WS_FUNCTIONS . 'php_pfpro.php');
     $transaction = array(USER   => trim(MODULE_PAYMENT_PAYFLOWPRO_USER),
                    PWD        => trim(MODULE_PAYMENT_PAYFLOWPRO_PWD),
                    TRXTYPE    => trim(MODULE_PAYMENT_PAYFLOWPRO_TRXTYPE),
                    TENDER     => trim(MODULE_PAYMENT_PAYFLOWPRO_TENDER),
                    AMT        => $HTTP_POST_VARS['AMT'],
                    ACCT       => $HTTP_POST_VARS['cc_number'],
                    EXPDATE    => $HTTP_POST_VARS['cc_expires'],
                    FREIGHTAMT    => $HTTP_POST_VARS['FREIGHTAMT'],
                    TAXAMT    => $HTTP_POST_VARS['TAXAMT'],
                    FIRSTNAME    => $HTTP_POST_VARS['FIRSTNAME'],
                    LASTNAME    => $HTTP_POST_VARS['LASTNAME'],
                    STREET    => $HTTP_POST_VARS['STREET'],
                    CITY    => $HTTP_POST_VARS['CITY'],
                    STATE    => $HTTP_POST_VARS['STATE'],
                    ZIP    => $HTTP_POST_VARS['ZIP'],
                    COUNTRY    => $HTTP_POST_VARS['COUNTRY'],
                    EMAIL    => $HTTP_POST_VARS['EMAIL'],
                    SHIPTOCITY    => $HTTP_POST_VARS['SHIPTOCITY'],
                    SHIPTOSTATE    => $HTTP_POST_VARS['SHIPTOSTATE'],
                    SHIPTOZIP    => $HTTP_POST_VARS['SHIPTOZIP'],
                    CSC        => $HTTP_POST_VARS['CSC']

       $response = pfpro_process($transaction);
       if (!$response||$response[RESULT]!=0) {
               tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(MODULE_PAYMENT_PAYFLOWPRO_TEXT_ERROR.' '.$response[RESPMSG]), 'SSL', true, false));


Link to comment
Share on other sites

Here are all the hidden fields before I click Confirm Order:


<form name="checkout_confirmation" action="https://diskology.com/catalog/checkout_process.php?osCsid=12f2d5594599e5a9a836a3f843107bcd" method="post"><input type="hidden" name="cc_expires" value="012004"><input type="hidden" name="cc_type" value="Visa"><input type="hidden" name="cc_number" value="4111111111111111"><input type="hidden" name="AMT" value="328.07"><input type="hidden" name="FREIGHTAMT" value="7.39"><input type="hidden" name="TAXAMT" value="21.68"><input type="hidden" name="FIRSTNAME" value="Jim"><input type="hidden" name="LASTNAME" value="Removed"><input type="hidden" name="STREET" value="Removed"><input type="hidden" name="CITY" value="Removed"><input type="hidden" name="STATE" value="California"><input type="hidden" name="ZIP" value="95603"><input type="hidden" name="COUNTRY" value="United States"><input type="hidden" name="EMAIL" value="[email protected]"><input type="hidden" name="SHIPTOFIRSTNAME" value="Jim"><input type="hidden" name="SHIPTOLASTNAME" value="removed"><input type="hidden" name="SHIPTOSTREET" value="removed"><input type="hidden" name="SHIPTOCITY" value="removed"><input type="hidden" name="SHIPTOSTATE" value="California"><input type="hidden" name="SHIPTOZIP" value="95603"><input type="hidden" name="osCsid" value="12f2d5594599e5a9a836a3f843107bcd"><input type="image" src="includes/languages/english/images/buttons/button_confirm_order.gif" border="0" alt="Confirm Order" title=" Confirm Order "></form>



Link to comment
Share on other sites

OK... is anyone sing the Payflow Pro module that actually has it working?


Please help... this is the only thing that is holding us back form going live.

Link to comment
Share on other sites

  • 2 weeks later...



I got it to work. I ended up using a combination of a php_pfpro.php in the functions folder (from the Payflow Pro/Link contribution http://www.oscommerce.com/community/contributions,167 ) , and the latest payflowpro.php in the includes/modules/payments folder. I then defined the environmental variables for the PFPRO_CERT_PATH MyComputer>Advanced>System Environmental Variables....


I commented out the pfpro_init() like this in payflowpro.php


include(DIR_WS_FUNCTIONS . 'php_pfpro.php');


Then I rebooted. This was key for the Environmental variables to take place.


Finally, Payflow works with PHP on a Windows 2000 Server!

Link to comment
Share on other sites

OK...  is anyone sing the Payflow Pro module that actually has it working?


Please help...  this is the only thing that is holding us back form going live.

We got it working.


I don't recall seeing that error, though.


You need to make sure that you have the Payflow support compiled into your PHP, and that all the Payflow environment variables (PFPRO_CERT_PATH, etc.) are set correctly for it to work.

Link to comment
Share on other sites

  • 4 weeks later...

Hi Scott, I noticed that you got payflow pro going on a Windows Server...as I'm still having issues with it, I was wondering if you'd give me some insight on how you got it to work? (Or anyone else for that matter!)


We use IIS5.0/W2K Server and I tried setting up the Payflow Pro module, but everytime I get the dreaded "Credit Card Error!" message when attempting to process a payment. I've tried every payflow pro contribution out there


I think my main issue is the pathing...the library, certificate, and executable paths. I don't really know what to enter here. Our Payflow program is at the default c:\verisign\payflowpro\win32\bin path (and the others in the certs & lib paths). I even tried copying the entire directory to our web server, but it didn't make any difference.


With Windows, I can't really recompile PHP 4.3.4 w/ Payflow can I? I tested payflow pro w/ the test.bat file in DOS and it works fine there and in another web app.



Can anyone help me?

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...