Hi, I'm trying to get payflow pro working on my server (unfortunately a client took it upon themselves to get their gateway).
I am on a freebsd box and I am having all sorts of problems getting this working. Either as an extension (pfpro.so) or just exec() externally. I've read that Verisign stopped distributing a FreeBSD of their SDK... which seems true since it is not offered on their site. So... first I downloaded the BSDi SDK. I thought I might be able to hack it up a bit... no such luck, as a module or just scripting to it. So, if all else fails go for the linux dist. I downloaded, gunziped, and proceeded to make a php extension. ./configure --with-pfpro=shared,/usr/local/verisign/payflowpro/linux Compiles fine... creates pfpro.so. I copy pfpro.so and libpfpro.so (which came with the SDK) to /usr/local/lib (this is the lib directory my ini file points to, which is where my other extensions are). i copy pfpro.h to usr/local/include. i add the following to my php script dl('pfpro.so'); It won't load... I get a error stating it cannot find libc.so.6. So I copy over the lib from the linux compat files to /usr/lib (not usr/local/lib). Refresh... apparently it found that, as it is now cannot locate ld-linux.so.2 (i think). Again, I copy this from the compat to /usr/lib. I am expecting an error, but it tells me it still cannot locate it. I do a bunch of steps probably unneccessary just to try everything. I copied this to my /usr/local/lib, i run ldconfig, i do a bunch of stuff to no avail. Can anyone give me some insight on setting payflow pro up on freebsd as a php module? Now, I know it "can" work. I dropped to my shell, ran ..../linux/bin/test.sh. Works... i run ./pfpro as is and it can't find libraries (the test.sh script defines their location). So, I decide I'll try to hack up something exec(pfpro)'ing from the script, despite i am no good at this. i found a snipet of code in the anotated php manual. I could not get it to work. I even exec() the same code that defines the libs in the shell script (test.sh) before exec() the pfpro call. the code is: function pfpro_shell($arFields) { $signio_cmd = "/usr/local/verisign/payflowpro/linux/bin/pfpro test-payflow.verisign.com 443\""; foreach($arFields as $key=>$val) $signio_cmd .= $key . "=". urlencode($val) . "&"; $signio_cmd .= "\""; $signio_result = exec($signio_cmd); parse_str($signio_result,$arResult); if (!isset($arResult["RESULT"])) die ("Exec command failed to return proper result"); return($arResult); } I pass the following array just to test it.... $transaction = array(USER => 'mylogin', PWD => 'mypassword', TRXTYPE => 'S', TENDER => 'C', AMT => 1.50, ACCT => '4111111111111111', EXPDATE => '0904'); pfpro_shell($transaction); It just dies with the error message everytime (Exec command failed to return proper result). It does not pass anything back ($arResult is empty). If I could get the entension working, that would be ideal, but a work around through some shell scripting would suffice. I am not willing to recompile apache again right now, so a static --with-pfpro is not an option. Thanks in advance.